Главная страница
    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.011 c
3-1129176875
Рафик
2005-10-13 08:14
2005.11.27
MSSQL Dependencies


14-1131279402
Вечный студент
2005-11-06 15:16
2005.11.27
MS Access


1-1130826536
Рафик
2005-11-01 09:28
2005.11.27
Как в DBChart провести горизонтальную линию по верхнему и нижнему


3-1129446032
__Пупкин
2005-10-16 11:00
2005.11.27
Можно ли узнать количество таблиц у SQL сервера


14-1130871398
VEG
2005-11-01 21:56
2005.11.27
Беспроводные сети





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский