Frage zu ComboBoxIch kann Optionen für Combo Box 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 ansehe, hat sie nur „Eins“ oder „Zwei“ als Ergebnis von << Get Selected.
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 es?
2. Wie arbeite ich mit dieser Liste, sagen wir, wenn es eine normale Liste wie {"Eins", "Zwei"} wäre, würde ich einen Skriptteil wie diesen einfügen:
if(
selection == list[1], doThis,
selection==list[2], doThat
);
Aber wie mache ich das, wenn ich Popup-Tipps enthalten habe?
SkripterstellungBetreff: Frage zu ComboBoxIn Ihrem Beispiel ist Liste eine Liste mit 2 Einträgen.
- "Eins" ("Dies ist einer")
- "Zwei" ("Das ist zwei")
Die Combobox unterteilt jeden Listeneintrag in Item und Tipsr.
selection = cb << GetSelected();
gibt nur den Artikel zurück
Wenn Sie möchten, dass der Tipster zurückgegeben wird, müssen Sie verwenden
tipstr = (cb << get items)[cb << Get];
Betreff: Frage zu ComboBoxDanke Jim.
Immer noch nicht ganz klar - jeder Eintrag ist ein String? Wo Anführungszeichen 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 zu ComboBoxEs mag ein Community-Mitglied geben, das besser mit der Combo Box-Listenstruktur umgehen kann, aber der einzige Weg, wie ich damit umgehen kann, besteht darin, die gesamte Liste in eine Zeichenfolge zu verwandeln und sie dann mit dem zu parsen Wortfunktion
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
tipstr1 = word(4,char(list),"\!"");
die zurückkehrt
"This is One"