Passa al contenuto principale

DEFCOLORINDICATOR

Desktop

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 in forma lineare (orizzontale o verticale) impostandone tutti i parametri utili, compreso lo stile per definire il colore di ogni singolo elemento del controllo.

Parametri

ParametroDefinizioneI/OInformazioniVersione traduttoreSMP
NOMEInteroINObbligatorioDesktopWebMobile
IDStringaINDesktop
POSINObbligatorioDesktop
DIMINObbligatorioDesktop
STRUTTURAStringaINObbligatorioDesktop
ORIENTAMENTOINDesktop
SPAZIATURADoubleINDesktop
STILEStringaINDesktop
VARSTILEStringaINObbligatorioDesktop
VARVALOREStringaINObbligatorioDesktop
VARVISIBILEStringaINDesktop
VARFORMAStringaINDesktop
RANGEINDesktop
GRIDINDesktop
STACKINDesktop
EXPANDERINDesktop
DOCKINDesktop
PERSONALIZZABILEInteroINBinarioDesktop
LINKTOINDesktop

NOME

InteroINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktopWebMobile

Consente di definire il nome del controllo.

ID

StringaINInputValore non necessarioValore non necessarioDesktop

Definisce la variabile o la costante di programma che contiene l'identificatore univoco del controllo.

note

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

POS

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Posizionamento del controllo.

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

POS[RigaVid [UnitàMisura], ColonnaVid [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.

DIM

INInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

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.

STRUTTURA

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

Identifica il nome della struttura dinamica che dovrà fungere da base dati per l'indicatore, come per i grafici e per la listbox il ColorIndicator necessità di una struttura dinamica associata definita integralmente dal programmatore BC. La struttura gestisce l'autoaggiornamento del controllo, ogni modifica effettuata su di essa si riflette automaticamente sul controllo a video. Ad ogni riga della struttura dinamica corrisponde una unità dell'indicatore di colore all'interno del rettangolo definito dalle coordinate POS e DIM. NomeStrutturaDinamica: Può essere una variabile o una costante di tipo alfanumerico.

ORIENTAMENTO

INInputValore non necessarioValore non necessarioDesktop

Permette di definire l'orientamento con cui disegnare il controllo. <tabella> Valore Descrizione [ORIZZONTALE] Il controllo segue uno schema orizzontale [VERTICALE] Il controllo segue uno schema verticale </tabella>

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

ValoreDescrizione
VERTICALEVerticale
ORIZZONTALEOrizzontale

SPAZIATURA

DoubleINInputValore non necessarioValore non necessarioDesktop

Indica la spaziatura tra un indicatore di colore e l'altro espresso in pixel. ValoreSpaziatura: Può essere indicato con una costante oppure mediante una variabile.

STILE

StringaINInputValore non necessarioValore non necessarioDesktop
warning

Dello stile verrà considerato solo l'attributo COLORESFONDO.

VARSTILE

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

[VarValoreStile] Nome del campo sulla struttura contente il nome dello stile (precedentemente definito con DEFSTYLE) associato al range.
Dello stile verrà considerato solo l'attributo COLORESFONDO

VARVALORE

StringaINInputObbligatorioObbligatorioValore non necessarioValore non necessarioDesktop

[VariabileValore] Nome del campo sulla struttura contenente il valore dell'indicatore.
In base a questo valore verrà variato l'effetto grafico (Acceso, Spento, Flash)

VARVISIBILE

StringaINInputValore non necessarioValore non necessarioDesktop

[VariabileVisibile] Nome del campo sulla struttura che indica se l'indicatore disegnato è visibile o meno.
Se non visibile viene lasciato uno spazio bianco.

VARFORMA

StringaINInputValore non necessarioValore non necessarioDesktop

[VariabileForma Nome del campo sulla struttura che indica la forma con cui viene disegnato l'indicatore. <tabella> Valore Descrizione 0 (zero) Gli elementi del controllo assumono una forma circolare 1 (zero) Gli elementi del controllo assumono una forma rettangolare </tabella>

RANGE

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

SPENTO[ VARMIN[VarValoreMinimoRange] _ VARMAX[VarValoreMinimoRange] ] _ ACCESO[ VARMIN[VarValoreMinimoRange] _ VARMAX[VarValoreMinimoRange] ] _ FLASH[ VARMIN[VarValoreMinimoRange] _ VARMAX[VarValoreMinimoRange] ] Indicazione dei range per cui l'unità dell'indicatore deve risultare spenta, accesa o lampeggiante.

GRID

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Attached Property per pannello di tipo Grid

STACK

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Attached Property per pannello di tipo Stack

EXPANDER

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Attached Property per pannello di tipo Expander

DOCK

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

Consente di indicare se l'oggetto deve occupare tutto lo spazio del DockPanel in verticale e/o in orizzontale (possono essere indicati entrambi).

PERSONALIZZABILE

InteroINInputBinarioBinarioValore non necessarioValore non necessarioDesktop

Definisce se l'oggetto grafico è personalizzabile dall'utente in fase di runtime. Attached Property - (Input) - (Disponibile da BC/X v. 22.0) GRID[ COL[] RIGA[] COLSPAN[] RIGASPAN[] COLDIN[] RIGADIN[] ] oppure STACK[ [VERTICALE] [ORIZZONTALE] [ESTESO] ] oppure EXPANDER[ [VERTICALE] [ORIZZONTALE] [POSINFO] ] oppure DOCK[ [VERTICALE] [ORIZZONTALE] ] Le Attached Property di un oggetto inserito all'interno di un pannello definiscono le modalità di visualizzazione dell'oggetto nel pannello e definiscono il comportamento da adottare quando sono modificate a run-time le dimensioni della videata (conseguentemente le dimensioni del pannello contenitore, conseguentemente quelle del controllo). Se l'oggetto viene definito all'interno di un pannello contenitore di tipo Grid è OBBLIGATORIO definire le sue Attached Property; se l'oggetto viene definito all'interno di un pannello di tipo Expander/Stack/Dock NON E' OBBLIGATORIO definire le sue Attached Property. Esempio di utilizzo dei Gauge (indicatore di colore)

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

ValoreDescrizione
0No
1Si

LINKTO

INInputValore non necessarioValore non necessarioDesktop
SottoParametri

[ ID[IdentificativoControllo] PRINCIPALE[FlagSiNo] ] Permette di creare un legame tra due controlli esistenti all'interno della stessa videata.

Esempi

Definizione semplice

 SHARED DIM VarStyle[STRING]

SHARED DIM VarVis[INT]

SHARED DIM VarShape[INT]

SHARED DIM Value[DOUBLE]

SHARED DIM MinOffValue[INT]
SHARED DIM MaxOffValue[INT]

SHARED DIM MinOnValue[INT]
SHARED DIM MaxOnValue[INT]

SHARED DIM MinFlashValue[INT]
SHARED DIM MaxFlashValue[INT]

SHARED DIM Structure[STRING] = "COLORSTRUCT"

SHARED DIM newValue[DOUBLE]

...
'@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]]

'@DEFCOLORINDICATOR NOME[COLORINDICATOR] POS[1,1] DIM[1,1] STRUTTURA[Structure] _
ORIENTAMENTO[VERTICALE] SPAZIATURA[5] _
VARSTILE["VarStyle"] VARVALORE["Value"] _
VARVISIBILE["VarVis"] VARFORMA["VarShape"] _
RANGE[SPENTO[VARMIN["MinOffValue"] VARMAX["MaxOffValue"]] _
ACCESO[VARMIN["MinOnValue"] VARMAX["MaxOnValue"]] _
FLASH[VARMIN["MinFlashValue"] VARMAX["MaxFlashValue"]]] _
GRID[COL[1] RIGA[2]]

'@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 struttura
'@DEFDYNSTRUCT STRUTTURA[Structure] CAMPI[VarStyle, VarVis, VarShape, Value, _
MinOffValue, MaxOffValue, _
MinFlashValue, MaxFlashValue, _
MinOnValue, MaxOnValue]

' Pulizia struttura
'@ZAPDYNSTRUCT STRUTTURA[Structure]

' Popolamento variabili struttura
VarStyle="ROSSO":VarVis=1:VarShape=0:Value=0
MinOffValue=0:MaxOffValue=20
MinFlashValue=20:MaxFlashValue=28
MinOnValue=28:MaxOnValue=30

' Popolamento struttura
'@ADDDYNSTRUCT STRUTTURA[Structure] CAMPI[VarStyle, VarVis, VarShape, Value, _
MinOffValue, MaxOffValue, _
MinFlashValue, MaxFlashValue, _
MinOnValue, MaxOnValue]

' Popolamento variabili struttura
VarStyle="VERDE":VarVis=1:VarShape=0:Value=0
MinOffValue=0:MaxOffValue=10
MinFlashValue=10:MaxFlashValue=18
MinOffValue=18:MaxOnValue=20

' Popolamento struttura
'@ADDDYNSTRUCT STRUTTURA[Structure] CAMPI[VarStyle, VarVis, VarShape, Value, _
MinOffValue, MaxOffValue, _
MinFlashValue, MaxFlashValue, _
MinOnValue, MaxOnValue]

' Popolamento variabili struttura
VarStyle="BLU":VarVis=1:VarShape=0:Value=0
MinOffValue=0:MaxOffValue=0
MinFlashValue=0:MaxFlashValue=8
MinOnValue=8:MaxOnValue=10

' Popolamento struttura
'@ADDDYNSTRUCT STRUTTURA[Structure] CAMPI[VarStyle, VarVis, VarShape, Value, _
MinOffValue, MaxOffValue, _
MinFlashValue, MaxFlashValue, _
MinOnValue, MaxOnValue]
Return

...
'@SR Refresh

' Verifica raggiungimento valore massimo di Value
If Value=30 Then

' Azzeramento valore
Value=0

EndIf

' Incremento valore e impostazioni variabili
Value = Value + 1
newValue = Value
' Modifica campo degli elementi della struttura
'@SETDYNSTRUCTFIELD STRUTTURA[Structure] ELEMENTO[1] TIPOVAR[1] CAMPO["Value"] VALNUM[newValue]
'@SETDYNSTRUCTFIELD STRUTTURA[Structure] ELEMENTO[2] TIPOVAR[1] CAMPO["Value"] VALNUM[newValue]
'@SETDYNSTRUCTFIELD STRUTTURA[Structure] ELEMENTO[3] TIPOVAR[1] CAMPO["Value"] VALNUM[newValue]

Return