Questa azione è chiamata prima dell'esecuzione di un'azione (bottone, menù, lista di selezione, ... ). Uno stato che definisce l'azione viene inviato dal supervisore nella variabile REPONSE.
Semplice, Riquadro, Combinato
No
E' possibile bypassare il programma normale del proprio bottone o menù: Questa azione permette di lanciare il proprio programma al posto del programma modello per poi rimettere REPONSE a 0.
I diversi valori possibili per la variabile REPONSE sono forniti da variabili globali il cui nome è dato nel riquadro qui in basso:
Stato | Bottone corrispondente |
GSTAENR | Registra |
GSTACRE | Crea |
GSTAANU | Annulla |
GSTAFIN | Esci |
GSTACHG | Cambio codice |
GSTASUI | Successivo |
GSTAPRE | Precedente |
GSTAFIR | Primo record |
GSTALAS | Ultimo record |
GSTALFT | Semplice clic nella lista di selezione |
GSTALF2 | Doppio clic nella lista di selezione |
GSTALF3 | Semplice clic nella lista gerarchizzata |
GSTALF4 | Doppio clic nella lista gerarchizzata |
GSTARET | Entrata |
GSTANEW | File / nuovo |
GSTASEL | File / selezione |
GSTACOM | File / commento |
GSTAEDI | Stampa |
GSTALIS | Elenco |
GSTAJOI | Documento allegato |
GSTAHLP | Help |
GSTAESC | Annulla (con chiusura della finestra) |
GSTAOK | OK |
GSTAPCK | Selezione picking in GEODE |
GSTADAT | Proprietà |
>=GSTABOU | Bottone speciale definito da una cifra (i controlli sono effettuati sui campi della pagina oltre il campo in fase di inserimento e si verifica un blocco se un controllo non è soddisfacente). |
>=GSTABOU2 | Bottone speciale definito da una lettera minuscola (la pagina non è controllata prima del lancio della funzione). |
La gestione delle tabelle diverse è una gestione riquadro. I bottoni di spostamento quindi non sono presi in carico da questo tipo di gestione. Occorre allora programmare dei programmi particolari per questi bottoni di spostamento per permettere all'utente di visualizzare la tabella successiva, precedente, la prima o ultima.
$APRES_CHOI
Case REPONSE
When GSTASUI: Gosub SUIVANT: REPONSE = 0
When GSTAPRE: Gosub PRECEDENT: REPONSE = 0
When GSTAFIR: Gosub PREMIER: REPONSE = 0
When GSTALAS: Gosub DERNIER: REPONSE = 0
Endcase
Return
$SUIVANT
If VERROU: Gosub DEVERROU From GOBJET: Endif
Read [ADV]CODE > [M]NUMTAB
If fstat>2
GMESSAGE = mess(11,100,1): GERR = 1: Return
Else
[M]NUMTAB = [F:ADV]NUMTAB
CLE2 = num$([M]NUMTAB
Gosub RELIT From GOBJSUB
Endif
Endif
Return