Registriert seit: 17. Aug 2002
178 Beiträge
|
Re: Datei stückchenweise mit TFileStream einlesen
4. Okt 2003, 00:43
In eine cardinal Variable passen nur 32 Bit...
Nimm ein Array:
Code:
var
SrcBuffer, DestBuffer: array[0..1023] of byte;
begin
while SrcStream.Position < SrcStream.Size do
begin
SrcStream.ReadBuffer(SrcBuffer[0], 1024);
EncodeBuffer(SrcBuffer[0], DestBuffer[0], 1024);
DestStream.WriteBuffer(DestBuffer[0], 1024);
end;
Du kannst auch mit pointer arbeiten:
Code:
SrcBuffer, DestBuffer: pointer;
begin
getmem(SrcBuffer, 1024);
getmem(DeasBuffer, 1024);
try
while SrcStream.Position < SrcStream.Size do
begin
SrcStream.ReadBuffer(SrcBuffer^, 1024);
EncodeBuffer(SrcBuffer^, DestBuffer^, 1024);
DestStream.WriteBuffer(DestBuffer^, 1024);
end;
finally
freemem(SrcBuffer);
freemem(DestBuffer);
end;
|
|
Zitat
|