быстрое считывание и просмотр файла
От: puzzle  
Дата: 24.01.02 15:54
Оценка:
Помогите, plzz!!!
Необходимо произвести быстрое считывание и просмотр текстового файла на наличие к-л информации
читаю посимвольно стандартной функцией delphi read в цикле, но получается ужасно долго
я так понимаю надо загрузить весь файл в память(или его часть) в память и там уже производить все операции с ним
но как это сделать быстро???
Re: быстрое считывание и просмотр файла
От: Аноним  
Дата: 24.01.02 16:03
Оценка:
Здравствуйте puzzle, Вы писали:

P>Помогите, plzz!!!

P>Необходимо произвести быстрое считывание и просмотр текстового файла на наличие к-л информации
P>читаю посимвольно стандартной функцией delphi read в цикле, но получается ужасно долго
P>я так понимаю надо загрузить весь файл в память(или его часть) в память и там уже производить все операции с ним
P>но как это сделать быстро???

Еще со времен Турбо Паскаля есть функции blockread и blockwrite. Можешь использовать их.
Re[2]: быстрое считывание и просмотр файла
От: puzzle  
Дата: 24.01.02 16:23
Оценка:
Здравствуйте Аноним, Вы писали:

А>Еще со времен Турбо Паскаля есть функции blockread и blockwrite. Можешь использовать их.


Пробовал, но у меня с ними полно проблем — очень часто выскакивают ошибки
может покажешь как их правильно использовать??
Re[3]: быстрое считывание и просмотр файла
От: tavwizard Беларусь  
Дата: 24.01.02 16:40
Оценка:
Здравствуйте puzzle, Вы писали:

P>Здравствуйте Аноним, Вы писали:


А>>Еще со времен Турбо Паскаля есть функции blockread и blockwrite. Можешь использовать их.


P>Пробовал, но у меня с ними полно проблем — очень часто выскакивают ошибки

P>может покажешь как их правильно использовать??

const
SizeOfBlock : integer = 100;

var
F : file;
Block : array [0..SizeOfBlock-1] of TRecord; // TRecord — тип записи из которых состоит твой файл
RecSize, ReadCount : integer;

begin
...
AssginFile (F, 'имя_файла'); // Assign (F, 'имя_файла') для TP
Reset (F, RecSize); // RecSize — это размер одной записи в файле в байтах
while not eof (F) do begin
blockread (F, Block, SizeOfBlock, ReadCount); // в ReadCount — кол-во прочитанных записей

for i := 0 to ReadCount-1 do begin
... Block [i] ... ; // работай c данной записью
end;
end;
CloseFile (F);
...
end;

Что-то типа того. Может есть какие ошибки т.к. не проверял
Re: быстрое считывание и просмотр файла
От: kig Россия  
Дата: 24.01.02 18:02
Оценка:
Здравствуйте puzzle, Вы писали:

P>Помогите, plzz!!!

P>Необходимо произвести быстрое считывание и просмотр текстового файла на наличие к-л информации
P>читаю посимвольно стандартной функцией delphi read в цикле, но получается ужасно долго
P>я так понимаю надо загрузить весь файл в память(или его часть) в память и там уже производить все операции с ним
P>но как это сделать быстро???

Посмотрите help к TFileStream.
Re[2]: быстрое считывание и просмотр файла
От: puzzle  
Дата: 27.01.02 15:18
Оценка:
Здравствуйте kig, Вы писали:

kig>Посмотрите help к TFileStream.


TfileStream работает намного быстрее
спасибо за подсказку!!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.