![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Код:
begin s := TStringList.Create; s.LoadFromFile('love.txt'); for i:=0 to s.Count-1 do for k:=1 to Length(s.Strings[i]) do if(s.Strings[i][k] = s.Strings[i][k]) then begin s.Delete(i); end; s.SaveToFile('love.txt'); |
#2
|
||||
|
||||
![]() Код:
if(s.Strings[i][k] = s.Strings[i][k]) then Если ты хочешь удалить все строки-дубликаты, то надо как-то так: Код:
for i:=0 to s.Count - 2 do for j:=i+1 to s.Count - 1 do if s.Strings[i]=s.Strings[j] then s.Delete(j); jmp $ ; Happy End! The Cake Is A Lie. |
#3
|
||||
|
||||
![]() она компилируется но выдает ошибку "List index out of bounds (4)" при выполнении
|
#4
|
|||
|
|||
![]() Цитата:
Конечно выдает. Ты удаляешь строчку, т.е. меняешь из кол-вл. А цикл for с превычислимым условием. соответсвенно, после удаления у тебя кол-во строк меньше, чем условие окончания цикла. Соответсвенно, надо делать цикл с конца до начало, т.е. от Count-1 до 0. |
#5
|
||||
|
||||
![]() А если так сделать?
Код:
s := TStringList.Create; s.Sorted := True; s.LoadFromFile('love.txt'); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#6
|
||||
|
||||
![]() Страдалецъ благодарю, очень здорого
|
#7
|
||||
|
||||
![]() он даже в алфавитному порядку выстраивает
P.S. Помогают одни и те же, а репу повысить форум не дает мол надо повысить комуто другому прежде чем вам) |
#8
|
|||
|
|||
![]() Цитата:
А можно весь код выложить или программу целиком, мне бы такая тоже пригодилась. |