Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
ВнизБыстрый поиск SubItems в компоненте ListView Найти похожие ветки
← →
Tapok (2005-11-29 13:21) [0]Ув. Мастера! В ListView есть две колонки, первая содержит номер, а вторая (SubItem) имя файла.
По FindFirst/FindNext происходит поиск в папке, а затем в ListView добавляется номер и имя
найденого файла. Прежде чем добавить новый итем мне нужно проверить, что в SubItem"ах файла
с таким именем не существует. Я делаю так:
procedure TForm1.AddFileToList(S: String);
var
I: Integer;
FileInList: Boolean;
NewItem: TListItem;
begin
with ListView1 do
begin
FileInList := False;
for I := 0 to Items.Count - 1 do
if Items[I].SubItems[0] = S then
begin
FileInList := True;
Break;
end;
if not FileInList then
begin
NewItem := Items.Add;
NewItem.Caption := IntToStr(Items.Count);
NewItem.SubItems.Add(S);
end;
end;
end;
Подскажите как найти сабитем не пребегая к циклическому перебору всего ListView, т.к такая проверка
занимает очень много времени особенно когда ListView содержит пару сотен и больше Item"ов?
Спасибо.
← →
gdaujk © (2005-11-29 21:27) [1]Эт тебе надо алгоритмы поиска смотреть. Например, бинарный был, помниться. Только при нем, по-моему, надо, что б итемы были сначала упорядоченны или проиндексированны. Точно не помню.
PS: Читай книжки...
← →
Digitman © (2005-11-30 09:39) [2]а зачем что-то проверять ?
файлы в папке и так уже уникальны по комбинации имени+расширения
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.12.18;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.015 c