| |
|
|
Jörg Sellmeyer | Entweder funktioniert hier was nicht oder ich übersehe was. Der Code ist 1:1 aus der Hilfe. Er läuft problemlos. Wenn ich aber eine der ForEach-Abfragen in eine Prozedur packe, gibt es eine Fehlermeldung: Variable nicht deklariert. Dabei wird dann das Hash-Array angemeckert.
cls
declare string key, value
declare hash person[]
Proc Anzeige
ForEach person[], key, value
print str$(&loop) + ": " + key + " = " + value
EndFor
EndProc
person["A","Vorname"]="Hans"
person[2,"Name","Hugo","X","Y"] = "Mustermann"
person["2","Geburtstag"] = "01.01.01"
person[4.5,"Wohnort"] = "Musterstadt"
person[2,"Alter"] = 34
person["A","Vorname","Test"] = "Hugo"
'ForEach person[], key, value
'
' print str$(&loop) + ": " + key + " = " + value
'
'EndFor
'
Anzeige()
Print
ForEach person[2], key, value
print str$(&loop) + ": " + key + " = " + value
EndFor
print
ForEach person["A","Vorname"], key, value
print str$(&loop) + ": " + key + " = " + value
EndFor
Print
Print "Fertig!"
waitinput
end
|
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.11.2015 ▲ |
|
|
|
|
E.T. | probier mal:
und hangle dich dann durch die Fehlermeldungen
Könnte am Leerzeichen scheitern
ähm.. ForEach ?? |
|
|
| Grüße aus Sachsen... Mario WinXP, Win7 (64 Bit),Win8(.1),Win10, Win 11, Profan 6 - X4, XPSE, und 'nen schwarzes, blinkendes Dingens, wo ich das alles reinschütte... | 09.11.2015 ▲ |
|
|
|
|
Jörg Sellmeyer | Du scheinst nicht ganz auf dem Laufenden zu sein, was die xprofane Entwicklung angeht, oder? Hash sind die neuen assoziativen Arrays. Wie schon geschrieben: der Code ist aus der Hilfe und läuft auch. Nur wenn ich die Proc einbauen, wie oben, hakt es. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.11.2015 ▲ |
|
|
|
|
H.Brill | Da scheint wohl was nicht zu stimmen. Wenn ich das Hash-Array als Parameter übergebe, wird es erkannt, dann aber wohl key und value nicht. Diese sind aber auch GLOBAL definiert.
Vielleicht erliegen Jörg und ich ja auch einem fatalen Irrtum. Andernfalls müssen wir auf Rolands Antwort warten. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 09.11.2015 ▲ |
|
|
|
|
Jörg Sellmeyer | Ich habs grad getestet: wenn ich in der Prozedur key und value ebenfalls definiere, funktioniert es wie gewünscht. Ob das so vorgesehen ist? |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.11.2015 ▲ |
|
|
|
|
| ForEach sollte es egal sein, solange key und value als Variablen sichtbar sind. Ich schätze da müsste ein Update her. |
|
|
| |
|
|
|
Jörg Sellmeyer | Es sind ja nicht nur die beiden Stringvariablen. Das Hash-Array selber wird ja nicht in der Prozedur erkannt. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 09.11.2015 ▲ |
|
|
|
|
RGH | Da scheint sich ein Bug in ForEach versteckt zu haben. Natürlich sollte es auch mit globalen Variablen funktionieren. (Auch wenn globale Variablen prinzipiell zu vermeiden sind. Je größer das Projekt, desto größer der Ärger, den sie bei der Pflege desselben machen. Ich spreche aus Erfahrung!)
Vorerst als Workaround: Variablen für ForEach als Parameter übergeben!
Gruß Roland |
|
|
| XProfan X2Intel 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 ▲ |
|
|
|
|
RGH | Ich habe nachgeschaut: Ich habe es tatsächlich so programmiert, dass ForEach (und auch For) nur mit lokalen Variablen funktioniert, wobei im Hauptprogramm die globalen Variablen ja lokal sind.
Das kann ich im nächsten Update natürlich ändern ...
Gruß Roland |
|
|
| XProfan X2Intel 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 ▲ |
|
|
|