Вниз
Скачать: CL | DM;

Как быстро загружать ОЧЕНЬ большие файлы?   Найти похожие ветки 

 
ZiziPuk   (2004-10-23 10:07) [0]

Приветствую вас уважаемые мастера !
Есть файл размером 15 мегабайт созданый StringGridом, в этом файле хранятся 191500 строк StringGridа (в StringGridе 5 коллонок).
Загрузка вот таким способом


procedure Load(SG: TStringGrid; FileName: Pchar );
var
f:textfile;
temp,x,y:integer;
sapppath,tempstr:string;

begin

if FileExists(FileName) then
 begin
     assignfile (f,FileName);
     reset (f);
     readln (f,temp);
     SG.colcount:=temp;
     readln (f,temp);
     SG.rowcount:=temp;

   For X:=0 to SG.colcount-1 do
   For y:=0 to SG.rowcount-1 do
    begin
      readln (F, tempstr);
      SG.cells[x,y]:=tempstr;
    end;

 end;

end;


вешает программу примерно секунд на двадцать.
А более быстрых способов сохранения \ загрузки данных из StringGridа, кроме приведенного выше я не знаю (я его кстати нашел на вашем форуме). Как можно быстро загружать большие файлы  в StringGrid.
...и не только в него.

Помогите пожалуйста.


 
Alx2 ©   (2004-10-23 10:29) [1]

А зачем нужна визуализация такого огромного объема? Можно ведь показывать пользователю лишь то, что он хочет видеть, а не все сразу. Ведь приходя в библиотеку мы не начинаем читать каждую книжку подряд.


 
DVM ©   (2004-10-23 11:00) [2]

Лучше взять ListView, превести в виртуальный режим и грузить в него. Он с легкостью держит миллионы строк. Также поддерживат то, о чем речь в [1].


 
Gero ©   (2004-10-23 11:02) [3]


> Лучше взять ListView

Тогда уж лучше TVirtualTreeView.


 
Amoeba ©   (2004-10-23 12:58) [4]

А еще лучше (и это следовало сделать с самого начала) - подумать о базах данных.


 
Amoeba ©   (2004-10-23 13:02) [5]


> в этом файле хранятся 191500 строк StringGridа

Садомазохизм какой-то!


 
GanibalLector ©   (2004-10-23 13:03) [6]

Читать Бакнелл.Фундамент.алгоритмы с структуры данных в Delphi до просветления.


 
Vasya.ru   (2004-10-23 13:30) [7]

файл размером 15 мегабайт созданый StringGridом хранятся 191500 строк StringGridа
Кто - то файл 15 мегабайтный грузит, кто то 80 потоков создает - КОГДА же будете ИСКАТЬ ПРАВИЛЬНЫЕ, а не самые простые ПУТИ решения задач?


 
DSKalugin ©   (2004-10-23 16:48) [8]

Используй базу данных однозначно.
это единственное правильное решение в данном случае



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.023 c
1-1098634662
DIS
2004-10-24 20:17
2004.11.07
работа с реестром


3-1097232652
SergP.
2004-10-08 14:50
2004.11.07
Строка подключения для FOX(Dbase) через Microsoft.Jet.OLEDB.4.0


1-1098376029
iat
2004-10-21 20:27
2004.11.07
как получить мин и макс значение по оси Х при увеличении


14-1098185323
Cosinus
2004-10-19 15:28
2004.11.07
Хм... А чем выдернуть иконки из icl-файла (Icon Library)?


1-1098164882
denis24
2004-10-19 09:48
2004.11.07
определение свойств




   Наверх