Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

удаление повторяющихся строк   Найти похожие ветки 

 
Chipik   (2005-08-14 05:44) [0]

Уже месяц сижу, не получается. Надобно дубликаты удалить из ListBox"а, а то как-то неудобно, да и информации лишней много. Помогите, пожалуйста. Заранее благодарен.


 
Defunct ©   (2005-08-14 08:10) [1]

procedure DeleteDublicates( AListBox : TListBox);
var
 i, j : integer;
 CanAdd : boolean;
begin
 SendMessage( AListBox.Handle, WM_SETREDRAW, 0, 0);
 with TStringList.Create do
 try
    for i := 0 to AListBox.Count - 1 do
    begin
       CanAdd := True;
       for j := 0 to Count - 1 do
          if Strings[j] = AListBox.Items[i] then
          begin
            CanAdd := False;
            break;
          end;
       if CanAdd then
          Add( AListBox.Items[i]);
    end;

    AListBox.Items.Text := Text;

 finally
    free;
    SendMessage( AListBox.Handle, WM_SETREDRAW, 1, 0)
 end;
end;


 
begin...end ©   (2005-08-14 09:25) [2]

> Chipik   (14.08.05 05:44)

with ListBox do
begin
 I := Pred(ListBox.Count);
 while I > 0 do
 begin
   for J := I - 1 downto 0 do
     if ListBox.Items[J] = ListBox.Items[I] then
     begin
       Items.Delete(J);
       Dec(I)
     end;
   Dec(I)
 end
end


Если же ListBox можно отсортировать, или он уже отсортирован, то можно и так:

with TStringList.Create do
 try
   Sorted := True;
   Text := ListBox.Items.Text;
   ListBox.Items.Text := Text;
 finally
   Free
 end


Также можно подумать о том, чтобы не добавлять дубликаты в ListBox, вместо того чтобы потом удалять их из него.



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

Форум: "Начинающим";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
1-1125809659
Lower_
2005-09-04 08:54
2005.09.25
Использование MDIChild


2-1124097041
root187
2005-08-15 13:10
2005.09.25
ustanovka BDE


1-1125766173
PIF
2005-09-03 20:49
2005.09.25
Вызов формы из проекта в DLL


2-1123957167
Darkmaster
2005-08-13 22:19
2005.09.25
ftp


14-1125306285
CHES
2005-08-29 13:04
2005.09.25
Посоветуйте хороший хостинг





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