Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-82680
saniok
2002-11-06 19:36
2002.11.25
А что, больше 7-ми в парадоксе нельзя?


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


4-83041
asdqwer
2002-10-09 07:35
2002.11.25
KOL, MSK и WinAPI


3-82647
Tundra
2002-11-06 12:34
2002.11.25
Где найти библиотеки ADO?


14-82975
The_Vizit0r!
2002-11-07 01:01
2002.11.25
Помогите найти компонент





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