# Command: WriteFile

WriteFile (filename$) Definition:

Opens a file on disk for writing operations.

Parameter Description:

filename$ = any valid path and filename. The returned value is the filehandle which is an integer value.

Command Description:

This command opens the designated filename and prepares it to be written to. Use this to write your own configuration file, save game data, etc. also useful for saving custom types to files. The filehandle that is returned is an integer value that the operating system uses to identify which file is to be written to and must be passed to the functions such as WriteInt(). If the file could not be opened then the filehandle is Zero.
See also:
ReadByte, ReadShort, ReadInt, ReadFloat, ReadString$, ReadLine$, WriteByte, WriteShort, WriteInt, WriteFloat, WriteShort, WriteString, WriteLine, ReadFile, WriteFile, OpenFile, CloseFile, Eof, FileType, FilePos, SeekFile

Example:

; Reading and writing custom types to files using ReadFile, WriteFile and CloseFile
; Initialise some variables for the example
Type HighScore
Field Name$
Field Score%
Field Level%
End Type
Best.HighScore = New HighScore
Best\Name = "Mark"
Best\Score = 11657
Best\Level = 34
; Open a file to write to
fileout = WriteFile("mydata.dat")
; Write the information to the file
WriteString( fileout, Best\Name )
WriteInt( fileout, Best\Score )
WriteByte( fileout, Best\Level )
; Close the file
CloseFile( fileout )
; Open the file to Read
filein = ReadFile("mydata.dat")
; Lets read the Greatest score from the file
Greatest.HighScore = New HighScore
Greatest\Name$ = ReadString$( filein )
Greatest\Score = ReadInt( filein )
Greatest\Level = ReadByte( filein )
; Close the file once reading is finished
CloseFile( fileout )
Print "High score record read from - mydata.dat "
Print
Write "Name = "
Print Greatest\Name
Write "Score = "
Print Greatest\Score
Write "Level = "
Print Greatest\Level
WaitKey()

Index