![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Удаление пустых строк из Memo [D7, Win2k]
VitGun © (2004-10-09 21:48:00)Господа я, похоже, туплю.
Загружаю в Memo текстовый файл. Кодировка ANSI. Мне нужно удалить из него пустые строки. Делаю тупой перебор:
for i:=0 to memo.lines.count-1 do
begin
if memo.lines.strings[i]='' then memo.lines.delete(i);
end;
Некоторые строки удаляет, а некоторые остаются, никак не могу понять почему. Поделитесь мыслями - что делать?
X-jedy (2004-10-10 02:30:00) [1]Сам обжигался точно на таком же таске =)
Чава (2004-10-09 22:23:00) [2]VitGun © (09.10.04 22:12) [3]
> Мда...это-то я и упустил из виду
Ну дык:) Это же, можно сказать - стандарт!
VitGun (2004-10-09 22:12:00) [3]//Семен Сорокин ©
Thanx...работает...
//X-jedy
Мда...это-то я и упустил из виду...thanx...
X-jedy (2004-10-09 21:54:00) [4]=)
IMHO при удалении строчки ты перескакиваешь не на следующую, а через одну :
0.)asdf
1.)qwerty
2.)
3.)
4.)zxcvb
Твой алгоритм - идешь на 0-вую строчку, на первую, доходишь до второй, удаляешь, картина становится такой:
0.)asdf
1.)qwerty
2.)
3.)zxcvb
далее по алгоритму i+1, и ты уже на третей, пропустив таким образом пустую строчку.
Семен Сорокин (2004-10-09 21:52:00) [5]for i:=memo.lines.count-1 downto 0 do