Determine if file exists

 BBS: Inland Empire Archive
Date: 11-16-92 (11:16)             Number: 381
From: DIK COATES                   Refer#: NONE
  To: JIM COYLE                     Recvd: NO  
Subj: Determine if file exists       Conf: (2) Quik_Bas
In a message from Jim Coyle to David Solly
Msg #73, 10-Nov-92 08:23PM
Subject: Re: Existing File check

'This file is called "DS.BAS"
'File "SOMEFILE.XXX" does not initially exist in subdirectory...
'using only FILEEXIST% and no function call, gives EXE file size = 48172 bytes
'using only FILEEXIST1% and no function calls, gives EXE
file size = 23140 bytes
'therefore, using DIR$ Function yields smaller executable!
' by returning -1 instead of 1 allows BOOLEAN operations...


DECLARE FUNCTION FILEEXIST1% (filename$)
DECLARE FUNCTION FILEEXIST% (filename$)



CLS

OPEN "SOMEFILE.XXX" FOR BINARY AS #1    'This is the form for all that follow
  IF LOF(1) THEN                          'test for true, not a numeric value
    found% = -1                   'return -1 and not 1 then boolean NOT works
  ELSE
    found% = 0
  END IF
CLOSE #1

PRINT found%; NOT found%


OPEN "DS.BAS" FOR BINARY AS #1
  IF LOF(1) THEN
    found% = -1
  ELSE
    found% = 0
  END IF
CLOSE #1

PRINT found%; NOT found%


OPEN "DS.BAS" FOR BINARY AS #1
  IF LOF(1) THEN
    found% = 1                        'return 1 then boolean NOT doesn't work
  ELSE
    found% = 0
  END IF
CLOSE #1

PRINT found%; NOT found%                            'NOT for 1 is equal to -2
PRINT


'*****  In Modular form using LOF Function

IF FILEEXIST%("DS.BAS") THEN
  PRINT "DS.BAS Exists"
ELSE
  PRINT "DS.BAS NOT Exist"
END IF

IF FILEEXIST%("SOMEFILE.XXX") THEN
  PRINT "SOMEFILE.XXX Exists"
ELSE
  PRINT "SOMEFILE.XXX NOT Exist"
END IF

PRINT


'*****  In Modular form using DIR$ Function

IF FILEEXIST%("DS.BAS") THEN
  PRINT "DS.BAS Exists"
ELSE
  PRINT "DS.BAS NOT Exist"
END IF

IF FILEEXIST1%("SOMEFILE.XXX") THEN            'function returns true because
  PRINT "SOMEFILE.XXX Exists"                  '0 length filename exists
ELSE
  PRINT "SOMEFILE.XXX NOT Exist"
END IF


KILL "SOMEFILE.XXX"                                     'destroy the evidence

IF FILEEXIST1%("SOMEFILE.XXX") THEN                   'function false because
  PRINT "SOMEFILE.XXX Exists"                         'filename NOT exist
ELSE
  PRINT "SOMEFILE.XXX NOT Exist"
END IF



FUNCTION FILEEXIST% (filename$)

  temp% = FREEFILE

  OPEN filename$ FOR BINARY AS temp%    'This is the form for all that follow
    IF LOF(temp%) THEN                    'test for true, not a numeric value
      FILEEXIST% = -1             'return -1 and not 1 then boolean NOT works
'   ELSE                          'not needed, included because original code
'     FILEEXIST% = 0              'not needed
    END IF
  CLOSE #temp%

END FUNCTION



FUNCTION FILEEXIST1% (filename$)

  IF LEN(DIR$(filename$)) THEN
    FILEEXIST1% = -1
  END IF

END FUNCTION

... Will someone please bind and gag the moderator! -Dik
___ Blue Wave/QWK v2.10

--- Maximus 2.00
 * Origin: Durham Systems (ONLINE!) (1:229/110)
Outer Court
Echo Basic Postings

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