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

Вниз

Listview eto problema delphi ili windows?   Найти похожие ветки 

 
lensky ©   (2002-11-08 07:26) [0]

to chto on tak medlianno rabotet, eto izza delphi ili windowsa?
medlianno rabotaet eto dobavliaet 50 tisiach zapisei bol"she 3 minut na 2Ghz proche...
voobshem esli eto problema delphi moshno li cherez winapi kaknit" uskorit" rabotu?


 
VaS ©   (2002-11-08 08:44) [1]

ListView1.Items.BeginUpdate;
try
//добавляем, удаляем
finally
ListView1.Items.EndUpdate;
end;


 
TTCustomDelphiMaster ©   (2002-11-08 10:58) [2]

А у меня такой код выполняется 3 сек.
var
i: integer;
begin
ListView1.Items.BeginUpdate;
for i := 1 to 50000 do
ListView1.Items.Add;
ListView1.Items.EndUpdate;
end;


 
lensky ©   (2002-11-13 00:07) [3]

da pravda no problema v tom shto esli my budem izmeniat" ih captiony to vipolniasia on budet gorazdo dol"she
u menia etot kod rabotaet 1:45 shto opiat"she bezumno dolgo

var
i: integer;
stime: tdatetime;
begin
stime:=now;
ListView1.Items.BeginUpdate;
for i := 0 to 50000 do
begin
(ListView1.Items.Add as tlistitem).caption:="a";
end;
ListView1.Items.EndUpdate;
showmessage(timetostr(now-stime));
end;


 
lensky ©   (2002-11-13 00:45) [4]

prichem skorost" padaet, postoianno naprimer 50k za 1:45 eto 1k za 2.1 secundy, a 100k ushe poluchaetsia za 7:09 eto ushe 1k za 4.29 sec
voobshem ochen" hotelos" by uvidet" kakoenit" reshenie...


 
TTCustomDelphiMaster ©   (2002-11-13 17:17) [5]

Дак вы поставте OwnerDraw в True и присваивайте название элемента перед его прорисовкой. Правда он все равно будет тормозить при быстром прокручивании и освобождении элементов.

PS: Интересно а как ползователь сможет выбрать нужный элемент из 50000? Или вы проверяете работу приложения в экстремальных условиях?


 
murzikN   (2002-11-13 17:38) [6]

> TTCustomDelphiMaster © (13.11.02 17:17)
Выбирать будет, например, по алфавиту из отсортированного списка.
Почему никто не может представить список из нескольких десятков тысяч записей? Воображения не хватает?


 
Кот Бегемот ©   (2002-11-13 18:05) [7]

Блинн боюсь я повторяюсь - но вы господин Ленский > извращенец :(

Работа с ListView прекрасно описана в демках Virtual Listview
Особенно много внимания оказывалось работе с большими обемами данных. 50К записей и добавлять то не нужно на самом деле :)

Для этого есть ListView.OnData()


 
TTCustomDelphiMaster ©   (2002-11-13 18:14) [8]

murzikN (13.11.02 17:38)
Я как пользователь работал со списком в 672 записи. Никому не пожалаю такого. Представте нужно заполнить 80 - 90 полей. Для каждого в модальном окне открыть этот список, пролистать до нужного элемента (они отсортированы по номерам, но нужно искать текст, который я помню приблизительно) и нажать кнопку Ok. И таким образом нужно заполнить около 30 конфигураций. Так вот к вечеру после такой работы голова вообще не соображает. Это при создании конфигураций для 4 устройств. А максимальное количество записей в этом списке может быть 73728 для 256-ти устройств :-)


 
lensky ©   (2002-11-14 01:30) [9]

hmm na ownerdraw i ondata posmotru, virtual listview v demke rabotal kakto sovsem medlianno tak shto ia na nego ne obratil vnimania...
50k zapisei eto situachia konechno ekstremal"naai no ne osobo, a nashet pol"zovatel"skovo interfaca to vse ok, i situachii kak u murzikN vozn"iknut"



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

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

Наверх




Память: 0.49 MB
Время: 0.012 c
14-82945
Юра
2002-10-17 20:29
2002.11.25
Как дети учат информатику


1-82775
Оля
2002-11-15 17:08
2002.11.25
*.WAV наткнулась на один пример, но он у меня не работает


14-82950
LamErP
2002-11-05 15:33
2002.11.25
Создание COM - dll


1-82758
creo
2002-11-15 12:17
2002.11.25
Защита программы


4-83057
Cobalt
2002-10-08 12:11
2002.11.25
Проблема с хуком 8-((