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

Вниз

Listbox повторяющиеся записи   Найти похожие ветки 

 
P0tia ©   (2003-08-27 02:03) [0]

Подскажите код, как в Listbox удалить все повторяющиеся поля?


 
default ©   (2003-08-27 02:27) [1]

обычный цикл...точнее два...
время удаления критично?


 
P0tia ©   (2003-08-27 02:47) [2]

С помощью такого удаляет только первый повтор и выдает ошибку.

i:=0;
j:=0;
for i:=0 to ListBox4.Items.Count-1 do
for j:=0 to ListBox4.Items.Count-1 do
if i<>j then
if Listbox4.Items[i] = ListBox4.Items[j] then
begin
edit41.Text := IntToStr(j);
ListBox4.ItemIndex :=j;
Listbox4.DeleteSelected;
end;


 
P0tia ©   (2003-08-27 02:58) [3]

А лючше чтобы он удалял записи, которые повторяются 1 раз и повторные записи.


 
default ©   (2003-08-27 03:59) [4]

можно так провернуть

procedure TForm1.Button1Click(Sender: TObject);
var
i: Byte;
SL: TStringList;
begin

SL := TStringList.Create;
SL.Duplicates := dupIgnore;
SL.Sorted := True;
try
for i := 0 to ListBox1.Count - 1 do
SL.Add(ListBox1.Items[i]);
ListBox1.Items := SL
finally
SL.Free;
end;

end;


 
P0tia ©   (2003-08-27 04:09) [5]

Супер, спасибо, работает. Если не влом распиши по строчки код.


 
default ©   (2003-08-27 04:19) [6]


procedure TForm1.Button1Click(Sender: TObject);
var
i: Byte;
SL: TStringList;
begin

// у этого класса есть нужная нам возможность
SL := TStringList.Create;
// включить игнор одинаковых строк
// при попытке добавления в список таковых
SL.Duplicates := dupIgnore;
// должно быть установлено для работы "игнора"
SL.Sorted := True;
try
// заносим строки из ListBox-а в созданный класс-список строк
// при этом одинаковые строки не добавляются
for i := 0 to ListBox1.Count - 1 do
SL.Add(ListBox1.Items[i]);
// копируем списко строк из SL в LisBox
ListBox1.Items := SL
finally
// удаляем уже ненужный SL
SL.Free;
end;

end;


 
P0tia ©   (2003-08-27 04:41) [7]

А можно я тебя еще по эксплоатирую, ты не знаешь где можно найти описание функция для Excel, например выбор листа, Имя листа, фонт разный, сохранить, удалить и т.д.


 
P0tia ©   (2003-08-27 04:54) [8]

И еще одно. Как узнать сколько строк в базе имеют поле, ну допустим, Primechanie значение Цемент. Нужно получить цифру.
И как сделать чтобы поля с определюнным значением не показывались.


 
default ©   (2003-08-27 05:02) [9]

ты лучше две разные ветки создай



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

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

Наверх




Память: 0.48 MB
Время: 0.025 c
6-58816
DenKop
2003-07-11 02:06
2003.09.18
Upload FTP несовпадения размеров исходного и полученного файлов


4-58971
Igit
2003-07-12 08:06
2003.09.18
Поиск файлов


1-58754
aleksei85
2003-09-06 14:10
2003.09.18
номер верхней строки в RichEdit


1-58675
Молодой человек
2003-09-04 20:21
2003.09.18
Вопрос по PageControl у


6-58806
Дима
2003-07-16 23:23
2003.09.18
Установление соединения