Come sostituire il testo nell'interfaccia utente tramite JSL (una finestra di dialogo)Ciao,
Sto usando SQL nella mia JSL, ho dichiarato 4 variabili e impostato il valore richiesto. (Vedi script sotto)
Quello che voglio è creare una nuova finestra come interfaccia utente. quando si esegue questo JSL, aprire prima la finestra per consentire all'utente di inserire valori diversi per le variabili.
Per esempio:
JSL di prima esecuzione, input dell'utente: x, y, z, n per le 4 variabili, per ottenere l'effetto come di seguito:
set @spec = 'x'
set @opn = 'y'
set @Loss = 'z'
set @day = n
JSL di seconda esecuzione, input dell'utente: a, b, c, m per le 4 variabili, per ottenere l'effetto come di seguito:
set @spec = 'a'
set @opn = 'b'
set @Loss = 'c'
set @day = m
=========================================
script:
Nomi predefiniti qui (1);
ODBC = Crea connessione al database ("___");
SQL = "
dichiarare @spec varchar (50)
dichiarare @opn varchar (50)
dichiarare @Loss varchar (50)
dichiarare @day int
set @spec = 'xxx'
set @opn = 'yyy'
set @Loss = 'zzz'
set @day = n
seleziona * da dt
''
Mi sento difficile da quando ho cercato la comunità, non ho trovato alcun indizio su questo.
Quindi sto facendo una nuova discussione per chiedere aiuto.
Qualsiasi aiuto sarà apprezzato.
In attesa di tuo aiuto.
Grazie.
Ri: Come sostituire il testo nell'interfaccia utente tramite JSL (una finestra di dialogo)Esistono modi illimitati per realizzare ciò che desideri. Di seguito c'è una semplice interfaccia, usando il tuo pseudo codice. Devi davvero leggere le sezioni della Guida agli script sull'uso di Display Objects
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;
)
);
Ri: Come sostituire il testo nell'interfaccia utente tramite JSL (una finestra di dialogo)Non so se il nome del soggetto possa essere rinominato.
Solo per la cronaca: l'oggetto dovrebbe essere: come passare la variabile JSL alla variabile SQL tramite l'interfaccia utente.
Ri: Come sostituire il testo nell'interfaccia utente tramite JSL (una finestra di dialogo)Ciao txnelson,
Grazie mille per la guida con lo script completo.
Ho imparato la nuova finestra con l'impostazione della casella combinata per creare l'interfaccia utente con la variabile definita.
La cosa difficile è come usare la variabile JSL per sostituire la variabile SQL.
Ho imparato cose simili nel link seguente: Come ottenere il contenuto della casella di modifica del testo in "variabile"?
Grazie a @pmroz .
e faccio funzionare la mia sceneggiatura come previsto.
Ecco il mio ultimo script per informazioni.
==============================
Names Default To Here( 1 );
specVal = "";
NW = New Window( "Input Spec",
<<MODAL></MODAL>