Sintassi del campo "Valore"
Il campo Valore è utlizzato per i tipi dato float, combo, Calc (float) e text.
Nel tipo dato float è possibile definire il numero di cifre decimali aggiungendo la sintassi finale “;N” nel campo Valore del dato float con N che può assumere un valore tra 0 e 4. Se nulla viene specificato, il numero dei decimali di default è 2. Il risultato viene sempre arrotondato.
Nel tipo dato memo è possibile definire il l'altezza dei campi in numero di righe visibili, inserendo un valore numerico nel campo Valore. Il valore minimo utilizzabile è 3 che corrisponde al default se nessun valore è specificato.
Per i tipi dati combo è obbligatorio compilare il campo Valore in quanto è proprio in esso che si specificano i valori del menù a tendina. Es."Al mattino;Nel pomeriggio;Prima dei pasti;Alla sera", "Alto;Medio;Basso".
i campi combo, quando la normale sintassi è preceduta dalla sintassi [Type=Radiogroup,columns3], il menu a tendina viene editato in pulsanti Radio disposti su 3 colonne per una selezione univoca, se invece si fa precedere da [Type=Checkgroup,columns2] i valori si dispongono sottoforma di check box su 2 colonne e permettono la multiselezione.
Tipo Combo |
Sintassi |
Note |
Multiselezione: |
[Type=CheckGroup,Columns=10]Uno;Due;Tre;Quattro;Cinque;Sei; Sette;Otto;...;Cento |
|
Radiogroup: |
[Type=Radiogroup,Columns=2]Sì;No;Forse;Non applicabile |
|
Combobox |
[Type=Combobox,Columns=4]Buenas días;Buon giorno;Guten Morgen; Good morning |
Type=Combobox è superfluo, in quanto la visualizzazione di default già corrisponde a Combobox |
Nel caso della selezione multipla i valori selezionati vengono salvati in un unico campo separati da ";" (punto e virgola)
Vi è poi la possibilità, con i soli campi combo Normali e Radiogroup, di configurare dei campi combo che dipendono dai valori di altri campi combo: in pratica si configura una relazione tra un campo combo "Padre" ed un campo combo "Figlio".
Supponiamo che il primo campo da configurare, il campo padre, sia di tipo Radiogroup ed abbia l'ID 277. La sintassi dei 2 campi combo è la seguente:
Tipo campo |
Sintassi |
Note |
Relazionale Padre |
[Type=Radiogroup,Columns=3]Europa;Asia;Africa;America |
|
Relazionale Figlio |
[Dependson=277,Type=Radiogroup,Columns=4]Italia@0; Francia@0;Spagna@0;Cina@1;Giappone@1;India@1; Algeria@2;Congo@2;Canada@3 |
La sintassi @N collega l'elemento del combo Figlio all'elemento Padre, la numerazione inizia da 0 (Cina@1 collega l'elemento Cina al secondo elemento del campo Padre Asia)
|
Anche per il campo Relazionale Figlio è ammessa la sintasi Nome/Valore. La sintassi per l'es. sopra esposto è:
[Dependson=277,type=Radiogroup,columns=4](Italia@0,12);(Francia@0,87);(Spagna@0,75);(Cina@1,16);(Giappone@1,153);(India@1,83);(Algeria@2,96;(Congo@2,85);(Canada@3,75)
Nel campo Valore dei dati tipo Calc (float) è utilizzabile la sintassi con gli operatori algebrici +, -, * e / per le 4 operazioni di addizione, sottrazione, moltiplicazione e divisione. Per funzionare in modo corretto, un dato personalizzato di tipo Calc (float) necessita che nel suo campo Valore il calcolo sia definito utilizzando le seguenti regole di sintassi:
1) | Racchiudere tra parentesi quadre gli ID dei dati personalizzati che si vogliono utilizzare nel calcolo. Es: [135]-[152] effettua la sottrazione tra il valore del campo con ID 135 e il campo con ID 152. |
2) | Racchiudere tra parentesi tonde le operazioni con priorità. Es: 9*5+10 = 45 + 10 = 55; 9*(5+10) = 9*15 = 135. |
3) | I campi utilizzabili per i calcoli sono i float e gli integer, ovvero sono utilizzabili solo gli ID di numeri float e integer, fanno eccezione i campi data che possono essere usati esclusivamente per le sottrazioni. Es: ([12]-[10]) * [15]; dove [12] e [10] sono date e [15] un campo float. |
4) | Nei campi combo è permessa la sintassi nome/valore: (Nome1,Valore1);(Nome2,Valore2);(Nome3;Valore3);…;(NomeN,ValoreN), utilizzando l’ID di un campo combo così definito in un calcolo. Es: il campo combo [13] ha il seguente valore “(Alto,10);(Medio,5);(Basso;1)”, l’operazione [13]*2 darà il valore 10, (5*2), nel caso “Medio” sia impostato nel dato combo. |
5) | Anche nel campo Calc (float) è possibile concludere la definizione dell’operazione con la sintassi “;N”. Es: [13]/7;3 farà sì che il risultato della divisione del campo [13] diviso 7 sia mostrata con 3 cifre decimali. |
La formula che si imposta in un campo Calc viene validata al momento del salvataggio per segnalare la presenza di eventuali errori di sintassi. Affinché il calcolo si svolga correttamente, è importante che tutti i dati coinvolti siano visibili sia nella tab dati personalizzati all'interno di un modulo che nella maschera di chiusura della disposizione.
ATTENZIONE !! Se nelle Opzioni, alla sottosezione Campi dei dati personalizzati, l'ID dei campi non è visibile, effettuare un reset della griglia selezionando il comando Reset impostazioni griglia dal menu contestuale. |
Per i tipi dati text è facoltativo compilare il campo Valore in quanto costituisce la maschera di inserimento dei dati, da utilizzare qualora si desideri che l'input su tali campi sia vincolato da certe regole. La maschera di inserimento è costituita da 3 parti, separate da ";" ovvero:
<prima parte>;<seconda parte>;<terza parte>;
La <prima parte> costituisce la maschera di inserimento vera e propria. La <seconda parte> e la <terza parte> sono opzionali e servono a impostare un ulteriore controllo del campo
ATTENZIONE !! I dati text sono salvati come testo, quindi se si desidera inserire dei numeri sui quali sia possibile ad es. eseguire somme o altre operazioni statistiche, è consigliabile utilizzare i campi float o integer. |
Carattere |
Sintassi per la <prima parte>
|
> |
i caratteri che seguono sono tutti in stile MAIUSCOLO (oppure fino al carattere <) |
< |
i caratteri che seguono sono tutti in stile minuscolo (oppure fino al carattere >) |
<> |
sui caratteri che seguono non vi è nessun controllo ed i dati sono formattati come digitati dall'utente |
\ |
Il carattere che segue è un carattere fisso non imputabile dall'utente. Serve per rendere carattere fisso i caratteri speciali (!, >, <, \, L, l, A, a, C, c, 0, 9 #, :, /, _) |
L |
carattere alfabetico obbligatorio (A-Z, a-z) |
l |
carattere alfabetico non obbligatorio (A-Z, a-z) |
A |
carattere alfanumerico obbligatorio (A-Z, a-z, 0-9) |
a |
carattere alfanumerico non obbligatorio (A-Z, a-z, 0-9) |
C |
carattere qualsiasi obbligatorio |
c |
carattere qualsiasi non obbligatorio |
0 |
carattere numerico obbligatorio (0-9) |
9 |
carattere numerico non obbligatorio (0-9) |
# |
carattere numerico o '+' o '-' non obbligatorio (0-9) |
: |
separatore delle ore/minuti/secondi; a seconda delle opzioni internazionali di Windows in utilizzo sostituisce automaticamente il separatore standard delle ore e dei minuti. (per l'Italia è ".") |
/ |
separatore della data; come sopra, solo che in questo caso il sistema sostituisce il separatore della data (per 'lItalia è "/"). |
_ |
spazio; se nella posizione l'utente digita del testo il cursore salta oltre |
Tutti gli altri caratteri |
Tutti gli altri caratteri risultano caratteri fissi non inputabili dall'utente
|
Carattere
|
Sintassi per la <seconda parte> |
0 |
se 0 è utilizzato come <seconda parte> significa che il dato salvato nel database sarà solo quanto digitato dall'utente, ovvero i caratteri fissi sono omessi. Esempio. per "(0-0)" l'utente ha digitato solo due numeri in quanto 00 è presente, ma non ha digitato le parentesi e "-", che erano caratteri fissi. In questo caso nel database verrà salvato solo "00" |
Tuttii gli altri caratteri |
se 0 non è utilizzato come <seconda parte> significa che il dato salvato nel database sarà quanto visibile a schermo, ovvero i caratteri fissi sono inclusi. Esempio. per "(0-0)" l'utente ha digitato solo due numeri in quanto 00 è presente, ma non ha digitato le parentesi e "-", che erano caratteri fissi. Comunque in questo caso nel database verrà salvato la stringa completa "(0-0)". Questo è il valore di default, ovvero se uno non specifica la <seconda parte> il dato viene salvato completo nel database.
|
Carattere |
Sintassi per la <terza parte>
|
Ogni singolo carattere |
il carattere specificato indica gli spazi vuoti che l'utente dovrà imputare. Il default è "_".
|
Ecco 2 esempi di compilazione del campo text:
1) Targa automobilistica italiana: ">LL-000-LL;1;_"
<prima parte> > lettere maiuscole LL 2 lettere obbligatorie - indica un trattino "a scopo estetico": è un carattere fisso 000 3 numeri obbligatori - indica uno trattino "a scopo estetico": è un carattere fisso LL 2 lettere obbligatorie |
<seconda parte> 1 (non è 0 - quindi il dato nel DB verrà salvato completo, quindi inclusi i caratteri fissi) |
<terza parte> _ I caratteri da inserire saranno mostrati come "_" |
2) Cartellino identificativo: "ID 000;0;_"
<prima parte> "ID " caratteri fissi 000 3 numeri obbligatori |
<seconda parte> 0 (è 0 - quindi il dato nel DB verrà salvato senza caratteri fissi, ovvero solo i 3 numeri verrano salvati. Nelle consultazioni quindi il dato apparira come "345" e non come "ID 345") |
<terza parte> _ I caratteri da inserire saranno mostrati come "_" |