Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как быстро загружать ОЧЕНЬ большие файлы? [D6, WinXP]


ZiziPuk ©   (2004-10-23 10:07:00) 

Приветствую вас уважаемые мастера !
Есть файл размером 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.
...и не только в него.

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


DSKalugin   (2004-10-23 16:48:00) [1]

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


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

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


GanibalLector   (2004-10-23 13:03:00) [3]

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


Amoeba   (2004-10-23 13:02:00) [4]


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

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


Amoeba   (2004-10-23 12:58:00) [5]

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


Gero   (2004-10-23 11:02:00) [6]


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

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


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

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


Alx2   (2004-10-23 10:29:00) [8]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо