Autor: Jens-Arne Reumschüssel (---.77.8.pool.telefonica.de)
Datum: 12.03.22 09:08
Hallo,
mir fehlt im Zusammenhang mit Hash-Variablen, jedenfalls falls ich nichts übersehen habe, eine wichtige Funktion: Herauszufinden, ob ein Key zu einer Hash-Variablen existiert. Im Moment gibt es nämlich eine Fehlermeldung, wenn man einen nicht existierenden Key verwendet. Hier ein Workaround für Hash-Variablen mit bis zu fünf Dimensionen:
declare hash h[]
PROC HashKeyExists
parameters hash hashvar[],key1$,key2$,key3$,key4$,key5$
declare olderrlvl%,erg%,s$
erg%=0
olderrlvl%=@set("ERRORLEVEL",-1)
if %pcount=2
s$=hashvar[key1$]
elseif %pcount=3
s$=hashvar[key1$,key2$]
elseif %pcount=4
s$=hashvar[key1$,key2$,key3$]
elseif %pcount=5
s$=hashvar[key1$,key2$,key3$,key4$]
elseif %pcount=6
s$=hashvar[key1$,key2$,key3$,key4$,key5$]
endif
if %error=0
erg%=1
endif
@set("ERRORLEVEL",olderrlvl%)
return erg%
ENDPROC
cls
h["test"]="1"
print @HashKeyExists(h[],"test")
print @HashKeyExists(h[],"irgendwas")
waitinput
end
Gruß, Jens-Arne
Nachricht bearbeitet (12.03.22 09:16)
|
|