erzeugt wenn sie nicht schon existiert.
Wenn sie schon existiert aber Einträge fehlen werden die incl. PreferenceComment eingetragen.
Das kann man leicht testen wenn man aus der server.ini Einträge entfernt und den Code neu laufen lässt.
Dabei wird dann mein Problem sichtbar :
Der erste PreferenceComment steht nicht vor dem dazugehörigen Eintrag.
Hat jemand eine Idee wie ich das besser lösen kann ?
Code: Alles auswählen
Global ServerFolder.s=Space(255)
GetCurrentDirectory_(255,@ServerFolder)
If Right(ServerFolder,1)<>"\"
ServerFolder+"\"
EndIf
;server.ini
Global ServerName.s = "WF-Server"
Global Port = 80
Global BufferSize = 16777216
Global WebFolder.s = "www"
Procedure.s ReadPreferenceStringKey(Keyword.s,Value.s)
Value="*"+Value
Value=ReadPreferenceString(Keyword,Value)
If Left(Value, 1) = "*"
Value=Right(Value, Len(Value)-1)
Now.s = FormatDate("J%yyyy M%mm D%dd T%hh:%ii:%ss : ", Date())
PreferenceComment(Now+"The following entry was missed and therefore insert by server.")
WritePreferenceString(Keyword, Value)
EndIf
ProcedureReturn Value
EndProcedure
Procedure.l ReadPreferenceLongKey(Keyword.s,LongValue.l)
Value.s="*"+Str(LongValue)
Value=ReadPreferenceString(Keyword,Value)
If Left(Value, 1) = "*"
Value=Right(Value, Len(Value)-1)
Now.s = FormatDate("J%yyyy M%mm D%dd T%hh:%ii:%ss : ", Date())
PreferenceComment(Now+"The following entry was missed and therefore insert by server.")
WritePreferenceString(Keyword, Value)
EndIf
ProcedureReturn Val(Value)
EndProcedure
Procedure.l ReadINI()
Select FileSize("server.ini")
Case -1
CreatePreferences("server.ini")
Now.s = FormatDate("J%yyyy M%mm D%dd T%hh:%ii:%ss : ", Date())
PreferenceComment(Now+"This file was missed and therefore written by server.")
WritePreferenceString("ServerName",ServerName)
WritePreferenceLong("Port",Port)
WritePreferenceLong("BufferSize",BufferSize)
WritePreferenceString("WebFolder",WebFolder)
ClosePreferences()
ReturnValue = 1
Case -2
MessageRequester("Error","Couldn't create server.ini in Folder "+ServerFolder+" .")
ReturnValue = 2
Default
OpenPreferences("server.ini")
Now.s = FormatDate("J%yyyy M%mm D%dd T%hh:%ii:%ss : ", Date())
PreferenceComment(Now+"Last server access.")
ServerName=ReadPreferenceStringKey("ServerName",ServerName)
Port=ReadPreferenceLongKey("Port",Port)
BufferSize=ReadPreferenceLongKey("BufferSize",BufferSize)
WebFolder=ReadPreferenceStringKey("WebFolder",WebFolder)
ClosePreferences()
ReturnValue = 0
EndSelect
ProcedureReturn ReturnValue
EndProcedure
ReadINI()