DEFVIDWAITMSG
Grazie a questa specifica è possibile:
- Indicare un numero multiplo di messaggi.
- Gestire il testo all'interno della videata tramite i TAG HTML.
In caso si stesse esaminando un sorgente senza strict, al posto di questa specifica potrebbe essere presente la specifica '@PRM.
Parametri
| Parametro | Definizione | I/O | Versione traduttore | SMP | |
|---|---|---|---|---|---|
| TIT | Stringa | ||||
| HTML | Intero | 27.4 | |||
| MSG | Stringa | ||||
| RIGHE | Intero | ||||
| VISAVANZAMENTO | Intero | ||||
| VALOREMASSIMO | Variabile | ||||
| VALORE | Variabile | ||||
| DESAVANZAMENTO | Intero | ||||
| TASTOINTERRUZIONE | Intero | ||||
| DISABILITATASTOINTERRUZIONE | Intero | ||||
| RIDUCIBILE | Intero | ||||
| AZIONE |
TIT
Titolo che viene assegnato alla finestra visualizzata.
Costante racchiusa tra doppi apici.
HTML
Flag che, anche se non viene previsto nessun tag html all'interno del testo, prevede una label HTML per visualizzarlo.
Questo è necessario se all'interno del loop è prevista l'adozione di qualsiasi tag all'interno del testo.
| Valore | Descrizione |
|---|---|
| 0 | Tasto di riduzione ad icona disabilitato |
| 1 | Tasto di riduzione ad icona abilitato |
MSG
È possibile indicare più messaggi elencando più attributi MSG[] separati da uno spazio.
MSG[] può contenere:
-
Costante di tipo stringa indicato fra doppi apici.
-
Nome di una variabile di tipo stringa contenente il messaggio da visualizzare
-
Combinazione di costanti e variabili di tipo stringa concatenate. E' possibile utilizzare variabili di tipo Blob (?) a patto che esse siano inserite all'interno della funzione MID$.
RIGHE
Numero di righe che si vuole attribuire al messaggio presente all'interno della videata d'attesa prodotta.
In base al numero di righe la videata verrà ridimensionata.
Dev'essere una costante o una variabile di tipo intero.
Da BC/X 21.2, se non indicato, si assume come valore il numero dei parametri MSG indicati e non più il valore 1 come avveniva in precedenza.
VISAVANZAMENTO
Attivazione della progress bar.
Se presente, la videata con il messaggio verrà generata con delle dimensioni fisse e con la barra inclusa.
Costante o variabile di tipo intero.
In caso valga 4 il funzionamento è quello di una waiting bar come nel TipoAvanzamento 2, ma è da preferire quando le operazioni sono ripetute e possono essere molto lunghe, ad esempio ciclando su una collezione, rischiando di provocare un timeout.
Questa modalità richiama l'AZIONE indicata ricorsivamente, permettendo di suddividere l'elaborazione in operazioni più piccole e veloci.
Al termine dell'elaborazione dovrà essere obbligatoriamente eseguita una '@DELVIDWAITMSG.
E' necessario essere sicuri che, con l'utilizzo del TipoAvanzamento 4, venga poi richiamata la '@DELVIDWAITMSG, altrimenti si rischia di creare un loop che può provocare pesanti rallentamenti al webserver e a tutti gli utenti ad esso collegati.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | Nessuna Barra di progressione |
1 | Barra di progressione: da definire all'interno di un ciclo nel quale si conosce il termine, la barra avanzerà man mano che il ciclo verrà completato |
2 | Barra di attesa: da definire prima di un'operazione lunga di cui non si conosce il termine, verrà visualizzata una barra di attesa che eviterà all'utente di pensare che il computer sia bloccato |
VALOREMASSIMO
Valore massimo che può assumere la progress bar.
Quando il valore della progress bar raggiunge il valore massimo impostato significa che si è al termine del ciclo di lavoro.
Il parametro viene considerato solamente se VISAVANZAMENTO è uguale a 1.
Costante o variabile di tipo intero.
VALORE
Valore corrente della progress bar.
In base al valore inserito e a quello inserito nel parametro VALOREMASSIMO[] verrà calcolata la percentuale di progressione con la quale verrà 'valorizzata' la progress bar.
Il parametro viene considerato solamente se VISAVANZAMENTO è uguale a 1.
Costante o variabile di tipo intero.
Il parametro dev'essere sempre minore o uguale al valore impostato nel parametro VALOREMASSIMO[].
DESAVANZAMENTO
Valore che identifica che tipo di descrizione si vuole visualizzare sotto la progress bar.
Il parametro viene considerato solamente se VISAVANZAMENTO è uguale a 1.
Costante o variabile di tipo intero.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | Nessuna descrizione |
1 | Visualizza sotto la barra di progressione il valore percentuale del lavoro svolto |
2 | Visualizza sotto la barra di progressione il numero di operazioni eseguite su un totale di ... |
3 | Visualizza sotto la barra di progressione il numero di operazioni eseguite su un totale di ... con in aggiunta la percentuale di lavoro eseguito |
TASTOINTERRUZIONE
Flag che identifica la presenza del tasto di interruzione del processo in corso. Costante o variabile di tipo intero.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | Nessuna tasto interruzione |
1 | Inserisci tasto interruzione |
DISABILITATASTOINTERRUZIONE
Flag che identifica la disabilitazione del tasto interruzione presente nella videata di progressione.
Questo parametro è inutilizzabile senza il parametro TASTOINTERRUZIONE.
Costante o variabile di tipo intero.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | tasto interruzione abilitato |
1 | tasto interruzione disabilitato |
RIDUCIBILE
Flag che identifica l'abilitazione del tasto di riduzione ad icona della videata di progressione.
Parametro con valori ammessi, si possono utilizzare i seguenti valori:
| Valore | Descrizione |
|---|---|
0 | tasto di riduzione ad icona disabilitato |
1 | tasto di riduzione ad icona abilitato |
AZIONE
Azione da eseguire all'avvio della finestra visualizzata.
Esempi
Progress bar
DIM totalRows[INT] = 10000
For I[INT]=1 To totalRows
'@DEFVIDWAITMSG TIT["Attesa"] _
MSG["Attesa fine lavoro"] _
RIGHE[1] _
VISAVANZAMENTO[1] _
VALOREMASSIMO[totalRows] _
VALORE[I] _
DESAVANZAMENTO[1] ' Visualizza la percentuale
Next
Loop indefinito
'@DEFVIDWAITMSG TIT["Processo in corso..."] _
MSG["Attesa fine lavoro"] _
RIGHE[1] _
VISAVANZAMENTO[2]
Progress bar con messaggi concatenati
DIM totalRows[INT] = 10000
For J[INT]=1 To totalRows
'@DEFVIDWAITMSG TIT["Stampa"] _
MSG["Stampa del documento " + DocCod + " in corso.."] _
RIGHE[1] _
VISAVANZAMENTO[1] _
VALOREMASSIMO[totalRows] _
VALORE[J] _
DESAVANZAMENTO[1] ' Visualizza la percentuale
Next
totalRows = 10000
FOR J=1 TO totalRows
'@DEFVIDWAITMSG TIT["Stampa"] _
MSG["Stampa del documento " + MID$(DocCod, 1) + " in corso.."] _
RIGHE[1] _
VISAVANZAMENTO[1] _
VALOREMASSIMO[totalRows] _
VALORE[J] _
DESAVANZAMENTO[1] ' Visualizza la percentuale
NEXT