Вниз
Скачать: CL | DM;

свой тип файлов   Найти похожие ветки 

← →
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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
3-1113979898
pavel_guzhanov
2005-04-20 10:51
2005.06.29
SQLQuery и MySQL


1-1117695588
Egor
2005-06-02 10:59
2005.06.29
Ассоциировать файл с программой


14-1117189726
Alexius
2005-05-27 14:28
2005.06.29
Помогите найти компонент!


3-1116247658
Manfred8
2005-05-16 16:47
2005.06.29
OnCalcFields как выполнить только для текущей записи?


1-1117652395
Ralf
2005-06-01 22:59
2005.06.29
PopUp




   Наверх