Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Внизсвой тип файлов Найти похожие ветки
← →
Green_Templar © (2005-06-08 01:58) [0]можно делать file of g, где g=какой-то там рекорд. А у меня есть 3 рекорда разного типа, как их записать в один файл?
← →
Просто Джо © (2005-06-08 02:23) [1]Да по-разному. Например так:
var
Fv: file;
Rec1: TMyRec1;
Rec2: TMyRec2;
..
BlockWrite(Fv,Rec1,SizeOf(Rec1));
BlockWrite(Fv,Rec2,SizeOf(Rec2));
Или так:
var
Rec1: TMyRec1;
Rec2: TMyRec2;
FS: TFileStream;
begin
Rec1.A := $FD;
Rec1.B := $FF;
FS := TFileStream.Create("i:\test.dat",fmCreate);
try
FS.Write(Rec1,SizeOf(Rec1));
FS.Write(Rec2,SizeOf(Rec2));
finally
FS.Free;
end;
end.
А, возможно, лучше "обернуть" рекорды в классы, каждый со своим методом записи/чтения в/из файла/стрима.
← →
Anatoly Podgoretsky © (2005-06-08 09:08) [2]TThreeRecords = record
R1: TRec1;
R2: TRec2;
R3: TRec3;
end;
file of TThreeRecords;
← →
Antonn © (2005-06-08 13:56) [3]Anatoly Podgoretsky © (08.06.05 9:08) [2]
а у меня ругалось, если "TThreeRecords" была больше мегабайта...
← →
Просто Джо © (2005-06-09 04:16) [4]
> [3] Antonn © (08.06.05 13:56)
> Anatoly Podgoretsky © (08.06.05 9:08) [2]
> а у меня ругалось, если "TThreeRecords" была больше мегабайта...
Чего у тебя ругалось?
← →
Просто Джо © (2005-06-09 04:24) [5]А, наверное, 998... Или переполнение стека, если переменная в процедуре объявлялась.
← →
Anatoly Podgoretsky © (2005-06-09 08:52) [6]Antonn © (08.06.05 13:56) [3]
Ну у многих ругается за ошибки. Совет чтобы не ругалось пиши программы без ошибок.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c