Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
2 - PROFAN-Programmierung

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: Hash-Variablen auf existierenden Key prüfen
Autor: Arndt Lindner (80.150.206.---)
Datum:   13.03.22 13:22

Das Workaround versagt, wenn ein leeres Element im Hash-Array auftaucht.
Beispiel:
 declare hash h[]
  
  PROC HashKeyExists
    parameters hash hashvar[],key1$,key2$,key3$,key4$,key5$
    declare olderrlvl%,erg%,s$
    print "Parameter1",key1$
    print "Parameter2",key2$
    print "Parameter3",key3$
    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",,"xx"]="1"
  print @HashKeyExists(h[],"test",,"xx")
  print @HashKeyExists(h[],"irgendwas")
  waitinput
  end
 

Das hängt möglicherweise damit zusammen, dass die Indizes bei Hash-Arrays bei einem leeren Element abgeschnitten werden. Bei der Parameterübergabe an die Prozedure werden solche Lücken aber akzeptiert. Steht an der Leerstelle ein Leerstring ("") oder eine Stringvariable funktioniert es. Es ist deshalb empfehlenswert als Indexwerte von Hash-Arrays immer Variablen zu verwenden.
Für die "if ... elseif ..." Konstruktion könnte man ein "select .. caseof ..." verwenden. Ist aber reine Geschmackssache.

Gruß
Arndt



 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 Hash-Variablen auf existierenden Key prüfen  Neu
Jens-Arne Reumschüssel 12.03.22 09:08 
 Re: Hash-Variablen auf existierenden Key prüfen  Neu
Arndt Lindner 13.03.22 13:22 
 Re: Hash-Variablen auf existierenden Key prüfen  Neu
Heinz Brill 13.03.22 13:59 
 Re: Hash-Variablen auf existierenden Key prüfen  Neu
Jens-Arne Reumschüssel 16.03.22 13:07 
 Re: Hash-Variablen auf existierenden Key prüfen  Neu
Heinz Brill 16.03.22 17:20 
 Re: Hash-Variablen auf existierenden Key prüfen  Neu
Arndt Lindner 27.05.22 11:14 
 Re: Hash-Variablen auf existierenden Key prüfen  Neu
Jens-Arne Reumschüssel 01.06.22 19:42 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org