AP_CHOIX

Descrizione

Questa azione è chiamata subito dopo aver "cliccato" su un bottone o su un menù.

Modello

Inserimento finestra

Utilizzo

Permette di eseguire un programma dopo aver "cliccato" su un bottone o su un menù. Infatti, per la maggior parte dei bottoni, il modello non ha programmi generici. L'elaborazione deve essere scritta in questa azione. I bottoni presi in carico dal modello sono i seguenti :
"FINE", "STAMPA", "ELENCO", "ALLEGATI", "COMMENTO", "PROPRIETA'".

Questa azione interviene prima delle azioni su bottone ( AVANT_BOUTON, BOUTON e AVANT_XXX, XXX ), dove XXX è l'identificativo del bottone predefinito.

Questa azione interviene prima delle azioni su menù (AVANT_MEN, MEN )

La variabile REPONSE contiene lo stato del bottone e, di conseguenza, indica il bottone attivato dall'utente. 

Per i bottoni predefiniti, sono presenti qui in basso le variabili che identificano il bottone:

REPONSEStatoBottone
GSTAESC7FINE
GSTANEW91Nuovo
GSTAENR92Registra
GSTACRE93Crea
GSTAANU94Elimina
GSTASEL95Selezione
GSTAFIR96Primo
GSTALAS97Ultimo
GSTASUI98Successivo
GSTAPRE99Precedente
GSTAOK1029Ok
GSTAFIN1792Annulla
GSTACHG1793Cambio codice
GSTAJOI1794Documenti allegati
GSTACOM1795Commenti
GSTAEDI1796Stampa
GSTALIS1797Elenco
GSTADAT1798Proprietà
GSTARAF1799Refresh lista di selezione

Per gli altri bottoni, la variabile REPONSE contiene uno stato che inizia da:
1101    per i bottoni validanti
1801    per i bottoni non validanti 
2001    per i menù 

Quindi, se si hanno 2 bottoni validanti seguiti da un bottone non validante, si hanno i seguenti stati in REPONSE:
1101
1102
1803

Non si utilizza direttamente questo stato poichè dipende dalla posizione del bottone nel dizionario della finestra. In un primo momento, si ricerca la posizione del bottone nel dizionario della finestra, poi, in funzione di questa posizione si deduce il codice del bottone. Si hanno a disposizione due riquadri: LBOUT(n) contiene lo stato dei bottoni, CBOUT(n) contiene il codice dei bottoni (n è la posizione del bottone nel dizionario della finestra).

Esempio:

$AP_CHOIX
Local Integer I
I=find(REPONSE,LBOUT)
If I<1: Return: Endif
Case CBOUT(I-1)
    When "M"
    When "R"
    When "E"
Endcase
Return

Si utilizzano più frequentemente le azioni AVANT_BOUTON e AVANT_MEN per le quali il codice bottone / menù è contenuto nella variabile BOUT.