Skip to content

Using Explicit I/O Channels

When more than one channel is used for simultaneous input or output, you must explicitly assign separate channel numbers to each file. The following example demonstrates reading data from three files and writing their combined contents to a fourth.

String sCar sBus sTaxi
Direct_Input  Channel 2  "c:\Cars.txt"
Direct_Input  Channel 3  "c:\Busses.txt"
Direct_Input  Channel 4  "c:\Taxis.txt"
Direct_Output Channel 5  "c:\Vehicles.txt"

// Read from Cars.txt
Repeat
    Readln   Channel 2  sCar
    Writeln  Channel 5  sCar
Until (Seqeof)

// Read from Busses.txt
Repeat
    Readln   Channel 3  sBus
    Writeln  Channel 5  sBus
Until (Seqeof)

// Read from Taxis.txt
Repeat
    Readln   Channel 4  sTaxi
    Writeln  Channel 5  sTaxi
Until (Seqeof)

Close_Input  Channel 2
Close_Input  Channel 3
Close_Input  Channel 4
Close_Output Channel 5

The (Seqeof) expression will return the end-of-file status of the last referenced channel number in a Readln command.