Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.07;
Скачать: CL | DM;

Вниз

Работа с TStringList   Найти похожие ветки 

 
DN ©   (2002-10-28 17:17) [0]

Произвожу некоторые действия с переменной SSS и над списком переменной LIST в цикле по 3 строки, после чего их необходимо уничтожить, при удалении последних 3 строк из списка LIST выдает ошибку "List out of bounds", подскажите в чем проблема

begin
List1:= TStringList.Create;
...
for j:= 1 to List1.Count-1 do
begin
SSS:= List1.Strings[0]+List1.Strings[1]+List1.Strings[2];
{... работа с переменной SSS ...}
List1.Delete(2);
List1.Delete(1);
List1.Delete(0);
END;
List1.Free;
List2.Free;
end;


 
Андрей Прокофьев ©   (2002-10-28 17:20) [1]

List1.Delete(0);
List1.Delete(0);
List1.Delete(0);


 
Внук ©   (2002-10-28 17:23) [2]

Да и вообще здесь цикл for неуместен, поскольку List1.Count-1 вычисляется один раз в начале цикла... Скорее уж while List1.Count>2 do...


 
Андрей Прокофьев ©   (2002-10-28 17:24) [3]

А, скорее, ошибка в этом

for j:= 1 to List1.Count-1 do
вычислился ОДИН раз в начале цикла

лучше заменить это на while/repeat


 
Андрей Прокофьев ©   (2002-10-28 17:25) [4]

Внук © (28.10.02 17:23)
:)


 
Anatoly Podgoretsky ©   (2002-10-28 17:49) [5]

У тебя наверно количество строк не кратно 3
и вот это тоже недопустимо for j:= 1 to List1.Count-1 do, надо


While List1.Count > 0 do begin
SSS:= "";
for I := 1 to 3 do begin
if List1.Count > 0 do begin
SSS := SSS + List1.Strings[0]
List1.Delete(0);
end;
end;
...
END;




 
TTCustomDelphiMaster ©   (2002-10-28 17:50) [6]

DN © (28.10.02 17:17)
Цикл выполняется List1.Count-1 раз, а строчек в List1 хватит на List1.Count div 3 раз.


 
Nomad.kz   (2002-10-28 17:51) [7]

не очень понял, зачем в одной итерации цикла делать три Delte? Может, тут цикл вообще не нужен?



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

Текущий архив: 2002.11.07;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
14-21735
Осирис
2002-10-16 09:43
2002.11.07
Прога для чтения форумов


7-21825
Dj Karies
2002-09-04 10:51
2002.11.07
Потоки


6-21698
AlexBeliy
2002-09-06 01:27
2002.11.07
И всё-таки, как узнать, есть ли комп в сети


1-21481
Leny
2002-10-28 14:57
2002.11.07
Close=Minimaze


14-21778
Феликс
2002-10-17 23:07
2002.11.07
Помогите придумать название для программы?