Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: 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 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.029 c
1-1117877764
Anatoly Podgoretsky
2005-06-04 13:36
2005.06.29
Занимательные наблюдения над плавающей запятой


14-1117175981
redlord
2005-05-27 10:39
2005.06.29
сервер Lineage2


1-1118260453
Gopher
2005-06-08 23:54
2005.06.29
Синтаксис


1-1117947403
Chak
2005-06-05 08:56
2005.06.29
по нажатию клавиши ENTER из одной labelededit1 в другую labeleded


1-1117630300
towik
2005-06-01 16:51
2005.06.29
Тип String в тип TMySet?