Главная страница
    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.01 c
11-58607
Nwm
2003-01-06 10:15
2003.09.18
Иконку из Imagelist в ТKOLMainMenu, без всяких там... штучек.


14-58900
otido
2003-08-29 12:36
2003.09.18
подключение телевизора к GeForce 440, вроде Fx


1-58664
AlexandrKu
2003-09-05 07:21
2003.09.18
Отчет в MS Word


3-58515
AV
2003-08-28 10:59
2003.09.18
Соединение с ORACLE через TSQLConnection


1-58690
DProg
2003-09-04 16:31
2003.09.18
Массивы Components, Controls. Изменение порядка следования





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