![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как использовать потоки для быстрого чтения текстового файла?
TInteger © (2013-09-17 12:16:00)Привет мастера! Подскажите плиз как быстро прочитать текстовый файл построчно в StringGrid(одна колонка)? Нагуглил что использование потоков ускорит дело, но понятного мне примера не нашел :( И еще не пониманию что лучше применить TFileStream или TSringStream?
TInteger (2013-09-17 14:40:00) [21]StringGrid1.Cols[0] := fileList;
[DCC Error] Unit1.pas(338): E2003 Undeclared identifier: 'cols'
вернее :)
TInteger (2013-09-17 14:39:00) [22]StringGrid1.Cols[0] := fileList;
[DCC Error] Unit1.pas(338): E2003 Undeclared identifier: 'col'
:(
TInteger (2013-09-17 14:34:00) [23]Файл точно есть. Не читает потому что не заполняется грид. (ХЕ5,андроид приложение) Как применить чтение потоком из файла в грид?
[ВладОшин] (2013-09-17 14:30:00) [24]Странно, у меня читает. А как определил, что не читает?
А можно так
StringGrid1.RowCount := fileList.Count;
StringGrid1.Cols[0] := fileList;
вместо
// for i:= 0 to fileList.Count-1 do Form1.sg1.Cells[0,i]:= fileList[i];
TC := GetTickCount;
fileList:= TStringList.Create;
try
fileList.LoadFromFile('D:\a.txt'); // файло 4 метра
StringGrid1.RowCount := fileList.Count;
StringGrid1.Cols[0] := fileList;
finally
fileList.Free;
end;
ShowMessage( IntToStr(GetTickCount - TC) );
47 тиков
Anatoly Podgoretsky (2013-09-17 14:26:00) [25]> TInteger (17.09.2013 13:48:06) [6]
В текущем положение нет файла 'text.txt'
TInteger (2013-09-17 13:48:00) [26]Пробовал так:
procedure LoadingGrid(s:String);
var
fileList:TStringList;
i:Integer;
begin
fileList:= TStringList.Create;
try
fileList.LoadFromFile(s);
for i:= 0 to fileList.Count-1 do Form1.StringGrid1.Cells[0,i]:= fileList[i];
finally
fileList.Free;
end;
end;
LoadingGrid('text.txt');
Вобще ничего не читает :(
[ВладОшин] (2013-09-17 13:31:00) [27]
> как быстрее прочитать построчно текстовый файл используя
> потоки?
А как читаешь на данный момент?
TInteger (2013-09-17 13:25:00) [28]А как быстрее прочитать построчно текстовый файл используя потоки? И куда кинуть данные чтобы потом когда нужны прочитать в грид?
sniknik (2013-09-17 12:59:00) [29]причитать и НЕ заполнять таблицу... отображать только нужное по мере необходимости. (аналоги DBGrig - дфтасеты, TreeView - виртуальный режим)
TInteger (2013-09-17 12:41:00) [30]>sniknik Вначале прочитать все из файла а потом заполнить данными таблицу?
sniknik (2013-09-17 12:21:00) [31]> Нагуглил что использование потоков ускорит дело
врут. сами по себе потоки ничего не ускоряют...
вот, что реально ускорит, так это отказ от визуальных компонент для чтения в них... разделяй в общем данные и отображение.