|
Платные хостинги
Раскрутка сайта
Книги по программированию
Побайтное чтение и запись, Неизвестная база *.DAT (возможно BTree)
- Есть здоровення база неизвестного формата (есть подозрение, что это BTree). Вроде бы известен размер записи. Нужно разбить базу на записи и записать в новый файл. Думаю, нужно сделать это побайтово.
- А при чем тут тогда базы данных? Тебе нужно открыть файл и прочитать из него блоки нужного размера, если ты точно уверен, что это то что тебе нужно Читать можешь при помощи TFileStream, Read, BlockRead, ReadFile... К примеру:Код var FileStream: TFileStream; Buffer: TBuffer; // Структура читаемых данныхbegin with FileStream.Create('C:\FileName', fmOpenRead) do try while Position < Size do Read(Buffer, SizeOf(TBuffer)); //Тут делаешь с прочитаными данными(Buffer) что хочешь finally Free; end;highlightSyntax('delphiZmYzZW','delphi');
- Ругалось Access violation at address... на строке:Код with FileStream.Create('C:\MyFileName.DAT', fmOpenRead) dohighlightSyntax('delphiU2ZGIw','delphi');Переписано:Код procedure TForm1.ButtonClick(Sender: TObject);varFileStream, OldFile: TFileStream;Buffer: Variant;F2: TextFile;beginAssignFile(F2, 'С:\MyFileName.txt');Rewrite(F2);OldFile := FileStream.Create('C:\MyFileName.DAT', fmOpenRead);with OldFile dobegintrywhile Position < 331 doRead(Buffer, 1);Write(F2, Buffer);finallyFree;end;end;end;highlightSyntax('delphi1OTRiY','delphi');Ругается Access violation at address... на строке:Код with OldFile dohighlightSyntax('delphiNjkyNm','delphi');
- Ошибка найдена, нужно было написать:Код OldFile := TFileStream.Create('C:\MyFileName.DAT', fmOpenRead);highlightSyntax('delphiiNmQwZ','delphi');Вопрос следующий: как записать то, что считалось в другой файл?
- Ага, я просто оЧеПятался.Ответ смотри в Общем разделе
Интернет казино
Онлайн игры
Увеличение члена
Купить DVD
|