Scopo
Ritorna una stringa di caratteri formattata in base agli argomenti passati.
Sintassi
string Risultato = "" // Leggo il risultato della funzione
//
Risultato := Format(espressione da formattare, formato, separatore decimale, separatore gruppo)
//
Risultato := Format(espressione da formattare, formato, separatore decimale, separatore gruppo)
Argomenti
Espressione Da Formattare | Obbligatorio. È l'espressione di cui si vuole ottenere il valore nel formato stringa specificato. |
Formato | Obbligatorio. Indica la maschera da utilizzare per la formattazione della stringa. Guarda le note per sapere in base al tipo dato dell'espressione che valori può assumere. |
Separatore Decimale | Opzionale. Indica il carattere che deve essere utilizzato come separatore decimale nel caso in cui l'espressione da convertire sia un numero. In caso sia omesso verrà considerato quanto specificato nel parametro di compilazione UseDecimalDot. |
Separatore Gruppo | Opzionale. Indica il carattere che deve essere utilizzato come separatore di gruppo nel caso in cui l'espressione da convertire sia un numero. In caso sia omesso verrà considerato quanto specificato nel parametro di compilazione UseDecimalDot. |
Lingua | Opzionale. Aggiunto in 18.5. Indica la lingua da usare per i nomi dei giorni e dei mesi. In caso sia omesso verrà considerato it-IT se il linguaggio di compilazione è ITA, en-US altrimenti. |
Valore di ritorno
Viene ritornata una stringa che contiene il valore dell'espressione passato come argomento opportunatamente formattato.
Esempio di codice
FORMAT
{
Risultato := Format(Now(), dddd dd mmmm yyyy 'ore' h:n, ??, ??)
OperatoritraStringhe.LabelFormat.Text := Risultato
}
{
Risultato := Format(Now(), dddd dd mmmm yyyy 'ore' h:n, ??, ??)
OperatoritraStringhe.LabelFormat.Text := Risultato
}
- Se non sono stati specificati gli argomenti opzionali per la formattazione di valori numerici viene preso in considerazione il parametro di compilazione UseDecimalDot, in particolare:
- se UseDecimalDot è uguale a YES allora SeparatoreDecimale = '.' (punto) e SeparatoreGruppo = ',' (virgola)
- se UseDecimalDot è uguale a NO allora SeparatoreDecimale = ',' (virgola) e SeparatoreGruppo = '.' (punto)
- Se l'EspressioneDaFormattare è una Stringa e la stringa rappresenta un numero ( IsNumber (EspressioneDaFormattare) = TRUE ) allora viene convertita in DECIMAL.
- Se l'EspressioneDaFormattare è una Stringa e la stringa rappresenta una data ( IsDate (EspressioneDaFormattare) = TRUE ) allora viene convertita in DATETIME.
- Il parametro Formato può assumere diversi valori in funzione del tipo dato dell'espressione passata:
- INTEGER, FLOAT, DECIMAL
- # Indica una cifra opzionale
- 0 Indica una cifra obbligatoria (se non c'è viene scritto il carattere 0)
- . Indica che è richiesto il separatore decimale (nella maschera ci vuole il punto ma poi il risultato userà il separatore decimale specificato)
- , Indica che è richiesto il separatore delle migliaia (nella maschera ci vuole la virgola ma poi il risultato userà il separatore delle migliaia specificato)
- ; Permette di specificare, nella maschera, diverse formattazioni dipendenti dal fatto che il valore sia positivo o negativo. Una maschera del tipo #.##;#.# vuol dire che se il numero è positivo verrà visualizzato con 2 decimali, se è negativo verrà visualizzato con un solo decimale
- DATE, DATETIME, TIME
- d Giorno del mese tra 1 e 31 (senza 0 di riempimento)
- dd Giorno del mese tra 1 e 31 su 2 cifre (con 0 di riempimento: il giorno 6 viene scritto come 06)
- ddd Nome del giorno su 3 caratteri (lunedì è lun (se italia) o mon (se inglese))
- dddd Nome del giorno completo (lunedì se italia, monday se inglese)
- m Mese tra 1 e 12
- mm Mese tra 1 e 12 su 2 cifre (0 di riempimento)
- mmm Nome del mese su 3 caratteri
- mmmm Nome del mese completo
- yy Anno su 2 cifre
- yyyy Anno su 4 cifre
- h Ore da 0 e 23 (senza 0 di riempimento)
- hh Ore da 0 e 23 (con 0 di riempimento)
- n Minuti da 0 a 59 (senza 0 di riempimento)
- nn Minuti da 0 a 59 (con 0 di riempimento)
- s Secondi da 0 a 59 (senza 0 di riempimento)
- ss Secondi da 0 a 59 (con 0 di riempimento)
- ALTRO
- Conversione EspressioneDaFormattare a Stringa "diretta", senza Formato
- Se nella maschera sono presenti caratteri o strighe tra apici queste non vengono analizzate dal formattatore ma vengono riscritte così come sono (senza apici).
- Se non è richiesta una maschera di formattazione particolare per convertire valori numerici in stringhe è possibile usare la funzione NumberToString
Ultima modifica: 23/03/2021 / Validità: da 8.5.3800