{$A+,B-,D+,E+,F-,G+,I+,L+,N-,O-,P-,Q-,R-,S+,T-,V-,X+,Y+} {$M 16384,0,655360} {Ä Fido Pascal Conference ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ PASCAL Ä Msg : 193 of 292 From : Wilbert van Leijen 2:281/256.14 14 May 93 19:29 To : Vince Laurent 1:382/10.0 Subj : a few questions... ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ 07 May 93, Vince Laurent writes to All: VL> 1. What is the quickest way to check for the existance of a file? VL> I am going to be running the application on a network and would VL> like to minimize network traffic. You cannot bypass the file server for this purpose, the reason should be obvious. So peer-to-peer communication protocols are out. Suggestion: obtain the file's attributes using INT 21h, AH=43h, DS:DX -> ASCIIZ filename. If this call sets the carry flag, the file doesn't exist. Otherwise, it does. Advantage: no need for an attempt to open it.} Function FileExist(filename : String) : Boolean; Assembler; ASM PUSH DS LDS SI, [filename] { make ASCIIZ } XOR AH, AH LODSB XCHG AX, BX MOV Byte Ptr [SI+BX], 0 MOV DX, SI MOV AX, 4300h { get file attributes } INT 21h MOV AL, False JC @1 { fail? } INC AX @1: POP DS end; { FileExist }