@@ -70,27 +70,44 @@ procedure ClearSimbaOutput(const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
7070end ;
7171
7272(*
73- SetSimbaSetting
74- ---------------
73+ GetSetting
74+ ----------
7575```
76- function SetSimbaSetting( Name: String; DefValue: String = ''): String;
76+ function GetSetting(Section, Name: String; DefValue: String = ''): String;
7777```
78+ Read a string setting from Simba's settings.ini.
79+ Returns `DefValue` if the setting does not exist.
7880*)
79- procedure _LapeGetSimpleSetting (const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV
81+ procedure _LapeGetSetting (const Params: PParamArray; const Result: Pointer); LAPE_WRAPPER_CALLING_CONV
8082begin
81- PString(Result)^ := SimbaSettings.GetSimpleSetting(PString(Params^[0 ])^, PString(Params^[1 ])^);
83+ PString(Result) ^ := SimbaSettings.GetSimpleSetting(PString(Params^[0 ])^, PString(Params^[1 ])^, PString(Params^[ 2 ])^);
8284end ;
8385
8486(*
85- GetSimbaSetting
86- ---------------
87+ SetSetting
88+ ----------
8789```
88- procedure GetSimbaSetting(Name, Value: String);
90+ procedure SetSetting(Section, Name: String; Value: String);
8991```
92+ Write a string setting in Simba's settings.ini.
9093*)
91- procedure _LapeSetSimpleSetting (const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
94+ procedure _LapeSetSetting (const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
9295begin
93- SimbaSettings.SetSimpleSetting(PString(Params^[0 ])^, PString(Params^[1 ])^);
96+ SimbaSettings.SetSimpleSetting(PString(Params^[0 ])^, PString(Params^[1 ])^, PString(Params^[2 ])^);
97+ end ;
98+
99+ (*
100+ RemoveSetting
101+ -------------
102+ ```
103+ procedure RemoveSetting(Section, Name: String);
104+ ```
105+ Remove a setting from Simba's setting.ini.
106+ If `Name` is empty, will remove the entire section.
107+ *)
108+ procedure _LapeRemoveSetting (const Params: PParamArray); LAPE_WRAPPER_CALLING_CONV
109+ begin
110+ SimbaSettings.RemoveSimpleSetting(PString(Params^[0 ])^, PString(Params^[1 ])^);
94111end ;
95112
96113(*
@@ -581,8 +598,10 @@ procedure ImportMisc(Script: TSimbaScript);
581598 ]);
582599
583600 addGlobalFunc(' procedure ClearSimbaOutput' , @ClearSimbaOutput);
584- addGlobalFunc(' function SetSimbaSetting(Name: String; DefValue: String = ""): String' , @_LapeGetSimpleSetting);
585- addGlobalFunc(' procedure GetSimbaSetting(Name, Value: String);' , @_LapeSetSimpleSetting);
601+
602+ addGlobalFunc(' function GetSetting(Section, Name: String; DefValue: String = ""): String;' , @_LapeGetSetting);
603+ addGlobalFunc(' procedure SetSetting(Section, Name, Value: String);' , @_LapeSetSetting);
604+ addGlobalFunc(' procedure RemoveSetting(Section, Name: String);' , @_LapeRemoveSetting);
586605 addGlobalFunc(' procedure PlaySound(Sound: String)' , @_LapePlaySound);
587606 addGlobalFunc(' procedure StopSound' , @_LapeStopSound);
588607 addGlobalFunc(' procedure SetClipBoard(Data: string)' , @_LapeSetClipBoard);
0 commit comments