12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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.
|