I have a UDF that does this if anyone wants it. I was going to post it in the UDF libary but there was already an OpenFile() posted.
code:
;FUNCTION         OpenFile()
;
;AUTHOR Howard A. Bullock (hbullock@tycoelectronics.com)
;
;ACTION Opens file based on specified parameters. Supports overwriting a file.
;
;SYNTAX OpenFile(FileName, R|W, [0|1], [0|1])
;
;PARAMETERS $FileName (Required) - String value
; $ReadWrite (Required) - String value
; $Create (Optional) Default(0) Do not create a new file. (1 or 0)
; $OverWrite (Optional) - Default(0) Append (1 or 0)
;
;
;REMARKS This function attempts to open the specified file. @error is set on exit.
; The UDF will search for the first available file number.
;
;RETURNS File handle (integer 1-10) if successful; nothing if error
;
;DEPENDENCIES None
;
;EXAMPLES $FH = OpenFile("junk.txt", "W") ;Open file for write; do not create the file; append
; if @error = 0
; Writeline($FH, "Some text")
; endif
;
; $FH2 = OpenFile("junk2.txt", "W", 1, 1) ;Open file for write; create the file; delete old file
; if @error = 0
; Writeline($FH2, "Some text")
; endif;
;
Function OpenFile($FileName, $ReadWrite, optional $Create, optional $Overwrite)
Dim $FileName, $ReadWrite, $Create, $Overwrite
Dim $FH, $RC, $Mode

; Validate input parameters
if VarType($Create) = 0
$Create = 0
endif
if VarType($Overwrite) = 0
$Overwrite = 0
endif
if not (VarType($FileName) = 8 and
($ReadWrite = "R" or $ReadWrite = "W") and
($Create = 0 or $Create = 1) and
($Overwrite = 0 or $Overwrite = 1) )
;WriteLog($LogFile, "OpenFile: Error in parameters (" + $FileName + ", " + $ReadWrite + ", " + $Create + ", " + $OverWrite + ")")
exit 1
endif
if $Create < $OverWrite
;WriteLog($LogFile, "OpenFile: Error in parameters ("You must specify Create=1 when OverWrite=1")
exit 1
endif

; Build Mode value
if $Create = 0
$Mode = 0
else
$Mode = 1
endif
if $ReadWrite = "R"
$Mode = $Mode + 2
else
$Mode = $Mode + 4
endif

;Handle OverWrite option
if $OverWrite = 1
if exist ($Filename)
del $Filename
endif
endif

; Open file
$FH=1
$RC=Open ($FH, $FileName, $Mode)
? "@error @serror"
if $RC <> 0
select
case $RC=2
;WriteLog("open($FileNum, $FileName, $Mode) Error: $RC (Cannot find the file specified)")
exit $RC
case $RC=-3
while $RC = -3 and $FH < 11
$RC=Open ($FH, $FileName, $Mode)
if $RC = -3
$FH=$FH +1
endif
Loop
if $RC = -3
;WriteLog("open($FileNum, $FileName, $Mode) Error: $RC (All file numbers are in use.)")
exit $RC
endif
case $RC=-2
;WriteLog("open($FileNum, $FileName, $Mode) Error: $RC (Invalid file number specified)")
exit $RC
case $RC=-1
;WriteLog("open($FileNum, $FileName, $Mode) Error: $RC (File number already in use)")
exit $RC
case 1
;WriteLog("open($FileNum, $FileName, $Mode) Error: $RC (System error)")
exit $RC
endselect
endif
;WriteLog("Success: Open($FileNum, $FileName, $ReadWrite, $OverWrite) returned file handle: ")
$OpenFile = $FH
exit 0
Endfunction


_________________________
Home page: http://www.kixhelp.com/hb/