Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
ВнизTstringList Найти похожие ветки
← →
Std © (2006-04-08 14:41) [0]Доброго времени суток.
Подскажите что не так в коде и как пофиксить
var
datlist,list2:TStringList;
i,j:interer;
begin
...
for I:= 0 to datlist.Count do
begin
if list2.Count=0 then list2.Add(datlist.Strings[i]);
for j:=0 to List2.Count do
begin
if datlist.Strings[i]<>list2.Strings[j] then list2.Add(datlist.Strings[i]);
end;
end;
выбивает ошибку List index out of bounds(1)
Суть в том что бы из первого списка перенести строки без повторений во второй список. Т.Е. если в списке1 есть строки
привет
привет
превед
то во втором списке должно быть только две троки
привет
превед
использовать stringList.Sorted:=true; stringList.Duplicates нельзя потому что последовательность строк во втором списке должна совпадать с последовательностью строк в первом
← →
Джо © (2006-04-08 14:48) [1]
for I := 0 to Strings1.Count-1 do
begin
if Strings2.IndexOf(Strings1[I]) = -1 then
Strings2.Add(Strings1[I])
end
← →
MBo © (2006-04-08 14:49) [2]По причине ошибки:
for I:= 0 to datlist.Count -1
for j:=0 to List2.Count -1
По сути (полное решение):
for i:= 0 to DatList.Count-1 do begin
if List2.IndexOf(DatList[i]) < 0 then
List2.Add(DatList[i]);
P.S. И не забыть, что оба списка должны быть созданы.
← →
EvS © (2006-04-08 14:50) [3]var
datlist,list2:TStringList;
i:interer;
begin
...
for I:= 0 to datlist.Count-1 do
if list2.IndexOf(datlist.Strings[i])=-1 then list2.Add(datlist.Strings[i]);
end;
← →
Anatoly Podgoretsky © (2006-04-08 19:20) [4]List2.assign
← →
Anatoly Podgoretsky © (2006-04-08 19:20) [5]List2.Add
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c