Форум: "Основная";
Текущий архив: 2002.11.25;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.013 c