Passa al contenuto principale

DEFCIRCULARINDICATOR

DesktopWebMobile

Consente di definire un Gauge, ovvero un indicatore che, data una scala con una escursione massima definita, visualizza graficamente il valore rilevato.

Può essere utilizzato per la realizzazione di cruscotti aziendali dove vengono mostrati graficamente i valori in tempo reale.

Consente inoltre di visualizzare il controllo di forma circolare (simile al quadrante di un orologio analogico) impostandone tutti i parametri utili.

Oltre alla definizione di valori della scala di rilevazione e all'indicazione del valore rilevato, è anche possibile definire uno stile per impostare un colore sulla corona dell'indicatore.

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
NOMEInteroINObbligatorioDesktopWebMobile
IDStringaINDesktopWebMobile
POSINDesktopWebMobile
DIMINObbligatorioDesktopWebMobile
GRIDINDesktopWebMobile
IMMAGINEVariabileINDesktopWebMobile
SCALAINObbligatorioRipetibileDesktopWebMobile
VISUALIZZAVALOREInteroINBinarioDesktopWebMobile
COLLEZIONEINDesktopWebMobile
TIPOINDICATOREEnumerazioneINWebMobile
STRUTTURAStringaINObbligatorioDesktop
STACKINDesktop
EXPANDERINDesktop
DOCKINDesktop
PERSONALIZZABILEInteroINBinarioDesktop
LINKTOINDesktop

NOME

InteroINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWebMobile

Consente di definire il nome del controllo.

ID

StringaINInputValore non necessarioValore non necessarioDesktopWebMobile

Consente di definire l'identificativo univoco del controllo.

note

Viene utilizzato dall'ambiente per gestire le personalizzazioni effettuate durante l'esecuzione del programma.

POS

INInputValore non necessarioValore non necessarioDesktopWebMobile

Consente di definire la posizione del controllo rispetto al contenitore.

DIM

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWebMobile

Dimensione del controllo.

Consente di indicare l'altezza e la larghezza. Per entrambi è possibile specificare l'unità di misura.

DIM[Altezza [UnitàMisura], Larghezza [UnitàMisura]]

note

L'unità di misura può essere: 'C' per il posizionamento a caratteri e 'P' per il posizionamento in pixel. L'indicazione è opzionale, se omesso si assume 'C' come default.

GRID

INInputValore non necessarioValore non necessarioDesktopWebMobile
SottoParametri

Consente di definire l'attached property riferita ad un pannello grid.

IMMAGINE

VariabileINInputValore non necessarioValore non necessarioDesktopWebMobile

Consente di definire il percorso dell'immagine, o il nome della risorsa, da visualizzare.
L'immagine deve essere in formato PNG.

SCALA

INInputObbligatorioObbligatorioRipetibileRipetibileValore non necessarioValore non necessarioDesktopWebMobile
SottoParametri

Consente la definizione della scala su cui rappresentare il Gauge.

Una scala definita per visualizzare valori in percentuale deve avere un valore minimo di 0 e un valore massimo di 100.

VISUALIZZAVALORE

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktopWebMobile

Consente di indicare se visualizzare il valore rilevato dall'indicatore.

Se non indicato assume 0 come valore di default.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0Non visualizzare valore rilevato
1Visualizza valore rilevato

COLLEZIONE

INInputValore non necessarioValore non necessarioDesktopWebMobile

Consente di indicare la collezione su cui si basa il grafico.

Ogni modifica effettuata sulla collezione si riflette automaticamente sul grafico.

TIPOINDICATORE

EnumerazioneINInputValore non necessarioValore non necessarioWebMobile

Consente di indicare il tipo di indicatore.

Parametro enumerato, può assumere i seguenti valori:

ValoreDescrizione
CIRCOLAREDefinizione di un indicatore circolare
SEMICIRCOLAREDefinizione di un indicatore semicircolare

STRUTTURA

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Consente di indicare il nome della struttura dinamica su cui si basa il Gauge.

Ogni modifica effettuata sulla struttura dinamica si riflette automaticamente sul controllo grafico.

STACK

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di definire l'attached property riferita ad un pannello stack.

EXPANDER

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di definire l'attached property riferita ad un pannello expander.

DOCK

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di indicare se il controllo deve occupare tutto lo spazio del DockPanel in verticale e/o in orizzontale.

PERSONALIZZABILE

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

Consente di definire se il controllo grafico è personalizzabile dall'utente in fase di runtime.

Parametro con valori ammessi, si possono utilizzare i seguenti valori:

ValoreDescrizione
0No
1Si

LINKTO

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di definire un legame tra due controlli esistenti all'interno della stessa videata.

Esempi

Esempio

 ' Definizione variabili scala
SHARED DIM ScaleMinValue[INT]
SHARED DIM ScaleMaxValue[INT]
SHARED DIM ScaleValue[INT]

' Definizione primo range di valori
SHARED DIM MinValue1[INT]
SHARED DIM MaxValue1[INT]
SHARED DIM Style1[STRING]

' Definizione secondo range di valori
SHARED DIM MinValue2[INT]
SHARED DIM MaxValue2[INT]
SHARED DIM Style2[STRING]

' Definizione terzo range di valori
SHARED DIM MinValue3[INT]
SHARED DIM MaxValue3[INT]
SHARED DIM Style3[STRING]

SHARED DIM Structure[STRING] = "CIRCOLARINDICATOR"
SHARED DIM tmp[INT]

...
'@DEFVID DIM[20,70] NOME[Videata] ID["VIDEATA"] TIT["Titolo Videata"] TOOLBAR[IDTOOLBAR["TOOLBAR"]]

'@DEFTOOLBAR IDTOOLBAR["TOOLBAR"] _
BOTTONE[IDBOTTONE["SYS_EXIT"] AZIONE[Exit()]] _
BOTTONE[IDBOTTONE["SYS_EXIT_ESC"] AZIONE[Exit()] INVISIBILE[1]]

'@DEFCIRCULARINDICATOR NOME[CIRC_INDICATOR] POS[1,1] DIM[0,0] STRUTTURA[Structure] _
SCALA[VARMIN["ScaleMinValue"] VARMAX["ScaleMaxValue"] VARVALORE["ScaleValue"] _
RANGE[VARMIN["MinValue1"] VARMAX["MaxValue1"] VARSTILE["Style1"]] _
RANGE[VARMIN["MinValue2"] VARMAX["MaxValue2"] VARSTILE["Style2"]] _
RANGE[VARMIN["MinValue3"] VARMAX["MaxValue3"] VARSTILE["Style3"]]] _
VISUALIZZAVALORE[1] _
GRID[COL[3] RIGA[2] COLDIN[1] RIGADIN[1]]

'@DEFTIMER SECONDI[1] AZIONE[GoSub Refresh]

'@RUNVID

...
'@SRP Load()

' Definizione stili
'@DEFSTYLE STILE["ROSSO"] COLORESFONDO[255, 0, 0]
'@DEFSTYLE STILE["VERDE"] COLORESFONDO[0, 255, 0]
'@DEFSTYLE STILE["BLU"] COLORESFONDO[0, 0, 255]

' Definizione Struttura
GoSub DefStructure

Return

...
'@SRP Exit()

'@EXITWINDOW

Return

...
'@SR DefStructure

' Definizione struttuta
'@DEFDYNSTRUCT STRUTTURA[Structure] CAMPI[ScaleMinValue, ScaleMaxValue, ScaleValue, _
MinValue1, MaxValue1, Style1, _
MinValue2, MaxValue2, Style2, _
MinValue3, MaxValue3, Style3]

' Popolamento struttura
'@ZAPDYNSTRUCT STRUTTURA[Structure]

' Valorizzazione variabili di scala
ScaleMinValue=0:ScaleMaxValue=100:ScaleValue=0

' Valorizzazione variabili primo range di valori
MinValue1=0:MaxValue1=33:Style1="ROSSO"

' Valorizzazione variabili secondo range di valori
MinValue2=33:MaxValue2=66:Style2="VERDE"

' Valorizzazione variabili terzo range di valori
MinValue3=66:MaxValue3=100:Style3="BLU"

'@ADDDYNSTRUCT STRUTTURA[Structure] CAMPI[ScaleMinValue, ScaleMaxValue, ScaleValue, _
MinValue1, MaxValue1, Style1, _
MinValue2, MaxValue2, Style2, _
MinValue3, MaxValue3, Style3]
Return

...
'@SR Refresh

' Verifica raggiungimento valore massimo di ScaleValue
If ScaleValue = 100 Then

' Azzeramento valore
ScaleValue = 0

EndIf

' Incremento valore e impostazioni variabili
ScaleValue = ScaleValue + 1
tmp = ScaleValue

' Modifica campo dell'unico elemento nella struttura
'@SETDYNSTRUCTFIELD STRUTTURA[Structure] ELEMENTO[1] TIPOVAR[1] CAMPO["ScaleValue"] VALNUM[tmp]

Return