home *** CD-ROM | disk | FTP | other *** search
- *****************************************************************
- FUNCTION TEMPFILE (extension, path)
- *****************************************************************
-
- * Creates a unique temporary filename on the selected disk
-
- * Copyright(c) 1991 - James Occhiogrosso
-
-
- LOCAL temp_ext, file_name, counter, handle
-
- file_name = ''
-
- * If path not passed, default to current drive and directory.
- IF path = NIL
- path = ''
-
- * If path passed without a trailing backslash ("\"), add it.
- ELSEIF SUBSTR(path, -1, 1) != '\'
- path = path + '\'
-
- ENDIF
-
-
- IF extension = NIL
- * Default to TMP if extension not passed
- extension = 'TMP'
- ELSE
- * Trim extension to DOS maximum of 3 characters
- extension = SUBSTR(UPPER(extension),1,3)
- ENDIF
-
-
- FOR counter = 1 TO 9999
-
- * Create unique filename in format TEMPnnnn.EXT
- IF EMPTY(extension)
- file_name = path + 'TEMP' + PADL(counter, 4, '0') + '.'
- ELSE
- file_name = path + 'TEMP' + PADL(counter, 4, '0') + ;
- '.' + extension
- ENDIF
-
- * See if the file name just created already exists
- IF .NOT. FILE(file_name)
- EXIT
- ENDIF
- NEXT
-
- IF counter >= 9999
- * Cannot find a unique name, return null string
- file_name = ''
-
- ELSE
- * We have a unique file name, create and close file
- handle = FCREATE(file_name)
- file_name = IF (FCLOSE(handle), file_name, '')
-
- ENDIF
-
- RETURN(file_name)
-
-
-