[comp.lang.pascal] DOS file handles in TURBO

ZRWA001%DTUZDV1.BITNET@wiscvm.wisc.EDU (09/24/87)

Turbo pascal keeps the file handle in the filevariable. Example:
instead of     VAR DAT:FILE OF ...
you can write:
               VAR DAT:RECORD CASE INTEGER OF
                        1:(FIL:FILE OF ...);
                        2:(HANDLE:INTEGER;
                           RECORDLENGTH:INTEGER;
                           BUFFEROFFSET:INTEGER;
                           BUFFERLENGTH:INTEGER;
                           BUFFERPOINTER:INTEGER;
                           BUFFEREND:INTEGER;
                           PATH:ARRAY12..75!OF CHAR;);
where HANDLE is the file handle used by DOS or $FFFF if file is closed and
PATH is an ASCIIZ string of the full filename.

When you close a file with the DOS call you have to set the HANDLE in the
file variable to $FFFF and perhaps the BUFFERPOINTER to BUFFEROFFSET.
I hope this helps but I haven't tested this.

Helmut (ZRWA001@DTUZDV1.BITNET)

P.S. What's about INFO-PASCAL BITNET side after the shutdown of WISCVM ??