Cómo reemplazar el texto en JSL a través de la interfaz de usuario (una ventana de diálogo)Hola,
He estado usando SQL en mi JSL, y he declarado 4 variables y establecí el valor requerido (vea el script a continuación)
Lo que quiero es crear una nueva ventana como interfaz de usuario. cuando ejecute este JSL, primero abra la ventana para permitir al usuario ingresar diferentes valores para las variables.
Por ejemplo:
Primero ejecute JSL, entrada del usuario: x, y, z, n para las 4 variables, para lograr el efecto de la siguiente manera:
set @spec = 'x'
establecer @opn = 'y'
establecer @Loss = 'z'
set @day = n
2da ejecución JSL, entrada del usuario: a, b, c, m para las 4 variables, para lograr el efecto de la siguiente manera:
set @spec = 'a'
set @opn = 'b'
establecer @Loss = 'c'
set @day = m
=========================================
Guión:
Nombres predeterminados hasta aquí (1);
ODBC = Crear conexión de base de datos ("___");
SQL = "
declarar @spec varchar (50)
declarar @opn varchar (50)
declarar @Loss varchar (50)
declarar @day int
set @spec = 'xxx'
set @opn = 'aaa'
establecer @Loss = 'zzz'
set @day = n
seleccione * de dt
''
Me resulta difícil desde que busqué en la comunidad, no encontré ninguna pista sobre esto.
Así que hago una nueva discusión para pedir ayuda.
Cualquier ayuda será apreciada.
Esperamos su ayuda.
Gracias.
Re: Cómo reemplazar el texto en JSL a través de la interfaz de usuario (una ventana de diálogo)Hay formas ilimitadas de lograr lo que quieres. A continuación se muestra una interfaz simple, utilizando su pseudocódigo. Realmente necesita leer las secciones de la Guía de secuencias de comandos sobre el uso de objetos de visualización
Names Default To Here( 1 );
nw = New Window( "Set Values",
Lineup Box( N Col( 2 ),
Text Box( "Set Spec" ),
specCB = Combo Box( {"x", "y", "z", "n"}, specVal = specCB << get Selected() ),
Text Box( "Set opn" ),
opnCB = Combo Box( {"x", "y", "z", "n"}, opnVal = opnCB << get Selected() ),
Text Box( "Set Loss" ),
lossCB = Combo Box( {"x", "y", "z", "n"}, lossVal = lossCB << get Selected() ),
Text Box( "Set day" ),
dayCB = Combo Box( {"x", "y", "z", "n"}, dayVal = dayCB << get Selected() )
),
theOK = Button Box( "OK",
// Build the statements to be executed
theExpr = "ODBC = Create Database Connection( \!"___\!" );
SQL =\!"
declare " || specVal || " varchar(50)
declare " || opnVal || " varchar(50)
declare " || lossVal || " varchar(50)
declare " || dayVal || " int
set " || specVal || " = 'xxx'
set " || opnVal || " = 'yyy'
set " || lossVal || " = 'zzz'
set " || dayVal || " = n
select * from dt
";
show(theExpr);
// run the expression (uncomment when code is real)
//Eval( Parse( theExpr ) );
nw << close window;
)
);
Re: Cómo reemplazar el texto en JSL a través de la interfaz de usuario (una ventana de diálogo)No sé si se puede cambiar el nombre del sujeto.
Solo para el registro: el tema debe ser: cómo pasar la variable JSL a la variable SQL a través de la interfaz de usuario.
Re: Cómo reemplazar el texto en JSL a través de la interfaz de usuario (una ventana de diálogo)Hola txnelson
Muchas gracias por la orientación con guión completo.
Aprendí la nueva ventana con la configuración del cuadro combinado para crear la interfaz de usuario con variable definida.
Lo complicado es cómo usar la variable JSL para reemplazar la variable SQL.
Aprendí algo similar en el siguiente enlace: ¿Cómo obtener el contenido del cuadro de edición de texto en "variable"?
Gracias a @pmroz .
y hago que mi guión funcione como se esperaba.
Aquí está mi script final para obtener información.
==============================
Names Default To Here( 1 );
specVal = "";
NW = New Window( "Input Spec",
<<MODAL></MODAL>