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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
1-58653
Рома
2003-09-04 11:54
2003.09.18
XP стиль все портит :(((((


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


3-58521
Berezne
2003-08-28 12:43
2003.09.18
Подскажите как отфильтровать базу по дате?


14-58873
MsGuns
2003-08-28 16:36
2003.09.18
Значок


14-58910
Vinter
2003-08-28 14:44
2003.09.18
Программа съедает много памяти.





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