[Overview][Constants][Types][Procedures and functions][Variables][Index] |
Duplicate a file handle
Source position: line 0
function Dup( |
oldfile: LongInt; |
var newfile: LongInt |
):Boolean; |
var oldfile: text; |
var newfile: text |
):Boolean; |
var oldfile: file; |
var newfile: file |
):Boolean; |
Makes NewFile an exact copy of OldFile, after having flushed the buffer of OldFile in case it is a Text file or untyped file. Due to the buffering mechanism of Pascal, this has not the same functionality as the dup call in C. The internal Pascal buffers are not the same after this call, but when the buffers are flushed (e.g. after output), the output is sent to the same file. Doing an lseek will, however, work as in C, i.e. doing a lseek will change the fileposition in both files.
The function returns False in case of an error, True if successful.
In case of errors, Linuxerror is used to report errors.
|
Duplicate one filehandle to another |
program Example31; { Program to demonstrate the Dup function. } uses oldlinux; var f : text; begin if not dup (output,f) then Writeln ('Dup Failed !'); writeln ('This is written to stdout.'); writeln (f,'This is written to the dup file, and flushed');flush(f); writeln end.
lazarus-ccr.sourceforge.net |