Werte im Textbearbeitungsfeld speichernHallo,
Wenn ich ein Fenster wie das folgende habe und der Benutzer einige Werte in die Textfelder eingibt. Wie könnte ich diese numerischen Werte in einem Array speichern? Wenn jemand beispielsweise 1, 2, 3 und 4 in die Textfelder eingibt und auf OK drückt, möchte ich, dass diese Werte in einem Array gespeichert werden.
new window("test",
text edit box(""),
text edit box(""),
text edit box(""),
text edit box(""),
button box("OK");
)

Dank im Voraus!
Betreff: Werte im Textbearbeitungsfeld speicherndlg = New Window( "Enter Many Numbers", << Modal,
Outline Box( "Data Entry",
Table Box(
String Col Box( "Variable", { "a", "b", "c", "d", "e" } ),
nceb = Number Col Edit Box( "Value", J( 5, 1, . ) )
)
),
H List Box(
Button Box( "OK",
input = nceb << Get As Matrix;
),
Button Box( "Cancel" )
)
);
If( dlg["Button"] == -1,
Throw( "User cancelled" );
);
// Do something with input valuesBetreff: Werte im Textbearbeitungsfeld speichernSie können eine platzieren String-Col-Box links davon Bearbeitungsfeld für die Nummernspalte für Beschriftungen, wenn Sie möchten, und schließen Sie beide Spalten in eine ein Tischbox um es ordentlich zu organisieren.
Betreff: Werte im Textbearbeitungsfeld speichernWenn Sie a verwenden Bearbeitungsfeld für die Nummernspalte statt individuell Textbearbeitungsfeld Objekte, dann kann Ihr Schaltflächenskript die Nachricht senden Als Matrix abrufen um sie alle als Spaltenvektor zurückzugeben.
Betreff: Werte im Textbearbeitungsfeld speichernDanke schön! Wenn es eine viel größere Anzahl von Kästchen gäbe, gibt es dann eine Möglichkeit, dies mithilfe einer Schleife anstelle von a, b, c und d zu automatisieren?
Betreff: Werte im Textbearbeitungsfeld speichernZusätzlich zu Jeffs Antwort sollten Sie andere Anzeigefelder in Betracht ziehen. A Textbearbeitungsfeld ist ein gutes und vielseitiges Eingabeobjekt, aber es gibt auch andere, die für einen bestimmten Zweck spezialisierter sind. Wenn Sie einen numerischen Wert erwarten, ziehen Sie a in Betracht Nummernbearbeitungsfeld . Wenn Sie mehrere, möglicherweise verwandte numerische Werte erwarten, sollten Sie a in Betracht ziehen Bearbeitungsfeld für die Nummernspalte .
Sie sollten unbedingt den JSL-Leitfaden zum Erstellen von Fenstern und insbesondere von Dialogen lesen. Sehen Helfen > Bücher > Skripterstellung Führung .
Betreff: Werte im Textbearbeitungsfeld speichernSie müssen Ihrem Skriptargument hinzufügen Schaltflächenfeld() . Es sammelt die Werte aus den Textbearbeitungsfeldern und schließt das Fenster.
Etwas wie das:
nw = New Window( "test",
a = Text Edit Box( "" ),
b = Text Edit Box( "" ),
c = Text Edit Box( "" ),
d = Text Edit Box( "" ),
Button Box( "OK",
foo = Eval List(
{a << get text, b << get text, c << get text, d <<GET text=""></GET>