here's a simple example I knocked up
to backup a file. It reads the whole text
file into a binary buffer and writes
it out again.
const
MAXFILESIZE = 10000;
type
TBigBuffer = array[0..MAXFILESIZE] of byte;
procedure DoSomethingWithBuffer( const Buff: TBigBuffer );
begin
// ????
end;
procedure CopyFileAtoB( const NameA, NameB: string );
var
Buffer: TBigBuffer;
SaveSize: integer;
A, B: TFileStream;
begin
FillChar( Buffer, SizeOf(Buffer), 0 );
try
A := TFileStream.Create( NameA, fmOpenRead+
fmShareDenyNone );
A.Position := 0;
A.Read( Buffer, A.Size );
finally
SaveSize := min( A.Size, ;
A.Free;
end;
DoSomethingwithBuffer( Buffer );
try
B := TFileStream.Create( NameB, fmCreate );
B.Position := 0;
B.Write( Buffer, SaveSize );
finally
B.Free;
end;
end;