Documentazione
Torna al sito web >

Formato di display (Pascalscript)

È possibile specificare un formato di visualizzazione nelle definizioni dei campi per i campi nel registro SQL e nel report designer.

Questi formati sono soggetti ad alcune regole descritte qui di seguito. Oltre ai formati di visualizzazione all'interno dei modelli di schermo, per i report vengono utilizzati gli stessi formati di output.

Displayformat

È anche possibile definire un formato di modifica per i campi dello schermo che abbia la stessa struttura del formato di visualizzazione. Tutti i formati di visualizzazione valutano le impostazioni internazionali del sistema operativo. L'ingresso Sytnax è quindi internazionale (inglese).

I campi numerici, come i numeri interi e i numeri in virgola mobile, sono differenziati nella formattazione dei campi data e ora.

La sintassi corrisponde alla formattazione utilizzata nel linguaggio di programmazione Delphi.

 

Campi numerici

Per i campi numerici sono possibili i seguenti formati.

0 Segnaposto per cifra. Se il valore formattato contiene una cifra nella posizione in cui il carattere 0 (zero) appare nella stringa di formato, la cifra corrispondente viene inclusa nella stringa di uscita. In caso contrario, nella stringa di uscita viene visualizzato uno zero in questa posizione.
# Segnaposto per cifra. Se il valore formattato contiene un numero nella posizione in cui il carattere # appare nella stringa di formato, tale numero viene incluso nella stringa di destinazione. In caso contrario, nella stringa di uscita non viene memorizzato nulla nella posizione corrispondente.
. Punto decimale. Il primo punto della stringa di formato determina la posizione del separatore decimale nel valore formattato. Tutti gli altri caratteri punti vengono ignorati. Il carattere che appare effettivamente come separatore decimale nella stringa di output è definito Pannello di controllo di Windows in Impostazioni regionali (scheda Proprietà di Impostazioni regionali, scheda Numeri).
, Separatore da migliaia di pezzi. Se la stringa di formato contiene uno o più caratteri di virgola, tutte le cifre a sinistra del separatore decimale nella stringa di uscita sono divise in gruppi di tre, ciascuno separato da mille separatori. Per indicare che si desidera un separatore di migliaia, non importa quante virgole contiene la stringa di formato. Anche la posizione è arbitraria. Il carattere che in realtà appare come mille separatore nella stringa di output è definito nel Pannello di controllo di Windows in Impostazioni internazionali (scheda Proprietà delle Impostazioni internazionali, scheda Numeri).
E+ Notazione scientifica. Se la stringa di formato contiene uno degli identificatori "E+", "E-", "e+" o "e-", il numero formattato viene visualizzato in notazione scientifica. Subito dopo "E+", "E-", "e+" o "e-" può seguire un gruppo di un massimo di quattro zeri, con il quale si determina il numero minimo di cifre nell'esponente. Le due abbreviazioni "E+" e "e+" hanno l'effetto di indicare sia gli esponenti positivi che quelli negativi. Le abbreviazioni "E-" ed "e-" hanno l'effetto che solo gli esponenti negativi ricevono un segno.
‘xx’/"xx" Tutti i caratteri racchiusi tra virgolette intere o parziali vengono copiati invariati nella stringa di output e non influiscono sulla formattazione.
; Un punto e virgola separa gli intervalli per i numeri positivi e negativi nella stringa di formato.
$ Simbolo di valuta segnaposto. Questo simbolo è supportato solo nella routine FormatFloatLCID e deve trovarsi all'inizio o alla fine della stringa di formato. L'inizio o la fine della posizione non ha nulla a che vedere con la posizione del simbolo di valuta creata successivamente. Questo viene determinato esclusivamente da Windows e dal locale memorizzato. La LCID specifica il locale.

All'interno della stringa di formato, la posizione del carattere zero all'estrema sinistra insieme alla posizione del carattere zero all'estrema destra (relativa al separatore decimale) determina il numero di cifre che vengono sempre visualizzate nella stringa di uscita.

Durante la formattazione, il numero da visualizzare è sempre arrotondato al numero di cifre decimali specificato dal numero di tastierini ("0" o "#") a destra del separatore decimale. Se nella stringa di formato manca un separatore decimale, il valore formattato viene arrotondato al numero intero successivo.

Se il numero di posizioni specificato prima della virgola non è sufficiente a rappresentare un numero, vengono inserite altre posizioni prima del segnaposto della prima cifra.

 

Formato di display Valore Risulto Nota
#.## 12.2 12.2 a sinistra della virgola viene sempre visualizzato il numero aggiuntivo.
#.00 2.5 2.50 Zero supplementare: Vengono sempre visualizzate due cifre decimali.
00.## .006 00.01 A destra della virgola vengono visualizzati altri zeri, arrotondati alle due cifre decimali.

Il punto e virgola divide la stringa di formato in un massimo di tre parti, in ciascuna delle quali è possibile definire la propria formattazione per i numeri positivi e negativi e per gli zeri.

  • Una sezione: La stringa di formato si applica a tutti i valori.
  • Due sezioni: La prima sezione si applica ai valori positivi, la seconda ai valori negativi.
  • Tre sezioni La prima sezione si applica ai valori positivi, la seconda ai valori negativi e la terza agli zeri.

Se la sezione per i valori negativi o la sezione per gli zeri è vuota, cioè se non c'è nulla tra i punti e virgole, viene utilizzata la sezione per i valori positivi.

Se la sezione per i numeri positivi è vuota o l'intera stringa di formato è vuota, viene eseguita una formattazione standardizzata in virgola mobile con 15 cifre significative. Lo stesso vale se il valore ha più di 18 cifre prima della virgola decimale e non è stata specificata alcuna notazione scientifica nella stringa di formato.

Campi data

I seguenti formati sono possibili per i campi data.

c La data è rappresentata da un formato definito internamente, seguito dall'ora. L'ora non viene visualizzata se la frazione dopo la virgola decimale del valore di data/ora è zero. Internamente, una data viene visualizzata come un numero in virgola mobile. La visualizzazione dell'intero è la data, la frazione dopo il punto decimale è l'ora.
d Il giorno come numero senza lo zero iniziale (1-31).
dd Il tag come numero con lo zero iniziale (01-31).
ddd Il giorno come abbreviazione (Sun-Sat)
dddd  Il giorno per nome e cognome (Domenica-Sabato)
ddddd Viene utilizzato il formato corto interno della data.
dddddd  Viene utilizzato il formato della data interno.
m Il mese come numero senza lo zero iniziale (1-12). Se l'identificatore m segue immediatamente una h o hh, al posto dei minuti viene visualizzato il mese.
mm Il mese come numero con lo zero iniziale (01-12). Se l'identificatore mm segue immediatamente una h o hh, viene visualizzato il mese invece dei minuti.
mm Il mese come abbreviazione (gennaio-dicembre).
mmmm Il mese per nome completo (gennaio-dicembre).
yy L'anno come numero a due cifre (00-99).
yyyy L'anno come numero a quattro cifre (0000-9999).
h L'ora senza lo zero iniziale (0-23).
hh L'ora con lo zero iniziale (00-23).
n Il minuto senza lo zero iniziale (0-59).
nn Il minuto con lo zero iniziale (00-59).
s Il secondo senza lo zero iniziale (0-59).
ss Il secondo con lo zero iniziale (00-59).
t Il tempo è determinato dal formato corto interno.
tt Il tempo è definito dal formato interno lungo.
am/pm L'ora in formato 12 ore per il precedente identificatore h o hh, seguita da "am" per le ore precedenti a mezzogiorno o da "pm" per le ore successive a mezzogiorno. Per gli identificatori am/pm è possibile utilizzare insieme lettere maiuscole e minuscole. Il risultato viene visualizzato di conseguenza.
a/p L'ora in formato 12 ore per il precedente identificatore h o hh, seguita dalla lettera "a" per le ore precedenti a mezzogiorno o dalla lettera "p" per le ore successive a mezzogiorno. Per gli identificatori a/p è possibile utilizzare insieme lettere maiuscole o minuscole e entrambi.
ampm L'ora in formato 12 ore per il precedente identificatore h o hh, seguita dall'identificatore del nome definito internamente.
/ Il separatore della data, che viene preso dall'impostazione internazionale di Windows.
: Il separatore di tempo, che viene preso dall'impostazione internazionale di Windows.
‘xx’/"xx" I caratteri racchiusi tra virgolette intere o parziali vengono visualizzati senza ulteriori formattazioni.

È possibile utilizzare sia lettere maiuscole che minuscole come identificatori di formato. Il risultato è lo stesso in entrambi i casi.

Se la stringa specificata nel parametro format è vuota, il valore di data e ora viene formattato come se fosse stato specificato l'identificatore di formato c.

 

Campi StringMask

Simbolo Significato
! Se nella maschera viene utilizzato il carattere !, i caratteri facoltativi nella stringa restituita vengono visualizzati come spazi iniziali. Se manca il carattere !, i caratteri facoltativi nella stringa restituita vengono visualizzati come spazi vuoti finali.
Se nella maschera viene utilizzato il carattere >, tutti i caratteri seguenti fino alla fine della maschera o fino al carattere < maiuscolo.< />
< Se nella maschera viene utilizzato il carattere <, tutti i caratteri successivi fino alla fine della maschera o fino al carattere> minuscolo.
<> Se questi due caratteri vengono utilizzati insieme nella maschera, non viene eseguito alcun controllo maiuscolo/minuscolo e i caratteri vengono formattati come appaiono nel parametro Valore.
\ Il carattere che segue deve essere interpretato come un carattere letterale. Utilizzare questo carattere se si desidera emettere letteralmente uno dei caratteri jolly.
L Il carattere L richiede una lettera in questa posizione (in Germania A-Z e a-z).
l Il carattere l permette solo una lettera in questa posizione, ma non la richiede.
A Il carattere A richiede un carattere alfanumerico in questa posizione.
a Il carattere a permette un carattere alfanumerico in questa posizione, ma non lo richiede.
C Il carattere C richiede qualsiasi carattere in questa posizione.
c Il carattere c permette ma non richiede alcun carattere in questa posizione.
0 Il carattere 0 richiede un carattere numerico in questa posizione.
9 Il carattere 9 consente, ma non richiede, un carattere numerico in questa posizione.
# Il carattere # permette un carattere numerico o un segno più o meno in questa posizione, ma non lo richiede.
: Il carattere : è usato per separare ore, minuti e secondi nelle specifiche temporali. Se le impostazioni del paese nel controllo del sistema del computer forniscono un altro delimitatore, questo viene utilizzato al posto di :.
/ Il carattere / viene utilizzato per separare l'anno, il mese e il giorno in date. Se le impostazioni del paese nel controllo di sistema del computer forniscono un altro delimitatore, questo viene utilizzato al posto di /.
; Il carattere ; separa i tre campi della maschera.
_ Il carattere _ inserisce automaticamente degli spazi nella stringa restituita.

Qualsiasi carattere che non sia contenuto in questa tabella può essere specificato come letterale nella prima parte dello schermo. I caratteri letterali vengono inseriti automaticamente se la seconda parte della maschera è 0. Per qualsiasi altro valore della seconda parte della maschera, i caratteri letterali vengono confrontati con i caratteri del parametro Valore. I caratteri jolly possono essere utilizzati anche come caratteri letterali se preceduti da una barra rovesciata ().

Il secondo campo della maschera contiene un singolo carattere che specifica se i caratteri letterali della maschera sono contenuti nel parametro Valore. Ad esempio, la maschera per un numero di telefono con prefisso potrebbe assomigliare a questa:

(000)_000-0000;0;*

Lo 0 nel secondo campo significa che il parametro Valore deve essere composto dalle dieci cifre del numero di telefono, non dai 14 caratteri da cui è formata l'ultima stringa.

Uno 0 nel secondo campo specifica che nella stringa di valori sono inseriti caratteri letterali, mentre tutti gli altri caratteri specificano che devono essere inclusi. Il carattere che determina se i caratteri letterali sono inclusi può essere modificato nella costante digitata MaskNoSave dichiarata nell'unità Mask.

Il terzo campo della maschera è il carattere utilizzato nella stringa restituita per gli spazi (caratteri che non compaiono in Valore). Per impostazione predefinita, questo è lo stesso carattere che sta per spazi letterali. I due caratteri vengono visualizzati in modo identico nella stringa di ritorno.

Nota

Se si utilizzano set di caratteri multibyte, ciascun carattere jolly rappresenta un byte. Quindi, se si applicano i caratteri jolly L, l, A, a, C o c ai caratteri a doppio byte, è necessario duplicare anche i caratteri jolly. Ad esempio, LL sta per due caratteri numerici a singolo byte o per un carattere a doppio byte. Sono supportati come caratteri letterali solo i caratteri a byte singolo.