5
Var Stream : TFileStream;
9
S:='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
11
Writeln ('Creating stream.');
12
Stream:=TFileStream.Create('Test2.dat',fmcreate);
13
Writeln ('Initial Size : ',Stream.Size);
14
Writeln ('Initial Position : ',Stream.Position);
17
Stream.WriteDWord (3);
18
Stream.WriteBuffer (S[1],Length(S));
19
Writeln ('Stream Size is : ',Stream.Size);
20
Stream.Seek(0,soFromBeginning);
21
If Stream.ReadByte<>1 then Writeln ('First byte not 1');
22
If Stream.ReadWord<>2 then Writeln ('First word not 2');
23
If Stream.ReadDWord<>3 then Writeln ('First DWord not 3');
24
If Stream.Read(T[1],Length(S))<>Length(S) then
25
Writeln ('Couldn''t read string.');
26
Writeln ('Second pass.');
29
Stream.WriteDWord (3);
30
Stream.WriteBuffer (S[1],Length(S));
31
Writeln ('Stream Size is : ',Stream.Size);
32
Writeln ('Stream Position is : ',Stream.Position);
33
Writeln ('Freeing stream.');
35
Writeln ('Creating stream Read-Only');
36
Stream:=TFileStream.Create('Test2.dat',fmOpenRead);
37
Writeln ('Stream Size is : ',Stream.Size);
38
Stream.Seek(0,soFromBeginning);
39
If Stream.ReadByte<>1 then Writeln ('First byte not 1');
40
If Stream.ReadWord<>2 then Writeln ('First word not 2');
41
If Stream.ReadDWord<>3 then Writeln ('First DWord not 3');
42
If Stream.Read(T[1],Length(S))<>Length(S) then
43
Writeln ('Couldn''t read string.');
44
If Stream.ReadByte<>1 then Writeln ('Second byte not 1');
45
If Stream.ReadWord<>2 then Writeln ('Second word not 2');
46
If Stream.ReadDWord<>3 then Writeln ('Second DWord not 3');
47
If Stream.Read(T[1],Length(S))<>Length(S) then
48
Writeln ('Couldn''t read string.');
49
Writeln ('Stream Size is : ',Stream.Size);
50
Writeln ('Stream Position is : ',Stream.Position);