summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/fcl-base/examples/istream.pp
blob: e04ab991135967b3887d557c0212d21c96412c3a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Program TestStream;

{
  When testing, remember to send something through standard input !!
}

uses sysutils,classes,iostream;

Var Stream : TIOStream;
    S,T : String;
    i : longint;
    SS : ShortString;

begin
  S:='ABCDEFGHIJKLMNOPQRSTUVWXYZ %d'#10;
  T:=S;
  Writeln ('Creating output stream.');
  Stream:=TIOStream.Create(iosOutPut);
  For I:=1 to 10 do
    begin
    S:=Format(T,[I]);
    Stream.WriteBuffer (S[1],Length(S));
    end;
  Stream.Free;
  Writeln ('Creating error stream.');
  Stream:=TIOStream.Create(iosError);
  For I:=1 to 10 do
    begin
    S:=Format(T,[I]);
    Stream.WriteBuffer (S[1],Length(S));
    end;
  Stream.Free;
  Writeln ('Creating input stream');
  Stream:=TIOStream.Create(iosInput);
  SS:='aha';
  While Length(SS)>0 do
    begin
    SetLength(SS,Stream.Read(SS[1],255));
    Write(SS);
    end;
  Writeln ('Read ',Stream.Position,' bytes.');
  Stream.Free;
end.