Abrufen von Daten aus dem Anzeigefeld, die in einem assoziativen Array gespeichert sindHey,
Ich versuche, ein Array zu haben, das Informationen als Schlüssel enthält und Felder als Werte anzeigt, aber ich kann danach scheinbar nicht ihren korrekten Status (für Kontrollkästchen) ermitteln – alle Kontrollkästchen werden als 0 zurückgegeben, selbst wenn sie gedrückt werden.
Ich kann nicht verstehen, ob das an einem Syntaxproblem oder etwas tieferem liegt. Hier ist mein Code:
MainDisplayBox = V List Box();
DisplayArray = Associative Array();
current data table(dt);
For Each Row(
DisplayArray[char(:Col1)] = list(checkbox(""),hlist box(
text box(char(:Col1)||": suggested value: "),
Text Edit Box(round(:Col2,3)),
));
MainDisplayBox << append(hlistbox(eval((DisplayArray[Col1][1])),eval((DisplayArray[Col1][2]))));
);
OffsetCloseButton = Button Box("close",OffsetWindow<<CLOSE window=""></CLOSE>
Danke,
Ben.
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungMassenanpassungQualitäts- und VerfahrenstechnikBetreff: Abrufen von Daten aus dem Anzeigefeld, die in einem assoziativen Array gespeichert sindDanke!
Seltsam, wie mit den Referenzen umgegangen wird, aber ich verstehe Ihren Standpunkt. Ihr Ansatz ist mit ein wenig Datensuche in der Tabelle einfacher zu handhaben, sodass er für mich einwandfrei funktioniert.
Bezüglich der Überschreibung von Daten im Array – die Tabelle, die ich durchsucht habe, war eine Sommertabelle, daher sind Duplikate kein Problem 
Danke noch einmal,
Ben.
Betreff: Abrufen von Daten aus dem Anzeigefeld, die in einem assoziativen Array gespeichert sindZumindest bei der Art und Weise, wie Sie Kombinationsfeldverweise in DisplayArray speichern, stimmt etwas nicht. Sie können es ziemlich leicht erkennen, indem Sie die Werte von DisplayArray überprüfen. Kontrollkästchen werden wie folgt angezeigt:
Check Box("")Wann sollten sie etwa so gesehen werden:
nw = new window("", cb = checkbox("test")); //<STRONG>cb = DisplayBox[CheckBoxBox]</STRONG>
Sie speichern also ein neues Kontrollkästchen mit leeren Werten in Ihrem DisplayArray und keine DisplayBox, die auf ein Kontrollkästchen verweist.
Ich denke auch, dass es eine einfachere Möglichkeit geben könnte, dieses Kontrollkästchen-Auswahlfenster zu erstellen, als Sie es derzeit haben. Könnten Sie beispielsweise ein Bild bereitstellen und angeben, was es bewirken soll? Beispielsweise durchlaufen Sie derzeit jede Zeile in der Datentabelle mit „For Each Row()“ und verwenden dann „Associative Array()“, um die Anzeigefelder zu speichern. Das assoziative Array hat nur einen Wert pro Schlüssel. Wenn Sie also doppelte Werte auf :Col1 haben, erhalten Sie nur den letzten „Wert“.
Kurzes Beispiel mit der Big-Class-Datentabelle, das Ihnen einige Anregungen geben könnte:
Mehr sehen...