External Files
From Director Online Wiki
Contents
Text Files
There are many ways/xtras to read/write/etc text files with lingo. One is of course the free onboard xtra FileIo. But there are others to mention, such as the FileXtra (free), of course BuddyAPI (commercial, 2 functions free), ...
read
FileIO
on fileRead( aFilePath ) --returns: string fileContents --params: string filePath --description: reads a complete .txt file -- no idea about mac line breaks etc in this version. --xtras: fileIO --example: put fileRead( "c:\test.txt" ) -- -- "line 1 -- line 2" vFIO = new(xtra("fileIo")) vFIO.openFile(aFilePath, 1) --1=read vStr = vFIO.readFile() vFIO.closeFile() vFIO = VOID return vStr end fileRead
write
FileIO
on fileWrite( aStr, aFilePath ) --returns: err code --params: string, string filePath --description: writes (and overwrites) a complete .txt file. -- no idea about mac line breaks etc in this version --xtras: fileIO --example: put fileWrite( "line 1"&RETURN&"line 2", "c:\test.txt" ) -- -- 0 -- create the FileIO instance vFIO = new(xtra("fileIo")) -- delete existing file, if ness. vFIO.openFile(aFilePath,2) vFIO.delete() -- create and open the file vFIO.createFile(aFilePath) vFIO.openFile(aFilePath,2) -- check to see if file opened ok if vFIO.status()<>0 then err = vFIO.error(vFIO.status()) return err end if -- write the file vFIO.writeString( aStr ) -- close the file vFIO.closeFile() vFIO = void return 0 end fileWrite
append
FileIO
on fileAppend( aStr, aFilePath ) --returns: err code --params: string, string filePath --description: writes a new line after a text file. creates file if ness. --xtras: fileIO --example: put fileAppend( "this is a new new line", "c:\test.txt" ) -- -- 0 -- leading linebreak aStr = RETURN&numToChar(10) & aStr -- how about the mac line break here? anyone? -- ben -- create the FileIO instance vFIO = new(xtra("fileIo")) -- open file vFIO.openFile( aFilePath,2 ) -- check to see if file opened ok (exists file) vStatus = vFIO.status() case vStatus of -37, -43: -- -37="Bad file name" -- -43="File not found" -- create and open the file vFIO.createFile(aFilePath) vFIO.openFile(aFilePath,2) aStr = aStr.char[ 3..aStr.length ] end case -- check to see if file opened ok if vFIO.status()<>0 then err = vFIO.error( vFIO.status() ) return err -- ERR end if -- Set position to end of file vFIO.setPosition( vFIO.getLength() ) -- write the file vFIO.writeString( aStr ) -- close the file vFIO.closeFile() vFIO = void return 0 end fileAppend
delete
FileIO
on fileDelete( aFilePath ) --returns: 0 or err code --params: string filePath --description: deletes a file --xtras: fileIO --example: put fileDelete( "c:\test.txt" ) -- -- 0 vFIO = new(xtra "fileIO") vFIO.openFile(aFilePath,0) vFIO.delete() vFIO = void return 0 end fileDelete
Registered Files
read
Here you can see various ways to open files with their associated application.
BuddyAPI
baOpenFile( "c:\test.doc", "maximized" )
FileXtra4
xtra("FileXtra4").new().fx_FileOpenDocument( "c:\test.doc" )