Tipi di dati

Creato il: 15.08.2026
Nella sezione dedicata a CustomField abbiamo visto che questa proprietà restituisce sempre un valore testuale, anche quando il campo letto da Ready Pro contiene in realtà una quantità, un importo o un altro valore numerico.

Per questo motivo, quando viene inserito tramite la procedura guidata un campo numerico come Quantità da ordinare, Ready Pro genera automaticamente:

Rdy.toDouble(Product.CustomField(335))


invece del solo:

Product.CustomField(335)


Per capire perché questa conversione è importante occorre introdurre il concetto di tipo di dato.

Che cos'è un tipo di dato
Ogni valore utilizzato in uno script può avere una natura diversa.

Può essere, ad esempio:

un testo;
un numero intero;
un numero con decimali;
una data;
un valore vero o falso.

Il tipo di dato indica come deve essere interpretato un valore e determina quali operazioni possono essere eseguite correttamente su di esso.

Vediamo un semplice esempio.

Supponiamo di assegnare due numeri a due variabili:
Option Explicit
 
Dim Valore1
Dim Valore2
Dim Risultato
 
Valore1 = 10
Valore2 = 5
 
Risultato = Valore1 + Valore2
 
Response.Write(Risultato)


In questo caso Valore1 contiene il numero 10 e Valore2 contiene il numero 5.

L'operatore + esegue quindi una somma:

Risultato = Valore1 + Valore2


e il risultato è:
15



Vediamo ora lo stesso e con gli stessi valori ma memorizzati come testo

Modifichiamo ora solamente l'assegnazione iniziale, racchiudendo i due valori tra virgolette:

Option Explicit
 
Dim Valore1
Dim Valore2
Dim Risultato
 
Valore1 = "10"
Valore2 = "5"
 
Risultato = Valore1 + Valore2
 
Response.Write(Risultato)


Visivamente i valori sembrano ancora 10 e 5, ma le virgolette indicano che non sono stati memorizzati come numeri: sono valori testuali.

In questo caso VBScript non esegue la somma numerica, ma concatena i due testi.

Il risultato sarà quindi:

105


Questo semplice esempio mostra perché il tipo di dato è importante.

I valori:
10
5

sono numeri e possono essere sommati ottenendo 15.

I valori:
"10"
"5"

sono invece testi. Anche se contengono solamente cifre, rimangono valori testuali e possono quindi comportarsi in modo differente quando vengono utilizzati in un'operazione.
Utilizzare il tipo corretto prima di eseguire un'operazione
Quando un valore deve essere utilizzato per un calcolo, un confronto o un'altra elaborazione, è quindi importante che sia rappresentato con il tipo di dato corretto.

Questo spiega il comportamento visto con CustomField.

Ad esempio:
Product.CustomField(335)

restituisce il contenuto del campo Quantità da ordinare come valore testuale.

Prima di utilizzarlo come numero, Ready Pro può convertirlo tramite:
Rdy.toDouble(Product.CustomField(335))

In questo modo il valore restituito da CustomField viene trasformato in un valore numerico, che può essere utilizzato correttamente per calcoli e altre operazioni numeriche.

N.B. Quando si conosce il tipo di dato che si desidera utilizzare, è consigliabile effettuare esplicitamente la conversione necessaria prima di eseguire delle operazioni, invece di affidarsi alle conversioni automatiche che VBScript potrebbe effettuare in alcune situazioni.
I principali tipi di dati
Negli script di Ready Pro si incontrano principalmente i seguenti tipi di dati:

String
È un valore testuale. Ad esempio una descrizione, un codice o una ragione sociale.

Long
È un numero intero, cioè senza parte decimale.

Double
È un valore numerico che può contenere anche una parte decimale. Viene utilizzato frequentemente per quantità, pesi, prezzi e importi.

Date
Contiene una data oppure una data e un'ora.

Boolean
Può contenere solamente uno dei due valori True oppure False, utilizzati per rappresentare una condizione vera o falsa.

Il termine String che abbiamo incontrato parlando di CustomField indica quindi semplicemente un valore testuale.

Allo stesso modo, Double indica un valore numerico che può contenere decimali.
Convertire i tipi di dati
L'oggetto Rdy mette a disposizione alcune funzioni che consentono di convertire esplicitamente un valore nel tipo necessario.

Tra quelle utilizzate più frequentemente:

Rdy.toString converte un valore in un valore testuale di tipo String;
Rdy.toLong converte un valore in un numero intero di tipo Long;
Rdy.toDouble converte un valore in un numero di tipo Double;
Rdy.toDate converte un valore in una data di tipo Date.

Ad esempio:
Rdy.toDouble(Product.CustomField(335))

legge tramite CustomField un valore inizialmente restituito come testo e lo converte in un valore numerico di tipo Double.

Nelle sezioni successive vedremo come utilizzare correttamente i diversi tipi di dati nelle operazioni più comuni, iniziando dai valori numerici.

Login