Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Вниз

Удаление записей в 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2005.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.012 c
2-1131278703
AlexLines
2005-11-06 15:05
2005.11.27
как добавить символ в позицию курсора


4-1127551255
Antoha
2005-09-24 12:40
2005.11.27
Как сервисному приложению отловить вход пользователя в систему.


14-1131346373
Cvin
2005-11-07 09:52
2005.11.27
"Hello World!" shareware


1-1130935978
DelphiLexx
2005-11-02 15:52
2005.11.27
изменения значения бинарных данных в реестре


4-1127470851
Новый
2005-09-23 14:20
2005.11.27
Zip в Xp! Где он! Как с ним работать?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский