File Streams - Appending to File
Blitz3D Forums/Blitz3D Programming/File Streams - Appending to File| 
 | ||
| I have a simple Logging function for a project, but I can't seem to get it to work correctly. Currently, the code just seems to overwrite a single line each time. I am not sure if it's related to the closing and re-opening. (Incidentally, what diffeerence(s) are there between OpenFile and WriteFile? ) However, I don't like to leave any files Open, especially as my program may involve other read/writes to other files elsewhere. 
Function Debug(sDebugFunction$="APPLICATION RUN",sDebugResult$="LOG START")
	If (DebugOn())
		DebugFile=WriteFile(fLOGFILE$)
		SeekFile(DebugFile,FileSize(fLOGFILE$))
		sLine$=CurrentDate$()+" | "+CurrentTime$()+" | "+sDebugFunction$+" | "+sDebugResult$
		WriteLine(DebugFile,sLine$)
		CloseFile DebugFile
	EndIf
        Return
End Function
Any help would be really appreciated. | 
| 
 | ||
| Maybe try doing ReadLine to see if there is anything on that line first and loop it till it gets to an empty spot? | 
| 
 | ||
| Use OpenFile(), As far as im aware WriteFile() zeros the file ready for writing. You might want to use WriteFile() first to create a file. OpenFile() requires that the file exists. | 
| 
 | ||
| May offer some help: http://www.blitzbasic.com/Community/posts.php?topic=27896 | 
| 
 | ||
| Yes, you need to check to see if the log file exists, if it does use OpenFile, else use WriteFile. | 
| 
 | ||
| Oh the file definitely exists. OpenFile worked fine. Thanks for the info. I shoulda tried that before posting, really ;) | 
| 
 | ||
| file = OpenFile(path$) SeekFile file, FileSize(path$)The file is now opened for reading and writing and the file position is at the end of the file. |