| |
|
|
Jörg Sellmeyer | Dann tener Yo auch igual ne el turno de preguntas a Hash-Arrays. Irgendwie querer que me no tan bastante erschließen.
cls
declarar cadena key, value
declarar hash person[]
Selección aleatoria
WhileLoop 3
key = Formato$("0000",Rnd(1000)) + " " + Str$(&Loop)]
imprimir key
person[key] = "Eintrag " + Str$(&Loop)
person[key,"Sub1"] = "Text1 " + Str$(&Loop)
person[key,"Sub2"] = "Text2 " + Str$(&Loop)
person[key,"Sub3"] = "Text3 " + Str$(&Loop)
Wend
imprimir
'sin la Eingrenzung en key bekomme Yo 12 Ausgaben
'Yo voluntad aber sólo 3 Ausgaben haben. Mit key kommen aber sólo el Ausgaben des letzten Eintrags heraus
ForEach Person[key],key,value
Imprimir key,value
Imprimir Substr$(key,1,"|")
EndFor
'hier bekomme Yo el Werte jeweils 4x
ForEach Person[],key,value
'Imprimir key,value
Imprimir Substr$(key,1,"|")
EndFor
'hier passiert garnichts...
Whileloop 0,2
Imprimir person[]
Wend
WaitKey
Kann Yo hier irgendwie sólo el ersten Bezeichner auslesen? Also el, qué por Zufall en el Array geschrieben wurde? Oder lese Yo siempre con ForEach alles de y nutze entonces Substr$(), en el ersten Valor a ermitteln? Oder anders gefragt: kann Valoro des ersten Eintrages auslesen, sin el Bezeichner a kennen?
[OFFTOPIC] David, Yo glaube, du musst ForEach veces aún en el Syntaxerkennung einpflegen... [/OFFTOPIC] |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.11.2015 ▲ |
|
|
|
|
RGH | Yo versuche, lo veces a erklären:
Usted erzeugst en el Hash-Array 12 Einträge, wobei jeweils 4 el gleichen ersten Schlüssel (key) haben y Nummer 2 a 4 jeweils una otro zweiten Schlüssel bekommen.
Si usted nun en el ersten FOREACH todos Eintrage con el letzten Valor de Key como ersten Schlüssel auflistest, bekommst Usted natürlich el letzten vier Einträge des Arrays adecuado.
Im zweiten FOREACH gibst Usted no Schlüssel como Einschränkung a, also bekommst Usted todos 12 Einträge adecuado.
(Ach sí: En WHILIELOOP wäre tal vez una Fehlermeldung adecuado, como uno una komplettes Array no ausdrucken kann.)
Der Hauptzweck uno Hash-Arrays besteht eben en él, dass uno no una Zahl (el Position en el Array), pero una oder mehrere Schlüssel (auch Hash genannt) en el Inhalt zugreift.
Ohne Weiteres kannst Usted also primero no en el ersten Eintrag zugreifen, sin el Schlüssel a kennen. Se puede se aber una kleine Bucle remendar, en el Eintrag Nr uno Hasharrays auszulesen:
Hier macht uno se el Umstand a Nutze, dass el Systemvariable &loop auch en FOREACH (y FOR) intern hochgezählt se.
Saludo Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.11.2015 ▲ |
|
|
|
|
Jörg Sellmeyer | Gracias, Yo werd lo veces testen. Kann lo ser, dass du unos pocos Doppelpunkte en el Code vergessen hast?
Ah - es el, Yo auch uso quería, en algo otro Form:
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.11.2015 ▲ |
|
|
|
|
Jörg Sellmeyer | Jetzt tener Yo auch media Denkfehler gesehen.
So es sí viel sinnvoller:
|
|
|
| |
|
|