REM  *****  BASIC  *****

Sub WriteToFile(aFile as String)
Dim iNumber As Integer
on error goto ErrorHandler REM Set up error handler
iNumber = Freefile
Open aFile For Output As #iNumber
Print #iNumber, "This is a line of text"
Print #iNumber, "This is another line of text"
Close #iNumber
Msgbox "Created and wrote to file " & aFile
exit sub
ErrorHandler:
MsgBox "WriteError " & Err & ": " & Error$ + chr(13) + "At line : " + Erl + " in WriteToFile " + chr(13) + _
"File name " + aFile
end Sub

Sub ReadFromFile(aFile as String)
Dim iNumber as integer
Dim sMsg as String
Dim sLine As String
on error goto ErrorHandler REM Set up error handler
iNumber = Freefile
Open aFile For Input As iNumber
While not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" then
sMsg = sMsg & sLine & chr(13)
end if
wend
Close #iNumber
sMsg =  "Reading from file " & aFile & chr(13) & sMsg
Msgbox sMsg
exit sub
ErrorHandler:
MsgBox "ReadError " & Err & ": " & Error$ + chr(13) + "At line : " + Erl + " in ReadFromFile " + chr(13) + _
"File name " + aFile
End Sub

Function GetFromFileAsString(aFile as String, linecount&, optional message)  as string
'get a file in as a string joining all lines, no message is output if message = 0 (default)
Dim iNumber as integer
Dim aStr as String
Dim sLine As String
on error goto ErrorHandler REM Set up error handler
if ismissing(message) then message = 0
iNumber = Freefile
Open aFile For Input As iNumber
While not eof(iNumber)
Line Input #iNumber, sLine
If sLine <>"" then
aStr  = aStr + sLine 
linecount = linecount + 1
end if
wend
Close #iNumber
if message <> 0 then Msgbox  "Fetching from file " & aFile
GetFromFileAsString = aStr
exit function
ErrorHandler:
MsgBox "FetchError " & Err & ": " & Error$ + chr(13) + "At line : " + Erl + " in GetFromFile " + chr(13) + _
"File name " + aFile
End Function
