![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
![]() |
![]() |
![]() |
![]() |
#13 |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]()
вот еше 1 вариант
Код:
VirusN13
|
![]() |
![]() |
![]() |
#14 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Нет, это не вариант. Если две строки с '0' идут подряд, вторая из них не удалится. Нужен именно while, а не for.
|
![]() |
![]() |
![]() |
#15 |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]()
согласен, косяк! исправлюсь)
VirusN13
|
![]() |
![]() |
![]() |
#16 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
![]()
Странно работает цикл,если в таблице 2000 строк все очень быстро,а если больше очень медленно удаляет.Как ускорить процесс и почему такая проблема вообще не пойму.
|
![]() |
![]() |
![]() |
#17 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Попробуй так:
Код:
|
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 11.12.2010
Сообщений: 71
|
![]()
все работает отлично скорость просто супер 2 секунды ,можно подробно почему такой эффект,нужно все переделать по такому принципу
|
![]() |
![]() |
![]() |
#19 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Процедура GridDeleteRow каждый раз при ее вызове перемещала все данные ниже удаляемой строчки на 1 вверх, да еще и размер уменьшала на 1. Если строчек с "0" была 1000, то последняя строка перезаписывается 1000 раз. А сейчас каждая строчку перемещается всего единажды, а в конце 1 раз меняется размер стрингрида. Считай в (1000)^0.5 = 31 раз быстрее.
GridDeleteRow применима при одиночных удалениях. Последний раз редактировалось Sibedir; 25.12.2010 в 08:23. Причина: c математикой шутки плохи |
![]() |
![]() |
![]() |
#20 | |
DelphiProger
Участник клуба
Регистрация: 14.11.2010
Сообщений: 1,023
|
![]() Цитата:
Код:
VirusN13
|
|
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сравнение строк | Dasharnb777 | Общие вопросы .NET | 5 | 22.09.2010 20:46 |
firebird сравнение | belii0987 | БД в Delphi | 6 | 17.09.2010 14:58 |
сравнение | slavsmo | Microsoft Office Excel | 2 | 05.04.2010 17:51 |
stringgrid,сравнение двух столбцов на совпадения и не совпадения | betirsolt | БД в Delphi | 7 | 19.01.2010 15:09 |
Сравнение данных | White | БД в Delphi | 1 | 09.09.2008 22:32 |