как быстрее всего считывать данные из файла

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[flash] ОТКЛЮЧЕН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: как быстрее всего считывать данные из файла

Re: как быстрее всего считывать данные из файла

Absurd » 28 мар 2007, 19:46

это дольше да и не нужно в принцыпе т.к данные будут обрабатываться и уходить в нибытие а через базу еще их тягать это лишние операции. Я буфер уже отпарсил )))
Я тебе посоветовал делать так, поскольку имею опыт работы разработки такого проекта. Проект ныне мертв из-за путаницы с кучей файлов и перенавороченности. А если бы я подумал и записи вставлял в базу + сделал веб-интерфейс с отчетами, то проект был бы жив.

Re: как быстрее всего считывать данные из файла

namomelkor » 28 мар 2007, 18:43

это дольше да и не нужно в принцыпе т.к данные будут обрабатываться и уходить в нибытие а через базу еще их тягать это лишние операции. Я буфер уже отпарсил )))

Re: как быстрее всего считывать данные из файла

Absurd » 28 мар 2007, 18:30

Ну так как приходят - сразу засовывай

Re: как быстрее всего считывать данные из файла

namomelkor » 28 мар 2007, 18:07

данные динамические и приходять в файловом виде. Были бы статические давно бы засунул.

Re: как быстрее всего считывать данные из файла

Absurd » 28 мар 2007, 12:17

А зачем тебе куча текстовых файлов с данными? Засунь все данные в БД, а потом делай Sql запросы.

Re: как быстрее всего считывать данные из файла

namomelkor » 27 мар 2007, 16:24

Работать с сырым буфером для меня проше чем считать файл ))). Просто раньше никогда не задумывался над проблемой быстрого чтения из файла а довольно долгое время читал тупо из Memo1.

Re: как быстрее всего считывать данные из файла

SergeyS » 27 мар 2007, 06:25

&quot писал(а):Не совсем рулит, помедленнее немного
Согласен, считал данные ты быстрее, но их ведь после этого нужно будет построчно разобрать и наверно ещё кучу разных манипуляций произвести... а работа с сырым буфером это имхо, не очень легка задачка для человека который спрашивает как быстрее считать текстовый файл

Re: как быстрее всего считывать данные из файла

somewhere » 26 мар 2007, 13:59

&quot писал(а):а как быстрее в массив считать?
BlockRead(File,Buffer,Count,rCount) - считывает блок данных, размером Count записей в область данных Buffer из файла File. Фактически прочитанное число записей возвращается в rCount.

Код: Выделить всё

var
Buf : PByteArray;
F    : File;

Procedure ReadFile;
begin
AssignFile(F, 'D:\DDD.TXT');
Reset(F, 1); // Длина записи - 1 байт.
GetMem(Buf, 1048576); // выделить 1М для буффера
Blockread(F, Buf[0], 1048576);
CloseFile(F);
...
...
FreeMem(Buf);
end;
&quot писал(а):TStringList рулит
Не совсем рулит, помедленнее немного

Код: Выделить всё

procedure TStrings.LoadFromFile(const FileName: string);
var
  Stream: TStream;
begin
  Stream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
  try
    LoadFromStream(Stream);
  finally
    Stream.Free;
  end;
end;

procedure TStrings.LoadFromStream(Stream: TStream);
var
  Size: Integer;
  S: string;
begin
  BeginUpdate;
  try
    Size := Stream.Size - Stream.Position;
    SetString(S, nil, Size);
    Stream.Read(Pointer(S)^, Size);
    SetTextStr(S);
  finally
    EndUpdate;
  end;
end;

Re: как быстрее всего считывать данные из файла

SergeyS » 26 мар 2007, 13:57

TStringList рулит
TStringList.LoadFromFile... - загрузка файла
TStringList - доступ к строкам файла

Re: как быстрее всего считывать данные из файла

namomelkor » 26 мар 2007, 13:36

а как быстрее в массив считать?

Вернуться к началу