Hallo Leute,
ist es möglich, dass ich anstatt einer Zahl im Array ein Wort hinschreibe?
Geht ja in anderen Sprachen.
Was ich meine:
[autoit]$array[Wort] = "Test"
[/autoit]Was muss ich beachten, wenn das möglich ist?
MfG
qixx
Hallo Leute,
ist es möglich, dass ich anstatt einer Zahl im Array ein Wort hinschreibe?
Geht ja in anderen Sprachen.
Was ich meine:
[autoit]$array[Wort] = "Test"
[/autoit]Was muss ich beachten, wenn das möglich ist?
MfG
qixx
Hi,
was du da versuchst zu erklären ist ein Assoziatives Array. Leider ist sowas in AutoIt noch nicht intigriert aber BugFix hat da mal was gebaut (Link) .
Komfortabler wäre sicher das Dictionary-Objekt zu verwenden.
Hier mal ein kleines Beispiel zur Verwendung:
;//// Dictionary Erstellen ///////////
$oDict = ObjCreate("Scripting.Dictionary")
;//// Einträge hinzufügen ///////////
$oDict.add ("Berlin", 3395189)
$oDict.add ("Hamburg", 1743627)
$oDict.add ("München", 1259677)
$oDict.add ("Köln", 983347)
$oDict.add ("Dresden", 517052)
;Beispiel hier: Einwohnerzahl wird der jeweiligen Stadt zugeordnet.
;//// Anzahl der Elemente bestimmen ///////////
MsgBox(0,"Anzahl Elemente in Dictionary", $oDict.Count)
;//// Überprüft ob ein Element vorhanden ist ///////////
If $oDict.Exists ("Bonn") Then MsgBox(0, "", "Bonn ist eingetragen") ;Bonn ist im Bsp. nicht enthalten
;//// Löscht ein Element aus dem Dictionary ///////////
$oDict.remove ("München")
;//// Elemente aufrufen ///////////
ConsoleWrite("Einwohner(Berlin): " & $oDict("Berlin") & @CRLF)
ConsoleWrite("Einwohner(Dresden): " & $oDict("Dresden") & @CRLF & @CRLF)
;//// alle Schlüssel durchgehen ///////////
For $sKey in $oDict.Keys
ConsoleWrite("Einwohner(" & $sKey & "): " & $oDict($sKey) & @CRLF)
Next
;/// Alle Werte statt Schlüssel erreicht man mit $oDict.Items ////
;//// Leert das Dictionary ///////////
$oDict.RemoveAll
Geht das ganze nicht auch mit
[autoit]Enum
[/autoit]? Gut, man muss eine Variable statt einem String nehmen, aber ansonsten...
Habe später mal noch etwas anderes probiert. Vielleicht kannst du damit etwas anfangen.
Symbiose: Array + Structure = StrucList ; Zugriff kpl. assoziativ
Ineluki: Mit Enum geht es auch. Hat aber dann ein Problem, wenn die Reihenfolge im Array sich ändert (z.B. Sortierung). Denn Enumeriert sind die Indexwerte, die dann nicht mehr auf dasselbe Element verweisen.
Ah, das mit dem Dictionary hört sich ganz gut an!
Schade, dass es kein Assoziatives Array in AutoIt gibt.
Danke an euch!
MfG
qixx
Schaue mal hier rein: Yet another associative array UDF
Gruß,
UEZ