12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- Program TestStream;
- uses classes;
- Var Stream : TStringStream;
- S,T : AnsiString;
- begin
- S:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
- T:=S;
- Writeln ('Creating stream.');
- Stream:=TStringStream.Create(S);
- Writeln ('Initial Size : ',Stream.Size);
- Writeln ('Initial Position : ',Stream.Position);
- Writeln ('Setting new size to 100');
- Stream.Size:=100;
- Writeln ('New Size : ',Stream.Size);
- Writeln ('new Position : ',Stream.Position);
- Stream.WriteByte (1);
- Stream.WriteWord (2);
- Stream.WriteDWord (3);
- Stream.WriteString (S);
- Writeln ('Size after write : ',Stream.Size);
- Writeln ('Position after write : ',Stream.Position);
- Writeln ('Truncating size');
- Stream.Size:=Stream.Position;
- Writeln ('Stream Size is : ',Stream.Size);
- Writeln ('Stream Position : ',Stream.Position);
- Writeln ('Seek to position 0 : ', Stream.Seek(0,soFromBeginning));
- Writeln ('new Position : ',Stream.Position);
- 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 Word not 3');
- T:=Stream.ReadString(Length(S));
- If Length(T)<>Length(S) then
- Writeln ('Couldn''t read string.');
- Stream.WriteByte (1);
- Stream.WriteWord (2);
- Stream.WriteDWord (3);
- Stream.WriteBuffer (S[1],Length(S));
- Writeln ('Stream Size is : ',Stream.Size);
- Stream.Free;
- end.
|