Вниз
Скачать: 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.026 c
4-1127744726
XGarik
2005-09-26 18:25
2005.11.27
Убить процесс на КПК


5-1113916284
giorgi
2005-04-19 17:11
2005.11.27
TPropertyEditor


2-1131692511
Oni
2005-11-11 10:01
2005.11.27
Что такое framework (терминералогический вопрос)?


6-1123491138
stelius
2005-08-08 12:52
2005.11.27
Отправить почту при помощи Delphi


14-1130886861
Ораклиный глаз
2005-11-02 02:14
2005.11.27
Алькаида готовит диверсию?




   Наверх