BBS: Inland Empire Archive Date: 02-11-93 (11:32) Number: 343 From: DOUGLAS LUSHER Refer#: NONE To: OWEN GIBBINS Recvd: NO Subj: FILE HANDLING Conf: (2) Quik_Bas
OG>Are there any functions in QuickBASIC similar to the EXIST and NOT OG>EXIST functions in batch files? Owen: there is no built in function in QB that will do what you want, but I believe there is in PDS. Below is a function that you can add to QB to acomplish the task. Be sure to load QB with the /L switch, and add '$INCLUDE: 'QB.BI' to the beginning of your program. Use it like this: File$ = "MYFILE.BAS" IF FileExists%(File$) THEN PRINT "The file "; File$; " actually exists!" ELSE PRINT "The file "; File$; " isn't there." END IF Here's the function: FUNCTION FileExists% (FileName$) 'returns True (-1) if the specified file exists, returns False (0) 'otherwise DIM XRegister as RegTypeX 'save the current DTA XRegister.AX = &H2F00 CALL InterruptX(&H21, XRegister, XRegister) OldDTASeg% = XRegister.ES OldDTAOff% = XRegister.BX 'set up a new DTA DTA$ = SPACE$(43) XRegister.AX = &H1A00 XRegister.DS = VARSEG(DTA$) XRegister.DX = SADD(DTA$) CALL InterruptX(&H21, XRegister, XRegister) ' *** get first matching file TempFileName$ = FileName$ + CHR$(0) XRegister.AX = &H4E00 XRegister.CX = &H6 'find normal, hidden & system files XRegister.DS = VARSEG(TempFileName$) XRegister.DX = SADD(TempFileName$) CALL InterruptX(&H21, XRegister, XRegister) FileExists% = ((XRegister.Flags AND 1) = 0) 'if the carry flag is 'clear, the file exists 'restore the original DTA XRegister.AX = &H1A00 XRegister.DS = OldDTASeg% XRegister.DX = OldDTAOff% CALL InterruptX(&H21, XRegister, XRegister) END FUNCTION --- þ SLMR 2.1a þ All hope abandon, ye who enter messages here. --- TMail v1.30.4 * Origin: TC-AMS MLTBBS 2.2 - Minnetonka, MN (612)-938-4799 (1:282/7)
Books at Amazon:
Back to BASIC: The History, Corruption, and Future of the Language
Hackers: Heroes of the Computer Revolution (including Tiny BASIC)
Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution
The Advent of the Algorithm: The Idea that Rules the World
Moths in the Machine: The Power and Perils of Programming
Mastering Visual Basic .NET