home *** CD-ROM | disk | FTP | other *** search
- rem File Functionality
-
- rem Standard Setup Code for all examples
- set text font "arial" : set text size 16
- set text to bold : set text transparent
-
- rem Launch external program and wait
- EXECUTE FILE "Exe.exe","","",1
-
- rem Run file tests
- gosub _checklistfiles : gosub _waitkey
- gosub _checklistdrives : gosub _waitkey
- gosub _diranddrive : gosub _waitkey
- gosub _makefiles : gosub _waitkey
- gosub _deletefiles : gosub _waitkey
- gosub _sequentialwrite : gosub _waitkey
- gosub _sequentialread : gosub _waitkey
- gosub _readtoend : gosub _waitkey
- gosub _viewfiles : gosub _waitkey
- gosub _modifyafilebyte : gosub _waitkey
- gosub _showdata : gosub _waitkey
-
- rem End program
- end
-
- _checklistfiles:
- cls : print "CHECKLIST FILES"
- perform checklist for files
- for f=1 to checklist quantity()
- print "> ";checklist string$(f)
- next f
- return
-
- _checklistdrives:
- cls : print "CHECKLIST DRIVES"
- perform checklist for drives
- for f=1 to checklist quantity()
- print "> ";checklist string$(f)
- next f
- return
-
- _diranddrive:
- cls : print "DRIVELIST AND DIR"
- drivelist
- dir
- return
-
- _makefiles:
- cls : print "MAKE FILES AND FOLDERS"
- make directory "leedir"
- set dir "leedir"
- make file "leefile.txt"
- copy file "leefile.txt","newfile.txt"
- rename file "newfile.txt","renamed.txt"
- move file "renamed.txt","moved.txt"
- dir
- set dir ".."
- return
-
- _deletefiles:
- cls : print "DELETE FILES AND FOLDERS"
- set dir "leedir"
- delete file "leefile.txt"
- delete file "moved.txt"
- dir
- set dir ".."
- delete directory "leedir"
- return
-
- _sequentialwrite:
- cls : print "WRITE SEQUENTIAL FILES"
- if file exist("seq.txt") then delete file "seq.txt"
- open to write 1,"seq.txt"
- write file 1,1000
- write byte 1,255
- write word 1,65535
- write long 1,2200000
- write float 1,42.24
- write string 1,"hello world"
- write fileblock 1,"file.dat"
- close file 1
- print "file written"
- return
-
- _sequentialread:
- cls : print "READ SEQUENTIAL FILES"
- open to read 1,"seq.txt"
- read file 1,a : print a
- read byte 1,a : print a
- read word 1,a : print a
- read long 1,a : print a
- read float 1,a# : print a#
- read string 1,a$ : print a$
- read fileblock 1,"file2.dat"
- close file 1
- print "file read"
- return
-
- _readtoend:
- cls : print "READ EVERY BYTE OF A FILE"
- open to read 1,"seq.txt"
- if file open(1)=1
- c=0
- while file end(1)=0 and c<1000
- read byte 1,A
- print ">";A
- inc c
- endwhile
- close file 1
- endif
- return
-
- _viewfiles:
- cls : print "VIEW EACH FILE IN A FOLDER"
- find first
- while get file type()<>-1
- print "Type:";get file type();
- print " Name:";get file name$();
- print " Date:";get file date$()
- find next
- endwhile
- return
-
- _modifyafilebyte:
-
- rem Read byte content of a file
- tbyte as BYTE
- tbyte=read byte from file("exe.exe",1000)
-
- rem Write a transposed value back in same place
- write byte to file "exe.exe",1000,255-tbyte
-
- rem Open file for sequential access
- open to read 1,"exe.exe"
- skip bytes 1,1000
- read byte 1,newbyte
- close file 1
- print newbyte
-
- rem Restore file to normal
- write byte to file "exe.exe",1000,tbyte
-
- return
-
- _showdata:
- cls : print "SHOW FILE DATA"
- print "appname:";appname$()
- print "windir:";windir$()
- print "dir:";get dir$()
- print "exist:";file exist("seq.txt")
- print "pathexist:";path exist("leedir")
- print "size:";file size("seq.txt")
- return
-
- _waitkey:
- print : print "Press Key"
- wait key : sleep 500
- return
-