machmer das lesen gleich noch mit, bevord fragst
Delphi-Quellcode:
procedure ReadStringFromStream(Stream: TStream; var sText: string);
var
sText: string;
iLength: integer;
begin
Stream.Read(iLength, 4);
SetLength(sText, iLength);
Stream.Read(Pointer(sText)^, iLength); // oder wieder Stream.Read(sText[1], iLength);
end;
records fungsionieren in der regel genauso wie primitive daten die'd lesen/schreiben willst, solang keine pointer oder strings drin vorkommen
also
Delphi-Quellcode:
type
TRecord = record
iZahl: integer;
iBuchstabe: char;
dMadde: double;
end;
var
xRecord: TRecord;
dann kannst
Stream.Write(xRecord, SizeOf(xRecord));
oder lesen...
Stream.Read(xRecord, SizeOf(xRecord));
SizeOf(xRecord) wäre in dem fall hier 13, da sizeof(iZahl) = 4 + sizeof(iBuchstabe) = 1 + sizeof(dMadde) = 8 = 13 :)
[edit=Luckie]Delphi-Tags Mfg, Luckie[/edit]