You need this:
Import brl.map
Import brl.retro
Private
Function ParseAppArgs()
For n=1 To AppArgs.length-1
indicator$=Left(AppArgs[n],1)
key$=Lower(Right(AppArgs[n],AppArgs[n].length-1))
Select indicator$
Case "+"
n:+1
If n>=AppArgs.length Exit
value$=AppArgs[n]
AppSettings.insert key,value
Case "-"
AppSettings.insert key,"1"
EndSelect
Next
EndFunction
Public
Global AppSettings:TMap=New TMap
ParseAppArgs()
LoadSettings()
Rem
bbdoc:
EndRem
Function AppSetting$(key$,defaultvalue$="")
If key="" Return
key=Lower(key)
value$=String(AppSettings.valueforkey(key$))
If value=""
Return defaultvalue
Else
Return value
EndIf
EndFunction
Rem
bbdoc:
EndRem
Function SetAppSetting$(key$,value$)
key=Lower(key)
If value="" value=Null
AppSettings.insert key,value
EndFunction
Rem
bbdoc:
EndRem
Function LoadSettings()
Local stream:TStream
Local s$,key$,value$
Local keypair$[]
stream=ReadFile(StripExt(AppFile)+".cfg" )
If Not stream Return
While Not stream.Eof()
s=stream.ReadLine()
keypair=s.split("=")
key=Lower(Trim(keypair[0]))
value=Replace(Trim(keypair[1]),"~q","")
If keypair.length=2 AppSettings.insert key,value
Wend
stream.close()
EndFunction
Rem
bbdoc:
EndRem
Function SaveSettings()
Local stream:TStream
Local key$
stream=WriteFile(StripExt(AppFile)+".cfg" )
If Not stream Return
For key=EachIn AppSettings.keys()
stream.WriteLine key+"=~q"+String(AppSettings.valueforkey(key))+"~q"
Next
stream.close()
EndFunction
|