Finestre di dialogo

 

Sage mette a disposizione diverse chiamate per mandare dei messaggi verso l’utente finale.

Messaggio semplice

call MESSAGE("Ciao") from GESECRAN

Sage V9 MESSAGE GESECRAN

che si appoggia sull’istruzione Infbox che però non è consigliata in ambienti di produzione:

Infbox "Ciao"

nel caso la chiamata MESSAGE from GESECRAN venga eseguita in modalità batch
gestisce la scrittura del messaggio nella traccia in modo automatico;
un messaggio dell’istruzione Infbox in tal caso viene invece perso.

Finestra di dialogo Yes/No

Le chiamate disponibli sono:

Call OUINON(MESSAGGIO, YN) From GESECRAN
Call OUINONT(MESSAGGIO, YN) From GESECRAN #con temporizzazione

Vediamo un esempio:

Local Integer YN 
YN = 2 :# By default points on Yes
Call OUINON("Vuoi continuare?", YN) From GESECRAN
If YN=1 : Infbox "HAI CLICCATO NO" : Endif
If YN=2 : Infbox "HAI CLICCATO SI" : Endif

Sage V9 OUINON GESECRAN YesNo Dialog Box

Questa chiamata internamente esegue indicativamente queste istruzioni:

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

Finestra di dialogo Ok/Cancel

Le chiamate disponibli sono:

Call AVERTIR(MESSAGGIO, OKCAN) From GESECRAN
Call AVERTIRT(MESSAGGIO, OKCAN) From GESECRAN #con temporizzazione

Vediamo un esempio:

Local Integer OKCAN 
OKCAN = 2    # Ok di default
Call AVERTIR(“Attenzione:\tutti i record verranno cancellati”, OKCAN) From GESECRAN

Sage V9 AVERTIR GESECRAN OkCancel Dialog Box

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

Finestra di dialogo Informazione/Avviso

Le chiamate disponibili sono:

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

oppure (deprecato)
Errbox "Error message"

 

TIPO può essere 0 (Informazione) o 1 (Errore);
l’icona visualizzata sarà rispettivamente una “i” su colore azzurro o un punto esclamativo su giallo.

Attenzione: se il paramtero MESSAGGIO è vuoto, l’avviso di errore non compare.
Molto comodo se si hanno dei messaggi di ritorno perché non serve star lì a controllarli,
ma può trarre in inganno se non si sta attenti.

Vediamo degli esempi:

Call ERREURT("Errore in inserimento", 1) From GESECRAN

Sage V9 ERREURT GESECRAN 1 Error

 

Call ERREURT("Errore in inserimento", 0) From GESECRAN

Sage V9 ERREURT GESECRAN 0 Information

 

Call ERRTIT("Errore", "Mio titolo") From GESECRAN

Sage V9 ERRTIT GESECRAN

 

GTIMOUT=15       # timeout di 15 secondi
Call ERRTITT("Errore", "Mio titolo") From GESECRAN

Sage V9 ERRTITT GESECRAN with timeout

 

Messaggio di errore grave

Un’altra chiamata disponibile è:

Call ERREND (MESSAGGIO) From GESECRAN

Si basa sull’istruzione Endbox (deprecata), che usa gli stessi principi di Errbox.

Cambia solo la grafica del messaggio, e viene utilizzata solo in casi gravi in cui in genere va interrotto il programma.

Eccone un esempio

Call ERREND (“Errore grave”) From GESECRAN

Sage V9 ERREND GESECRAN serious error messages

 

Messaggio di attesa in progressione

Per aprire un messaggio di progressione all’inizio di una serie di azioni:

Call TEMPON ("Azione in corso...0%") From GESECRAN

per modificare il messaggio basta rifare la stessa chiamata:

Call TEMPON ("Azione in corso...50%") From GESECRAN

per chiudere il messaggio:

Call TEMPOFF From GESECRAN

Per esempio

Call TEMPON ("Partenza...") From GESECRAN
#...istruzioni varie
Call TEMPON ("Azione in corso...0%") From GESECRAN
#...istruzioni varie
Call TEMPON ("Azione in corso...50%") From GESECRAN
#...istruzioni varie
Call TEMPON ("Azione in corso...100%") From GESECRAN
Call TEMPOFF From GESECRAN

Annotazioni varie

Testo su più righe

Per mettere il testo su più righe basta usare come separatore il carattere \

call MESSAGE("Ciao,\come stai?") from GESECRAN

 

Bottone di default

Il pulsante di default viene definito dalla variabile di tipo Integer passata per contenere il valore di ritorno:

Local Integer OKCAN 
OKCAN = 2         # Ok di default 
Call AVERTIR(“Warning:\All records will be deleted”, OKCAN) From GESECRAN

 

Timeout per le chiamate temporizzate

È possibile far si che dopo tot secondi la finestra si chiude da sola,
e la risposta di ritorno data sia quella del bottone di default.
Il tempo di attesa va impostato tramite la variabile globale GTIMOUT,
che a sua volta è inizializzata dal parametro TIMOUT.
Se GTIMOUT è impostata a 0 l’attesa non ha limiti, si aspetta finchè l’utente non fa una scelta.

La variabile TIMOUT si può modificare tramite il menu
Parametrizzazione \ Parametri generali \ Valori parametri (funzione ADPVAL),
selezionando il capitolo SUP a livello dossier, e andando nel dettaglio del gruppo PRF (Performance):

Sage Parameters SUP Supervisor PRF Performance Timeout

Sage Parameters SUP Supervisor PRF Performance Timeout

 

 

Spero vi sia stato utile!

Lascia un commento

Scopri di più da SageDev

Abbonati ora per continuare a leggere e avere accesso all'archivio completo.

Continue reading