next up previous contents index
Next: AssignStream Up: Functions and procedures Previous: Access

AssignPipe

   

Declaration:

Procedure AssignPipe (Pipe_in, Pipe_out : Text) ;

Description:

AssignePipe creates a pipe, i.e. two file objects, one for input, one for output. What is written to Pipe_out, can be read from Pipe_in. Reading and writing happens through the usual Readln(Pipe_in,...) and Writeln (Pipe_out,...) procedures.

Errors:

LinuxError is used to report errors:

sys_emfile
Too many file descriptors for this process.
sys_enfile
The system file table is full.

See also:

POpen, MkFifo, pipe (2)

Example
Program Example36;

{ Program to demonstrate the AssignPipe function. }

Uses linux;

Var pipi,pipo : Text;
    s : String;
    
begin
  Writeln ('Assigning Pipes.');
  assignpipe(pipi,pipo);
  if linuxerror<>0 then 
    Writeln('Error assigning pipes !');
  Writeln ('Writing to pipe, and flushing.');
  Writeln (pipo,'This is a textstring');close(pipo);
  Writeln ('Reading from pipe.');
  While not eof(pipi) do 
    begin
    Readln (pipi,s);
    Writeln ('Read from pipe : ',s);
    end;
  close (pipi);
  writeln ('Closed pipes.');
  writeln
end.



Michael Van Canneyt
Thu Sep 10 13:59:33 CEST 1998