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

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

 
Lame1   (2002-04-10 12:24) [0]

В общем никогда с такой проблемой не встречался, а тут вот понадобилось:

type TTestRec = record
StrLength: integer;
Path: string;
StrLength2: integer;
Path2: string;
end;

const filename= "C:\tst.txt";

procedure TForm1.Button1Click(Sender: TObject);
var f: TFileStream;
rec: TTestRec;
tmp: integer;
begin
f:= TFileStream.Create(filename, fmCreate);
try
rec.Path:= "line1";
rec.StrLength:= length(rec.Path);
rec.Path2:= "line2";
rec.StrLength2:= length(rec.Path2);
tmp:=sizeof(rec)+ length(rec.Path)+ length(rec.Path2);
f.WriteBuffer(rec, tmp);
finally f.Free end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var f: TFileStream;
rec: TTestRec;
begin
f:= TFileStream.Create(filename, fmOpenRead);
try
f.ReadBuffer(rec.StrLength, sizeof(rec.StrLength));
f.ReadBuffer(rec.path, rec.StrLength);
f.ReadBuffer(rec.StrLength2, sizeof(rec.StrLength2));
f.ReadBuffer(rec.path2, rec.StrLength2);
finally f.Free end;
end;


Строка выделенная жирным явно читает не те байты которые должна.....Помогите плз.



Страницы: 1 вся ветка

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



Память: 0.44 MB
Время: 0.011 c
1-69898
Sergey Saf
2002-04-06 21:24
2002.04.22
Долгий таймер


1-69915
inko
2002-04-09 17:55
2002.04.22
Backup файла.


6-69959
Alexey Evstigneev
2001-10-30 06:51
2002.04.22
Wake-on-Lan


1-69875
Rammst
2002-04-09 06:38
2002.04.22
Размер файла


6-69941
avk
2002-01-31 21:24
2002.04.22
ping




   Наверх