[Gambas-user] gb.settings: Detect if a slot exists
Charlie Reinl
Karl.Reinl at ...2345...
Tue Oct 29 13:38:24 CET 2013
Am Dienstag, den 29.10.2013, 13:57 +1030 schrieb Bruce:
> I have a need to detect if a particular Slot exists in the .config
> file for an application. Just the Slot not whether any value lines exist
> under it.
>
> There doesn't seem to be a way to do this via gb.settings? I have tried
> using
>
> If Settings.Keys["Filter"] then
>
> but this seems always to be true. Similarly
>
> If Settings["Filter"] then
>
> always seems to be false.
>
> So is there a way to find out if a Slot does exist?
>
> ---- more info -----
> The problem is that the value lines depend on about 8 text boxes set or
> cleared by the user. If one or more of the text boxes are empty then
> that value line will not appear under the [Filter] slot. So I can't
> detect the existence of the slot by detecting a particular value line.
> In fact if they clear all the filter strings then that whole slot will
> disappear.
>
> Thus I need to check if the slot exists, so then I could
> If Settings.Exist["Filter"] then
> GetFilterSettings
> Else
> SetDefaultFilter
> Endif
>
Salut Bruce,
Settings.Read (gb.settings)
Sub Read ( hObject As Object [ , sKey As String, vDefault As Variant ] )
Settings("Filter", GetFilterSettings, SetDefaultFilter)
or
Public Function KeyExists(objSetting As Settings, sFindKey As String) As
Boolean
Dim sKey As String
Dim bRet As Boolean
bRet = False
For Each sKey In objSetting.Keys
If sKey = sFindKey Then
bRet = True
Break
Endif
Next
Return bRet
End
--
Amicalement
Charlie
More information about the User
mailing list