5
Var Stream : TMemoryStream;
9
S:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
11
Writeln ('Creating stream.');
12
Stream:=TMemoryStream.Create;
13
Writeln ('Initial Size : ',Stream.Size);
14
Writeln ('Initial Position : ',Stream.Position);
15
Writeln ('Setting new size to 100');
17
Writeln ('New Size : ',Stream.Size);
18
Writeln ('new Position : ',Stream.Position);
21
Stream.WriteDWord (3);
22
Stream.WriteBuffer (S[1],Length(S));
23
Writeln ('Size after write : ',Stream.Size);
24
Writeln ('Position after write : ',Stream.Position);
25
Writeln ('Truncating size');
26
Stream.Size:=Stream.Position;
27
Writeln ('Stream Size is : ',Stream.Size);
28
Writeln ('Stream Position : ',Stream.Position);
29
Writeln ('Seek to position 0 : ', Stream.Seek(0,soFromBeginning));
30
Writeln ('new Position : ',Stream.Position);
31
If Stream.ReadByte<>1 then Writeln ('First byte not 1');
32
If Stream.ReadWord<>2 then Writeln ('First word not 2');
33
If Stream.ReadDWord<>3 then Writeln ('First Word not 3');
34
If Stream.Read(T[1],Length(S))<>Length(S) then Writeln ('Couldn''t read string.');
37
Stream.WriteDWord (3);
38
Stream.WriteBuffer (S[1],Length(S));
39
Writeln ('Stream Size is : ',Stream.Size);
40
Stream.SaveToFile('Test2.dat');