Вниз
Скачать: CL | DM;

Удаление записей в StrinList.   Найти похожие ветки 

← →
pathfinder   (2005-11-08 12:43) [0]

Подскажите пожалуйста как удалить из StringList-а пустые строки?


← →
umbra ©   (2005-11-08 12:54) [1]


i := 0;
while i < StringList.Count do
 if StringList[i] = "" then
   StringList.Delete(i)
 else
   inc(i);


← →
pathfinder   (2005-11-08 13:43) [2]


> umbra ©

Спасибо!


← →
Digitman ©   (2005-11-08 13:50) [3]


> umbra


нельзя так)

i := StringList.Count;
while i > 0 do
 begin
  dec(i);
  if StringList[i] = "" then
    StringList.Delete(i)
 end;


← →
begin...end ©   (2005-11-08 13:54) [4]

for i := StringList.Count - 1 downto 0 do
 if StringList[i] = "" then
   StringList.Delete(i)

Плюс: значение StringList.Count вычисляется только один раз.


← →
umbra ©   (2005-11-08 13:58) [5]

2 Digitman ©   (08.11.05 13:50) [3]

почему нельзя?


← →
begin...end ©   (2005-11-08 14:03) [6]

> umbra ©   (08.11.05 13:58) [5]

Пусть StringList[N] = "". Тогда выполняется Delete, и строкой с номером N становится строка S, следующая за только что удалённой. Тем временем уже I = N + 1, и строка S окажется непросмотренной.


← →
Digitman ©   (2005-11-08 14:05) [7]


> begin...end ©   (08.11.05 13:54) [4]


> Плюс: значение StringList.Count вычисляется только один
> раз.


в соответствии со спецификацией Паскаля граничные значения переменной for-цикла вычисляются один раз при исполнении for-оператора вне зависимости от to или downto


> umbra ©   (08.11.05 13:58) [5]


пардон ... можно) ... else я упустил из вида


← →
begin...end ©   (2005-11-08 14:08) [8]

> umbra

Да, я тоже else не заметил :-)
Сорри.

> Digitman ©   (08.11.05 14:05) [7]

> в соответствии со спецификацией Паскаля граничные значения
> переменной for-цикла вычисляются один раз при исполнении
> for-оператора вне зависимости от to или downto

Я говорил про плюс по сравнению с while. Вообще-то.


← →
Digitman ©   (2005-11-08 14:11) [9]


> Я говорил про плюс по сравнению с while. Вообще-то


ну эт другой коленкор)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.025 c
14-1130852087
Layner
2005-11-01 16:34
2005.11.27
Программа сравнивающая диск или дирректорию, ищу


2-1131565651
Haillies
2005-11-09 22:47
2005.11.27
Пинг


14-1131439663
Vanya95
2005-11-08 11:47
2005.11.27
Быстрый перенос настроек одной уч.записи в другую в Windows XP


2-1131362220
Compressor
2005-11-07 14:17
2005.11.27
Из Char в Integer.


2-1131447206
lionmen
2005-11-08 13:53
2005.11.27
MAC address




   Наверх