Frage zur ComboBoxIch kann Optionen für das Kombinationsfeld mit Popup-Tipps erstellen, indem ich so etwas verwende (experimentell gefunden):
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
New Window( "Example",
cb = Combo Box(
list,
selection = cb << GetSelected();
Print( selection );
)
);Aber wenn ich mir dann die Auswahl anschaue, sieht sie aufgrund von << Ausgewählt werden nur „Eins“ oder „Zwei“.
Zwei Fragen:
1. Welche Art von Datenstruktur hat die obige Liste? Es ist eine Liste von was? list[1] gibt mir genau „One“ („This is one“) – ist es ein String oder was ist das?
2. Wie arbeite ich mit dieser Liste? Nehmen wir an, wenn es eine normale Liste wie {"Eins", "Zwei"} wäre, würde ich in einen Skriptteil etwa diesen einfügen:
if(
selection == list[1], doThis,
selection==list[2], doThat
);
Aber wie mache ich das, wenn Popup-Tipps enthalten sind?
Erweiterte statistische ModellierungAutomatisierung und SkripterstellungVerbraucher- und MarktforschungErgebnisse teilen und kommunizierenBetreff: Frage zur ComboBoxDer Skriptindex zeigt diese Struktur für Tippzeichenfolgen im Kombinationsfeld.Ich hätte nie gedacht, dass man Tooltips in eine Combobox einfügen kann – eine nette Funktion.

Aus der Liste mit Tooltips können Sie die „echte“ Liste erstellen.Außerdem würde ich davon absehen, „list“ als Variable zu verwenden, da es sich um eine Funktion in JSL handelt.
Names Default To Here( 1 );
list_tips = {"One" ("This is One"), "Two" ("This is two")};
New Window( "Example",
cb = Combo Box(
list_tips,
selection = cb << GetSelected();
Print( selection );
)
);
mylist = {};
for (i = 1, i <= nitems(list_tips), i++,
pq = contains(list_tips[i], "(\!"");
mylist[i] = substr(list_tips[i], 1, pq - 1);
);
if (
selection == mylist[1], doThis,
selection == mylist[2], doThat
);
Betreff: Frage zur ComboBoxEs gibt vielleicht ein Community-Mitglied, das eine bessere Möglichkeit hat, mit der Struktur der Combo-Box-Liste umzugehen, aber ich habe nur herausgefunden, wie ich damit umgehen soll, indem ich die gesamte Liste in einen String umwandele und sie dann mit dem auswerte Wortfunktion
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
tipstr1 = word(4,char(list),"\!"");
was zurückkommt
"This is One"
Betreff: Frage zur ComboBoxDanke, Jim.
Immer noch nicht ganz klar – jeder Eintrag ist eine Zeichenfolge? Wo sind Zitate entkommen?
Und wenn ich dieselbe Liste in einer if-Anweisung in einem Skript für die Combobox verwenden möchte, müsste ich das Element selbst extrahieren? Wie:
if(
selection == Word(1, list[1], "\!"()"), doThis,
selection==Word(1, list[2], "\!"()"), doThat
);
Betreff: Frage zur ComboBoxIn Ihrem Beispiel ist List eine Liste mit zwei Einträgen.
- „Eins“ („Das ist Eins“)
- „Zwei“ („Das sind zwei“)
Das Kombinationsfeld unterteilt jeden Listeneintrag in Item und Tipstr.
selection = cb << GetSelected();
gibt nur den Artikel zurück
Wenn Sie möchten, dass der Tipstr zurückgegeben wird, müssen Sie ihn verwenden
tipstr = (cb << get items)[cb << Get];