Ayuda con ventanas modalesHola,
Estoy tratando de configurar cuadros de diálogo en scripts existentes, el primero es la ubicación de los encabezados en los datos que estoy importando.
Entiendo que lo siguiente me dará un buen cuadro de visualización:
Headstart = New Window( "Set Header Start Row Value",
<< Modal,
<< Return Result,
Text Box ("Please advise the row on which the header starts"),
variablebox = Number Edit Box ( 2 ),
Button Box ( "OK "),
Button Box ( "Cancel" )
);
¿La siguiente pieza de sintaxis luego escribe la respuesta del usuario a Headstart?
Write ( Headstart ["variablebox"]);
¿Cómo puedo realmente usar el valor almacenado en Headstart? He intentado lo siguiente:
//dt=open(fileopen,private);
dt = Open(
fileopen,
Worksheets( "Lin" ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( "Headstart" ),
Data Starts on Row( 37 ),
Data Starts on Column( 1 ),
Data Ends on Row( 48 ),
Data Ends on Column( 15 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
),
);
Datasource = fileopen;
Re: Ayuda con Ventanas ModalesHola gzmorgan0,
Finalmente tuve la oportunidad de hacer esto hoy, funcionó de maravilla, muchas gracias, soy nuevo en la codificación en JMP, y personas como usted están haciendo que la experiencia de aprendizaje sea mucho más fácil y menos frustrante, no puedo gracias lo suficiente
Gracias de nuevo
Re: Ayuda con Ventanas ModalesHola gzmorgan,
No he tenido tiempo de mirar esto hoy, lo miraré mañana.
Muchas gracias por tu respuesta.
Re: Ayuda con Ventanas ModalesEste enfoque puede ser un poco más fácil de entender.Coloque las acciones que desea que sucedan en los botones Aceptar y Cancelar.
hw = New Window( "Set Header Start Row Value", <<MODAL></MODAL>
Re: Ayuda con Ventanas Modalesmikyboy,
Si ingresé 3, show(Headstart) devuelve la lista {variablebox = 3, Button(1)}. Excepto por el Botón, todos los demás elementos de la lista son una asignación.
Aquí hay dos formas de obtener los valores de un cuadro de diálogo modal, <
- listname["boxname"] por lo que Headstart[ "variablebox" ] devuelve 3.
- Si el botón es 1, elimine el último elemento de la lista y evalúe la lista (nombre de la lista), luego se ejecuta cada asignación y puede consultar el nombre del cuadro de variable.
A continuación se muestra un extracto del script 7_SimpleModalDialog.jsl, uno de los scripts escritos para JSL Companion, Aplicaciones del lenguaje de secuencias de comandos JMP, 2.ª edición. La primera instrucción show usa la sintaxis #2 y la segunda muestra es la sintaxis que puede usar después de eliminar el botón y evaluar la lista().
También hay métodos adicionales.
Entonces, para tu ejemplo, puedes usar
Headers Start on Row( Headstart["variablebox"] )
o use un código similar al ejemplo a continuación.
Names Default to here(1);
usr_info = New Window("Query", << Modal, <<RETURN result=""></RETURN>
Re: Ayuda con ventanas modalesHola,
Estoy tratando de comprender por qué la estructura del cuadro de botones ("OK") de JMP a partir de los ejemplos funciona como lo hace.
¿Es un resultado predefinido que si el texto es "OK", entonces "Botón" = 1, y para cualquier otro texto entonces "Botón" = -1?
Mi código se basa en la ayuda de JMP y es similar al código de gzmorgan de esta discusión.
LineupBox( NCol(1), ButtonBox("OK"), ButtonBox("Cancel"))
If(usr_info["Button"]== -1,
Caption("Aborting..."); Wait(3); Caption(Remove); Throw());
Re: Ayuda con ventanas modalesDesde la ayuda en línea de JMP
Nota: Las ventanas modales requieren al menos un botón para cerrarlas. Puedes usarDE ACUERDO, Sí, No, oCancelarPara etiquetar los botones de la ventana modal. Si no incluye al menos uno de estos botones en una ventana modal, JMP agrega unDE ACUERDObotón.
La funcionalidad incorporada de una ventana de visualización modal devuelve un +1 para "Aceptar" o "Sí" y un -1 para "Cancelar" y "No".