ingresar datos desde una interfaz interactiva<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola,
En JSL, me gustaría crear una interfaz interactiva donde un usuario pueda ingresar valores en una columna. La columna debe ser de tipo Continuo.
Por ejemplo, el usuario ingresa un valor en un cuadro de diálogo que ingresa el valor en una columna:
x = límite superior, y = límite inferior
Edad Nombre Límite superior Límite inferior
40 Pedro 30 45
¿Alguien tiene alguna sugerencia sobre cómo lograr esto?
-Anders
Re: ingresar datos desde una interfaz interactivaSi la edición por filas está bien, también quería mencionar esto:
Nombres predeterminados aquí ( 1 ) ;
// Crea la nueva tabla de datos y sus columnas.
dt = Nueva mesa ( "Límites" ) ;
dt << Nueva columna ( "Límite inferior" , Numérico , Continuo ) ;
dt << Nueva columna ( "Limite superior" , Numérico , Continuo ) ;
dt << filaEditor ;
Esto tiene el inconveniente de que no aplica el requisito USL > LSL, pero esto podría hacerse suscribiéndose a los cambios en 'dt' (busque 'Suscribirse' en 'Ayuda > Índice de secuencias de comandos'). Además, tenga en cuenta que puede agregar propiedades de columna a las columnas de la tabla. http://www.jmp.com/support/help/Expression_Data.shtml , que incluyen una 'verificación de rango' de los valores.
Re: ingresar datos desde una interfaz interactiva¡Muchas gracias, esto era precisamente lo que estaba buscando y más!
Salud
-Anders
Re: ingresar datos desde una interfaz interactivaAnders,
Si sigo lo que desea, el siguiente script ingresará los límites superior e inferior y los agregará a una tabla de datos.He anotado el script para permitirle ver lo que hace el ejemplo.
Nombres predeterminados aquí (1);
// Crea la nueva tabla de datos y sus columnas.
dt = Nueva tabla ("Límites");
dt << Nueva columna ("Límite superior", numérico, continuo);
dt << Nueva columna ("Límite inferior", Numérico, Continuo);
//Abre una ventana de visualización para ingresar los datos
InputWindow = Nueva ventana( "Ingresar entrada",
// Agrega un cuadro de lista vertical para estructurar la posición de la pantalla
V Cuadro de lista(
// Agrega algo de espacio
Caja espaciadora (tamaño (1, 10)),
// Muestra el texto de la instrucción
Cuadro de texto ("Ingrese las entradas"),
Caja espaciadora (tamaño (1, 10)),
// Las siguientes pantallas deben estar una al lado de la otra
H Cuadro de lista(
// Muestra texto para informar al usuario qué datos ingresar
Cuadro de texto ("Ingrese el límite inferior"),
Caja espaciadora (tamaño (10, 1)),
// Utilice un cuadro de edición de números para capturar la entrada de los usuarios y
// le damos al objeto de visualización el nombre "LLimit"
LLimit = Número de cuadro de edición (.),
Caja espaciadora (tamaño (10, 1)),
// Muestra texto para informar al usuario qué datos ingresar
Cuadro de texto ("Ingrese el límite superior"),
Caja espaciadora (tamaño (10, 1)),
// Utilice un cuadro de edición de números para capturar la entrada de los usuarios y
// le damos al objeto de visualización el nombre "ULimit"
ULimit = Cuadro de edición de números (.)
),
Caja espaciadora (tamaño (1, 10)),
//Añadir un par de botones de control
H Cuadro de lista(
// El primer cuadro de botón agregará los valores a la tabla de datos, si el
// los valores son válidos
Cuadro de botones( "Agregar los valores",
Si( Falta( LLimit << get ) == 0 & Falta( ULimit << get ) == 0 & (ULimit << get) > (LLimit << get),
// Si los valores son válidos, agrega una fila a la tabla de datos y establece los valores
dt << agregar filas (1);
dt:LímiteInferior[N Filas(dt)] = LLimit << get;
dt:UpperLimit[N filas( dt )] = ULimit << get;
,
// Si los valores no son válidos, configúrelos como faltantes y
// mostrar un cuadro de diálogo al usuario
Límite << conjunto( . );
ULimit << establecer( . );
Dialog( "Los valores ingresados no son válidos:" );
)
),
Caja espaciadora (tamaño (10, 1)),
// Este cuadro de botón cierra la ventana de visualización
Cuadro de botones ("Dejar de agregar", Ventana de entrada << Cerrar ventana)
)
)
);
Re: ingresar datos desde una interfaz interactivaHola Ian y gracias por tu rápida respuesta.
Bueno, soy nuevo en JSL, por lo tanto, aún no comprendo completamente la sintaxis y, por lo tanto, todos mis intentos de escribir un código que simplemente almacene una entrada de un usuario en una variable han fallado. Sin embargo, conozco algunos conceptos básicos de programación Java y la característica correspondiente que estoy buscando es una clase de escáner.
ejemplo en java:
Escáner sc = nuevo escáner (System.in);
Int Límite superior = scanner.nextInt();
En JMP me gustaría que funcionara de la siguiente manera:
Por lo que puedo imaginar, todas las filas tanto para las nuevas columnas como para otras columnas deberían ser visibles (tal vez esto cambie en el futuro).
intentar (
UpperLimit = escáner.nextInt
dt = Tabla de datos actual ();
dt << Nueva columna ("Límite superior", Numérico, "Continuo", Valores (Límite superior));
//se debe hacer lo mismo con LowerLimit
)
if (UpperLimit < LowerLimit, throw ("!Error"));
Espero que hayas entendido mis ejemplos.
BR
Anders
Re: ingresar datos desde una interfaz interactivaHay muchas formas de hacer esto, y un buen diseño de interfaz de usuario depende exactamente de qué información desea mostrarle al usuario para que pueda realizar la tarea de entrada de manera confiable. ¿Quiere o necesita mostrar todas las filas de la tabla, o sólo una a la vez? ¿Necesita mostrar también los valores existentes en una o más de las otras columnas?