fpc/fcl/tests/fstream.pp
2000-07-13 11:32:24 +00:00

58 lines
1.9 KiB
ObjectPascal

Program TestStream;
uses classes;
Var Stream : TFileStream;
S,T : String;
begin
S:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
T:=S;
Writeln ('Creating stream.');
Stream:=TFileStream.Create('Test2.dat',fmcreate);
Writeln ('Initial Size : ',Stream.Size);
Writeln ('Initial Position : ',Stream.Position);
Stream.WriteByte (1);
Stream.WriteWord (2);
Stream.WriteDWord (3);
Stream.WriteBuffer (S[1],Length(S));
Writeln ('Stream Size is : ',Stream.Size);
Stream.Seek(0,soFromBeginning);
If Stream.ReadByte<>1 then Writeln ('First byte not 1');
If Stream.ReadWord<>2 then Writeln ('First word not 2');
If Stream.ReadDWord<>3 then Writeln ('First DWord not 3');
If Stream.Read(T[1],Length(S))<>Length(S) then
Writeln ('Couldn''t read string.');
Writeln ('Second pass.');
Stream.WriteByte (1);
Stream.WriteWord (2);
Stream.WriteDWord (3);
Stream.WriteBuffer (S[1],Length(S));
Writeln ('Stream Size is : ',Stream.Size);
Writeln ('Stream Position is : ',Stream.Position);
Writeln ('Freeing stream.');
Stream.Free;
Writeln ('Creating stream Read-Only');
Stream:=TFileStream.Create('Test2.dat',fmOpenRead);
Writeln ('Stream Size is : ',Stream.Size);
Stream.Seek(0,soFromBeginning);
If Stream.ReadByte<>1 then Writeln ('First byte not 1');
If Stream.ReadWord<>2 then Writeln ('First word not 2');
If Stream.ReadDWord<>3 then Writeln ('First DWord not 3');
If Stream.Read(T[1],Length(S))<>Length(S) then
Writeln ('Couldn''t read string.');
If Stream.ReadByte<>1 then Writeln ('Second byte not 1');
If Stream.ReadWord<>2 then Writeln ('Second word not 2');
If Stream.ReadDWord<>3 then Writeln ('Second DWord not 3');
If Stream.Read(T[1],Length(S))<>Length(S) then
Writeln ('Couldn''t read string.');
Writeln ('Stream Size is : ',Stream.Size);
Writeln ('Stream Position is : ',Stream.Position);
Stream.Free;
end.
$Log$
Revision 1.2 2000-07-13 11:33:04 michael
+ removed logs
}