![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Народ!Помогите!У меня список Listbox в нем достаточно много записей и они повторяются!!!Как отфильтровать повторяющиеся записи!!!Очень нужно!Заранее спасибо!)
|
|
#2
|
|||
|
|||
|
Тебе что сними сделать надо?
Просто удалить? Тогда примерно так: Код:
var
F : Boolean;
I, J : Integer;
Buf : TStringList;
begin
Buf := TStringList.Create;
For I := 0 To ListBox1.Items.Count-1 Do
Begin
F := False;
For J := 0 To Buf.Conunt-1 Do
If AnsiCompareText(ListBox1.Items[i],Buf[J]) = 0 Then F:= True
If Not F Then Buf.Add(ListBox1.Items[i]);
End;
ListBox1.Items.Assign(Buf);
Buf.Free;
end;Самый простой и понятный вариант. Здесь есть сравнение без учета регистра. Если надо учитывать, то заместо AnsiCompareText поставь AnsiCompareStr. |
|
#3
|
|||
|
|||
|
Большое спасибо!!!Ты меня выручил!)Попробовал всё работает!!!3 часа с книгой просидел толку не было!А тут за 1 час помогли!!!)))Спасибо!
![]() |
|
#4
|
|||
|
|||
|
Значит не с той книгой сидел
![]() Тут важнее понимать что ты хочешь. Думаю, можно реализовать вариант и без использования буферной переменной. Просто этот вариант для анализа проще, тут сразу видно что делается. |
|
#5
|
|||
|
|||
|
Это точно нужно понимать, что хочешь сделать, вроде и свойства необходимые знаю, а блин не получается как то всю это связать!(
![]() |