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

Вниз

Быстрый поиск 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.026 c
2-1132786540
Дева
2005-11-24 01:55
2005.12.18
CommaText


14-1132121406
Суслик
2005-11-16 09:10
2005.12.18
Проблемы IDE


2-1133356119
JTAG
2005-11-30 16:08
2005.12.18
Ув коллеги подскажите как отделить символы от цифр в командной


14-1132826938
ANB
2005-11-24 13:08
2005.12.18
Кому нужна программа автоматизированного тестирования ?


4-1129903440
psa247
2005-10-21 18:04
2005.12.18
Убрать кнопку с панели задач в Run_time !