Pregunta en ComboBoxPuedo crear opciones para Combo Box con sugerencias emergentes usando algo así (encontré esto experimentalmente):
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 );
)
);Pero luego, cuando miro la selección, solo tiene "Uno" o "Dos" como resultado de << Ser seleccionado.
Dos preguntas:
1. ¿Qué tipo de estructura de datos es la lista anterior? ¿Es una lista de qué? list[1] me da exactamente "Uno" ("Este es uno") - ¿es una cadena o qué es?
2. ¿Cómo trabajo con esta lista? Digamos que si fuera una lista normal como {"Uno", "Dos"}, pondría en una parte del script algo como esto:
if(
selection == list[1], doThis,
selection==list[2], doThat
);
Pero, ¿cómo lo hago cuando tengo sugerencias emergentes incluidas?
secuencias de comandosRe: Pregunta en ComboBoxEn su ejemplo, List es una lista que tiene 2 entradas.
- "Uno" ("Este es uno")
- "Dos" ("Esto es dos")
El cuadro combinado divide cada entrada de la lista en Item y tipstr.
selection = cb << GetSelected();
devuelve solo el artículo
Si desea que se devuelva el tipstr, debe usar
tipstr = (cb << get items)[cb << Get];
Re: Pregunta en ComboBoxGracias, Jim.
Todavía no está muy claro: ¿cada entrada es una cadena? ¿Dónde se escaparon las comillas?
Y si quiero usar la misma lista en una declaración if en un script para el cuadro combinado, ¿tendría que extraer el elemento en sí? Me gusta:
if(
selection == Word(1, list[1], "\!"()"), doThis,
selection==Word(1, list[2], "\!"()"), doThat
);
Re: Pregunta en ComboBoxPuede haber un miembro de la comunidad que tenga una mejor manera de lidiar con la estructura de la lista Combo Box, pero la única forma en que descubrí cómo manejarla es convirtiendo la lista completa en una cadena y luego analizándola con el Función de palabra
Names Default To Here( 1 );
list = {"One" ("This is One"), "Two" ("This is two")};
tipstr1 = word(4,char(list),"\!"");
que regresa
"This is One"