![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
![]()
Как правильно удалить строку из tstriglist'a в которой нет определённого слова и оставить строку со словом которое нужно? Такой подход не работает
Код:
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 14.03.2011
Сообщений: 104
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]() Код:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
ну можно и так.
но, мне кажется, что вариант, предложенный Silver_S более простой и понятный (я сам так же всегда поступаю): когда надо перебрать элементы и часть из них удалить, двигаться нужно от конца списка к его началу: Код:
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 13.05.2010
Сообщений: 670
|
![]()
JUDAS спасибо, работает
![]() |
![]() |
![]() |
![]() |
#6 | |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]() Цитата:
Для списка в 10-20 строк оно как бы прокатывает, а для списка в 10000-20000 строк удаление 2-3 строк будет происходить минутами.
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 14.03.2011
Сообщений: 104
|
![]() Цитата:
Последний раз редактировалось Silver_S; 25.09.2011 в 21:59. |
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
![]()
Ну чтож... давайте тогда это сделаем в абсолютно кашерном исполнении =)):
Код:
Помог? Ну так нажми на весы!
![]() |
![]() |
![]() |
![]() |
#9 | |
фонатик DELPHI
Форумчанин
Регистрация: 14.01.2008
Сообщений: 714
|
![]() Цитата:
95% сбоев и ошибок приложений, находится в полу метрах от монитора
![]() |
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
![]()
Эмм...
Поддерживаю Silver_S: для цикла For лишь в начале вычисляются значения начала и конца. А в вашем случаи while i<StringList.Count do вычисляется полностью каждый раз при проходе цикла.
Помог? Ну так нажми на весы!
![]() Последний раз редактировалось SNUPY; 25.09.2011 в 22:26. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск и удаление MISSING | SilverSmallFish | Microsoft Office Excel | 4 | 28.06.2010 14:53 |
Поиск и удаление из TStrings | Shouldercannon | Общие вопросы Delphi | 9 | 27.05.2010 19:47 |
Поиск и удаление битых путей | Shouldercannon | Общие вопросы Delphi | 13 | 15.11.2009 17:37 |
поиск мин., удаление эл-ов массива | Dmitrич | Общие вопросы C/C++ | 2 | 01.06.2009 13:31 |
Поиск и удаление столбцов | mchip | Microsoft Office Excel | 4 | 17.05.2009 18:48 |