Domanda su ComboBoxPosso creare opzioni per Combo Box con suggerimenti pop-up usando qualcosa del genere (trovato sperimentalmente):
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 );
)
);Ma poi quando guardo la selezione - ha solo "Uno" o "Due" come risultato di << Get Selected.
Due domande:
1. Che tipo di struttura dati è l'elenco sopra? È una lista di cosa? list[1] mi dà esattamente "Uno" ("Questo è uno") - è una stringa o cos'è?
2. Come faccio a lavorare con questo elenco, diciamo se fosse un elenco normale come {"Uno", "Due"}, inserirei in una parte di script qualcosa del genere:
if(
selection == list[1], doThis,
selection==list[2], doThat
);
Ma come posso farlo quando sono inclusi i suggerimenti pop-up?
SceneggiaturaRe: Domanda su ComboBoxNel tuo esempio, List è un elenco che ha 2 voci.
- "Uno" ("Questo è uno")
- "Due" ("Questo è due")
La casella Combo divide ogni voce dell'elenco in Item e tipstr.
selection = cb << GetSelected();
restituisce solo l'articolo
Se si desidera restituire il tipstr, è necessario utilizzare
tipstr = (cb << get items)[cb << Get];
Re: Domanda su ComboBoxGrazie, Jim.
Non è ancora molto chiaro: ogni voce è una stringa? Dove sono scappate le citazioni?
E se voglio usare lo stesso elenco in un'istruzione if in uno script per la casella combinata, dovrei estrarre l'elemento stesso? Piace:
if(
selection == Word(1, list[1], "\!"()"), doThis,
selection==Word(1, list[2], "\!"()"), doThat
);
Re: Domanda su ComboBoxPotrebbe esserci un membro della community che ha un modo migliore di gestire la struttura dell'elenco Combo Box, ma l'unico modo in cui ho capito come gestirlo è trasformare l'intero elenco in una stringa e quindi analizzarlo con il Funzione di parola
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
tipstr1 = word(4,char(list),"\!"");
che ritorna
"This is One"