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

Вниз

TStringList и sorted...   Найти похожие ветки 

 
istok2   (2009-02-10 18:25) [0]

вопрос по TStringList :

LoadFromFile занимает значительное время при предустановленном sorted = true, что и понятно.

но - если файл уже отсортирован заранее, можно как-то сделать загрузку быстрее? а то кажется что там лишние действия в таком случае происходят (сортирует то что уже отсортировано)..


 
Сергей М. ©   (2009-02-10 19:03) [1]


> при предустановленном sorted = true


Так отключи же предустановку - и всех делов)


 
istok2   (2009-02-10 22:12) [2]


> Так отключи же предустановку - и всех делов)


так мне нужна работа именно с отсортированным TStringList


 
Сергей М. ©   (2009-02-10 22:19) [3]


> так мне нужна работа именно с отсортированным TStringList


Так он у тебя и будет отсортирован сразу после загрузки уже отсортированных данных !
Чего еще надо-то ?


 
Германн ©   (2009-02-11 00:56) [4]


> tok2   (10.02.09 22:12) [2]
>
>
> > Так отключи же предустановку - и всех делов)
>
>
> так мне нужна работа именно с отсортированным TStringList
>

Прочитай справку по свойству Sorted. Может что-то поймёшь!?


 
istok2   (2009-02-11 02:10) [5]


> Чего еще надо-то ?

грузит долго, если данные в файле изначально отсортированы, то по идее можно ж как-то сделать чтоб они грузились быстрее - не?


> Прочитай справку по свойству Sorted. Может что-то поймёшь!
> ?


я понимаю как это работает, меня не устраивает скорость загрузки файла и я ожидаю что есть какие-то методы ее ускорения будь то этот класс или сторонний.


 
sniknik ©   (2009-02-11 08:09) [6]

> я понимаю как это работает
ой сомневаюсь я что то сильно очень...

>> Так отключи же предустановку - и всех делов)
> так мне нужна работа именно с отсортированным TStringList
так включи сортировку - и всех делов.

не?, не доходит еще? до и так понимающего как это работает...
выключаешь там и тогда когда она не нужна, и включаешь перед тем как понадобится или сразу после того как она станет не "не нужной" и мешающей каким то действиям (например загрузке данных).

p.s. реализация загрузки как догадываюсь там тоже не фунт изюму, с таким пониманием, а свежеизобретенный велосипед.


 
Сергей М. ©   (2009-02-11 08:13) [7]


> грузит долго, если данные в файле изначально отсортированы


Если св-во Sorted = False, то сортированность загружаемых данных никак не влияет на скорость загрузки.


 
Anatoly Podgoretsky ©   (2009-02-11 09:07) [8]

> istok2  (11.02.2009 2:10:05)  [5]

А если нет?


 
istok2   (2009-02-11 12:41) [9]


> Если св-во Sorted = False, то сортированность загружаемых
> данных никак не влияет на скорость загрузки.


Ессно, но стоит выставить его потом в True - и они будут сортироваться то же долгое время.


> выключаешь там и тогда когда она не нужна, и включаешь перед
> тем как понадобится или сразу после того как она станет
> не "не нужной" и мешающей каким то действиям (например загрузке
> данных).


проблема в том что без разницы когда я ее включу - алгоритм всё равно съест приличное время на сортировку.

сортировка в виде sorted := true после loadfromfile ест то же время, что и
с sorted = true перед loadfromfile.

я говорю о том, что моя задача является частным случаем, когда массив данных УЖЕ отсортирован ДО загрузки в TStringList и это дает теоретическую возможность избежать повторной сортировки.

или такой возможности никак нет даже теоретически?

может есть классы какие-то другие, или допилы tstringlist чтоб учитывать такой случай....


 
istok2   (2009-02-11 12:43) [10]


> p.s. реализация загрузки как догадываюсь там тоже не фунт
> изюму, с таким пониманием, а свежеизобретенный велосипед.
>


LoadFromFile - а есть что-то что не будет вызывать сортировку при sorted=true ?


 
Сергей М. ©   (2009-02-11 12:48) [11]


> стоит выставить его потом в True - и они будут сортироваться
> то же долгое время.


Естественно.
Но к собственно к загрузке это не имеет ни малейшего отношения - при этом сортируются уже загруженные данные.


> или допилы tstringlist чтоб учитывать такой случай


"Допил" не составляет труда сделать самостоятельно - метод CustomSort, к счастью, виртуальный, остается объявить своего наследника стринглиста и перекрыть этот метод, реализовав в нем нужное тебе поведение в такой ситуации.


 
istok2   (2009-02-11 12:57) [12]


> Естественно.
> Но к собственно к загрузке это не имеет ни малейшего отношения
> - при этом сортируются уже загруженные данные.


я с этим и не спорю


> "Допил" не составляет труда сделать самостоятельно - метод
> CustomSort, к счастью, виртуальный, остается объявить своего
> наследника стринглиста и перекрыть этот метод, реализовав
> в нем нужное тебе поведение в такой ситуации.


вот, то что я хотел услышать. спасибо)


 
Сергей М. ©   (2009-02-11 13:00) [13]


> то что я хотел услышать


Типа бальзам на истерзанный мозг ?)

Мог бы и сам догадаться, достаточно было проследить по исходникам что происходит при вызове метода Sort


 
istok2   (2009-02-11 13:04) [14]

да вот, этим и занялся параллельно. всё получилось как надо..

спасибо.



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

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

Наверх




Память: 0.5 MB
Время: 0.018 c
15-1234042050
Юрий
2009-02-08 00:27
2009.04.05
С днем рождения ! 8 февраля 2009 воскресенье


15-1233878286
pascal
2009-02-06 02:58
2009.04.05
Перестарьте заниматься ерундой!


15-1233594113
Кое кто
2009-02-02 20:01
2009.04.05
Предложение по составу...


1-1209401121
KiLLiR
2008-04-28 20:45
2009.04.05
Свойство MaxDate DateTimePicker а д.б. сегодняшним


10-1153589543
Andrey Kad.
2006-07-22 21:32
2009.04.05
Границы ячейки в Excel