Formattatore di stringhe

Funzione

Applica una formattazione a una o più variabili in ingresso secondo una regola personalizzabile.

Può essere usato anche per formattare e parametrizzare query SQL da usare per esempio in oggetti di tipo database (vedere DataStore (database)).

Proprietà

Proprietà

Descrizione

Formato

Regola di formattazione. Per i riferimenti a variabili accetta i seguenti segnaposto:

  • index: numero di indice che identifica una variabile in ingresso

  • alignment: numero intero che rappresenta il numero di caratteri del valore sorgente formattato secondo la regola

  • format: formattazione da applicare alle variabili in ingresso (vedere Valori ammessi per il formato)

I segnaposto devono rispettare la sintassi {index,alignment:format}.

Nota

per ogni segnaposto {index} nella regola di formattazione, compare un nuovo campo per indicare la sorgente.

Modalità

  • Lettura: lettura (collegamento da sorgente a padre)

  • Scrittura: scrittura (collegamento da padre a sorgente)

  • Lettura/scrittura: lettura e scrittura (collegamento da sorgente a padre e viceversa)

Sorgente

Una o più variabili, identificate da un segnaposto con un numero di indice, nel formato {index}. Il numero di indice è progressivo, deve essere intero e partire da zero ({0}).

I segnaposto possono comparire in qualsiasi ordine nella regola di formattazione (es.: The minimum value of {3}, {0} and {2} is {1}).

Valori ammessi per il formato

Il segnaposto format accetta un sottoinsieme di valori previsti dalla notazione del framework .NET per il metodo String.Format.

Tipo di dato: DateTime

Dato di esempio: 23/04/2021 17:25:31, sessione con TimeZone offset 60 minuti.

Formato

Descrizione

Esempio

g

Data e ora brevi, locale

  • (en-US): 4/23/21, 06:25 PM

  • (it-IT): 23/04/21, 18:25

F

Data e ora estese, locale

  • (en-US): Apr 23, 2021, 6:25:31 PM

  • (it-IT): 23 apr 2021, 18:25:31

X

Data e ora brevi, UTC

  • (en-US): 4/23/21, 4:25 PM (UTC)

  • (it-IT): 23/04/21, 16:25 (UTC)

x

Data e ora estese, UTC

  • (en-US): Apr 23, 2021, 4:25:31 PM (UTC)

  • (it-IT): 23 apr 2021, 16:25:31 (UTC)

U

Data e ora completa universale, UTC

  • (en-US): April 23, 2021 4:25:31 PM GMT (UTC)

  • (it-IT): 23 aprile 2021 16:25:31 GMT (UTC)

p

Data breve, locale

  • (en-US): 4/23/21

  • (it-IT): 23/04/21

P

Data estesa, locale

  • (en-US): April 23, 2021

  • (it-IT): 23 apr 2021

d

Data breve, UTC

  • (en-US): 4/23/21 (UTC)

  • (it-IT): 23/04/21 (UTC)

D

Data estesa, UTC

  • (en-US): Apr 23, 2021 (UTC)

  • (it-IT): 23 apr 2021 (UTC)

t

Ora breve, locale

  • (en-US): 6:25 PM

  • (it-IT): 18:25

T

Ora estesa, locale

  • (en-US): 6:25:31 PM

  • (it-IT): 18:25:31

h

Ora breve, UTC

  • (en-US): 4:25 PM (UTC)

  • (it-IT): 16:25 (UTC)

H

Ora estesa, UTC

  • (en-US): 4:25:31 PM (UTC)

  • (it-IT): 16:25:31 (UTC)

Tipi di dati: numerici (Double Float Int16 Int32 Int64 Integer UInt16 UInt32 UInt64 UInteger)

Formato

Descrizione

Esempio

d

Numerico, senza separatore delle migliaia.

Dopo il segnaposto del formato, con un numero intero si configura il numero di posizioni decimali (senza padding).

  • d: -1234 ► -1234

  • d: 5.618 ► 5618

  • d2: 1.234,239 ► 1234,24

n

Numerico, con separatore delle migliaia.

Dopo il segnaposto del formato, con un numero intero si configura il numero di posizioni decimali (senza padding).

  • n1: -1234,23 ► -1.234,2

  • n2: 5804,236 ► 5.804,24

  • n3: -1234,23 ► -1.234,23

e

Notazione esponenziale.

Dopo il segnaposto del formato, con un numero intero si configura il numero di cifre significative.

  • e10: 12345,6789 ► 1,234567890E4

  • e2: 2665,778 ► 2,7E3

f

Notazione a punto fisso.

Dopo il segnaposto del formato, con un numero intero si configura il numero esatto di posizioni decimali.

  • f: 123 ► 123,000000

  • f: 123,23 ► 123,230000

  • f4: -1898300,678 ► -1.898.300,6780

  • f3: 123,4 ► 123,400

p

Percentuale.

Dopo il segnaposto del formato, con un numero intero si configura il numero di posizioni decimali.

  • p: 1 ► 100%

  • p3: -0,397481 ► -39,748%

x

Notazione esadecimale

255 ► ff

b

Notazione binaria

107 ► 1101011

o

Notazione ottale

56 ► 70

Tipi di dati: Duration e Timespan

Formato

Descrizione

Esempio

c

Formato costante: [-][d”.”]hh”:”mm”:”ss[“.”fffffff]

  • 3.17:25:30.5000000

  • 04:30:00

g

Formato breve generale: [-][d”.”]hh”:”mm”:”ss[“.”fffffff]

  • (en-US): 1:3:16:50.5

  • (en-US): 5:15:09:00

  • (fr-FR): 2:9:02:00,0200000

  • (fr-FR): 15:12:20:00

  • (en-US): 5:12:00

  • (fr-FR): 20:10:00

G

Formato esteso generale: [-][d”.”]hh”:”mm”:”ss[“.”fffffff]

  • (en-US): 0:08:30:00.0000000

  • (fr-FR): 0:08:30:00,0000000

  • (en-US): 0:18:20:00.0000000

  • (fr-FR): 0:17:30:00,0000000

Tipo di dato: String

Formato

Descrizione

Esempio

l

Tutto minuscolo

grüßEN ► grüßen

u

Tutto in maiuscolo

grüßEN ► GRÜSSEN

t

Tutte iniziali maiuscole

grüßEN erdbewohner ► Grüßen Erdbewohner

f

Indipendente da minuscolo e maiuscolo

grüßEN ► grüssen

Tipo di dato: ANSI SQL

Formato

Descrizione

Esempio

sql_identifier

Formatta un dato String o LocalizedText in identificatore di tabella o di colonna.

-

sql_literal

Formatta il valore di una variabile come un valore SQL letterale (Number, String, date, time, etc.).

-

Formattazione inversa

Si definisce formattazione inversa la funzionalità che permette all’utente di modificare a runtime un valore formattato per sostituirlo con un nuovo valore che l’applicazione presenta con la stessa formattazione.

Per permettere questo meccanismo attraverso il formattatore di stringhe, devono sussistere le seguenti condizioni:

  • La modalità di collegamento del convertitore dev’essere in lettura e scrittura.

  • Nel campo Formato è presente un solo segnaposto, ovvero una sola sorgente.

    Nota

    il segnaposto può avere suffisso e/o prefisso; può inoltre essere decorato con una stringa di formato, ad esempio {0:n}.

Uscita

La stringa inserita nella proprietà Formato, secondo la regola impostata e con i valori delle variabili al posto dei segnaposto.

Rappresentazione logica

Di seguito un esempio di rappresentazione del convertitore nell’editor dei collegamenti dinamici avanzati.

../../_images/d9d75d4864dda8515c223a0cb150aed540482b99.png

Esempi di query SQL

Parametrizzare il nome della colonna interna alla condizione:

SELECT * FROM Table1 WHERE {0:sql_identifier} > 5

Confronto con una variabile di tipo data:

SELECT * FROM AlarmsDatalogger WHERE Time > {0:sql_literal}

Parametrizzare l’operatore LIKE:

SELECT * FROM AlarmsDatalogger WHERE Name LIKE '{0}'

Parametrizzare una parte di query con un segnaposto:

SELECT * FROM Table1 {0}

Il segnaposto con indice 0 è collegato a una variabile di tipo stringa del progetto e parametrizza una colonna; il segnaposto con indice 1 invece è collegato a una variabile numerica che rappresenta il valore per l’operatore di confronto >:

SELECT * FROM {0:sql_identifier} WHERE Column1 > {1:sql_literal}

Parametrizzare il nome della tabella, la colonna e anche l’operatore LIKE:

SELECT {0:sql_identifier} FROM {1:sql_identifier} WHERE {0:sql_identifier} LIKE '{2}'

Vedi anche

Concetti correlati

Convertitori

Procedure correlate

Usare l’editor dei collegamenti dinamici avanzati