Difference between revisions of "Finestre di dialogo"
Jump to navigation
Jump to search
| Line 14: | Line 14: | ||
<pre>Local Integer OK | <pre>Local Integer OK | ||
Local Char YINPUT(250) | Local Char YINPUT(250) | ||
| − | Local Char YTIT(30) : YTIT='Inserisci | + | Local Char YTIT(30) : YTIT='Inserisci valore' |
| − | Local Char YTITCAMPO(30): YTITCAMPO='Nuovo | + | Local Char YTITCAMPO(30): YTITCAMPO='Nuovo valore' |
Local Char YOBJ(30) : YOBJ = 'BPC' | Local Char YOBJ(30) : YOBJ = 'BPC' | ||
Call SAICAR (YINPUT, YTIT, YTITCAMPO, YOBJ,0,0,"",OK) From GESECRAN | Call SAICAR (YINPUT, YTIT, YTITCAMPO, YOBJ,0,0,"",OK) From GESECRAN | ||
Revision as of 21:30, 17 June 2019
Dettagli da pag.67 di Linguaggio.pdf.
Messaggio semplice
call MESSAGE("Ciao") from GESECRAN
che si appoggia su Infbox ma scrive il messaggio nella traccia se eseguito in modalità batch.
Oppure (deprecato)
Infbox "Ciao"
Input da utente
Local Integer OK Local Char YINPUT(250) Local Char YTIT(30) : YTIT='Inserisci valore' Local Char YTITCAMPO(30): YTITCAMPO='Nuovo valore' Local Char YOBJ(30) : YOBJ = 'BPC' Call SAICAR (YINPUT, YTIT, YTITCAMPO, YOBJ,0,0,"",OK) From GESECRAN Infbox YINPUT
Esempio veloce che ho trovato provando (non ho il sorgente GESECRAN...) con menu
Local Integer OK Local Char YINPUT(250) Local Char YTIT(30) : YTIT='Inserisci tipo proposta' Local Char YTITCAMPO(30): YTITCAMPO='Nuovo tipo proposta' Local Char YOBJ(30) : YOBJ = 'M' Call SAICAR (YINPUT, YTIT, YTITCAMPO, YOBJ,250,0,"",OK) From GESECRAN Infbox YINPUT
Yes/No boxes
Local Integer YN : YN = 2 :# By default points on Yes
Call OUINON("Attention:\Do you want to continue?", YN) From GESECRAN
If YN=1 : Infbox "HAI CLICCATO NO" : Endif
If YN=2 : Infbox "HAI CLICCATO SI" : Endif
che internamente fa (non usare e notare i codici 1/2 invertiti)
Local Libelle REP Qstbox mess(2, 5, 1) - nomap Using [L]REP Case [L]REP When 1: Infbox "HAI CLICCATO SI" When 2: Infbox "HAI CLICCATO NO" Endcase
Ok/Cancel boxes
Local Integer OKCAN : OKCAN = 2:# Ok Call AVERTIR(“Warning:\All records will be deleted”, OKCAN) From GESECRAN
oppure (deprecato)
Local Libelle REP Wrnbox "Attenzione: proseguire?" Using [L]REP Case [L]REP When 1: Infbox "HAI CLICCATO Ok" When 2: Infbox "HAI CLICCATO Annulla" Endcase
Messaggio di attesa
Per aprire un messaggio di attesa all'inizio di una serie di azioni:
Call TEMPON ("Azione in corso...") From GESECRAN
per chiudere il messaggio
Call TEMPOFF From GESECRAN
Error / warning
Call ERREUR(MESSAGGIO) From GESECRAN Call ERREURT(MESSAGGIO, TIPO) From GESECRAN #con temporizzazione Call ERRTIT(MESSAGGIO, TITOLO) From GESECRAN Call ERRTITT(MESSAGGIO, TITOLO) From GESECRAN #con temporizzazione Call ERREND (MESSAGGIO) From GESECRAN #per errori gravi
- TIPO può essere 0 (Informazione) o 1 (Errore)
- Attenzione: se il parametro MESSAGGIO è vuoto, l’avviso di errore non compare.
GTIMOUT=15 # timeout di 15 secondi
Call ERRTITT("Errore", "Mio titolo") From GESECRAN
Deprecati:
Errbox "Error message"
messaggio di errore
Endbox "Error end message" da usare solo in casi gravi in cui va interrotto il programma (vedere help nel file chm)
Note
- La variabile GTIMOUT si può utilizzare per temporizzare il messaggio.
- Per mettere il testo su più righe come separatore utilizzare
\. - per andare a capo:
"testo"+chr$(13)+chr$(10) - per aggiungere una barra inversa (
\backslash) a doppi apici, barra inversa, tab o Carriage Return:escJson(STRINGA); il contrario conunescjson - per sostituire caratteri da codifica 8 byte a 7 byte (senza caratteri con accenti particolari):
ctrans(STRINGA)- esempio
ctrans("èéìàùò") #"eeiauo"
- esempio
- per sostituire dei caratteri con quelli specificati:
ctrans(STRINGA, caratteri_da_togliere, caratteri_da_mettere)- esempio per sostituire le vocali con un numero corrispondente
ctrans("facciamo un test di sostituzione","aeiou","12345") #ritorna: "f.cc..m.w.nwt.stwd.ws.st.t.z..n."
- esempio per sostituire le vocali con un numero corrispondente