LE VARIABILI DI VB
Le variabili sono locazioni per memorizzare valori e a cui si da un nome e un tipo di dati quando si dichiarano.
Il tipo di dati di una variabile determina come memorizzare i bit che identificano i valori nella memoria.
Se non si dice il tipo, la variabile sarà Variant che da il tipo di dati in base alle situazioni.
Quando si procede in tal modo modo non serve convertirli. La conversione sarà automatica.
E meglio dichiarare in un certo modo i tipi di dati per gestirli con efficienza. P.s per un nome usare il tipo STRING perche per forza sono caratteri.
Le variabili si possono usare per valori di proprietà o argomenti di funzioni. in Visual Basic le varibili si usano per qualsiasi elemento che tratta dati.
Si possono anche dichiarare matrici con vari tipi..
Vedere la sezione "Progettare per aumentare le prestazioni l'essere compatibile".
E innanzitutto necessario dichiararla con As tipo con l'istruzione
Private, Public, Dim o Static.
Le istruzioni seguenti consentono di dichiarare i tipi Integer, Double, String e Currency:
Private I As Integer
Dim Amt As Double
Static YourName As String
Public BillsPaid As Currency
Un'istruzione di dichiarazione si puo fare con piu variabili:
Private indice As Integer, Prova As Double
Private Pollo As String, Contipagati As Currency
Private Test, Conto, mostra As Integer
in Vb abbiamo Integer, long (intero lungo), Single (virgola mobile a precisione semplice), Double (virgola mobile a precisione doppia) e Currency. Questi occupano meno di Variant (4 byte).
Se sai che la variabile avrà come destinazione numeri interi usa Long o Integer. Le variabili intere sono piu veloci. Sono meno capienti in memoria e sono utili in cicli.
.
Le variabili con virgola si usa Single, Double o Currency. Con Currency puoi usare 4 cifre con a destra del separatore decimale e fino a quindici cifre a sinistra. Si usa nei calcoli valutari con precisione di virgola fissa . Con numeri in virgola mobile (Single e Double) ci sono intervalli di valori più ampi rispetto a Currency. Anche se soggetti a piccoli errori di arrotondamento.
NB: Puoi esprimere i valori in virgola mobile con la sintassi mmmEeee o mmmDeee, dove mmm è la mantissa ed eee è l'esponente, ovvero una potenza di dieci. Il valore positivo maggiore con Single è 3,402823E+38, (3,4 per 10 elevato a 38). Il valore positivo più alto con tipo di dati Double è 1,79769313486232D+308(1,8 per 10 elevato alla 308).
Mettendo D tra la mantissa e l'esponente in una stringa numerica, il valore viene considerato Double, con E è vsto come Single.
Le variabili con dati binari devono essere dichiarate come matrice con tipo di dati Byte.
Usare variabili Byte per la memorizzazione di dati binari ti permette di tenere i dati mentre converti il formato. Convertendo variabili String dall formato ANSI in Unicode, i dati binari vengono danneggiati. Questa conversione si fa con :
Con Byte sono validi tutti gli operatori dei valori interi, meno il meno unario. Il tipo Byte, non rappresenta valori negativi. Nel caso del meno unario, ai valori Byte si da prima il tipo Integer con segno.
A tutte le variabili numeriche si puo dare il valore di un'altra variabile numerica o una variabile di tipo Variant.
Assegnando un valore in virgola mobile a un intero, la parte frazionaria viene arrotondata e non troncata.
Per usare Stringhe avvalersi di String:
Private S As String
Si puo quindi usare funzioni e assegnarle::
a = "Pippo"
a = Left(a, 4)
Per default, una variabile String è una stringa con linghezza che varia, le dimensioni aumentano o diminuiscono secondo l'assegnazione.Per dichiarare stringhe a lunghezza fissa fare così::
Stringa * dimensioni
Per gestire una stringa di 10 caratteri:
Dim Pippo As String * 10
Se si assegna una stringa minore di 10, vengono messi spazi fino a raggiungere 10 caratteri
Se invece si fa l'opposto la stringa viene tagliata..
SI puo usare Trim per togliere gli spazi.
Le stringhe di lunghezza fissa incluse in moduli standard puoi dichiararle Public o Private, ma in form e in moduli di classe devi renderle Private.
È possibile assegnare sia una stringa a una variabile numerica, a condizione che la stringa rappresenti un valore numerico, che un valore numerico a una variabile stringa. Provare, ad esempio, a inserire un pulsante di comando, una casella di testo e una casella di riepilogo in un form. Includere quindi il codice riportato di seguito nell'evento Click del pulsante di comando, eseguire l'applicazione e fare clic sul pulsante di comando.
Private Sub Command2_Click()
Dim intX As Integer
Dim strY As String
strY = "100.23"
intX = strY ' da la stringa a un integer notare che perde la virgola
End Sub
In Vb si da il tipo automaticamente. Scambi stringhe e numeri fanno fatti con attenzione. Un passaggio sbagliato puo dare un errore.
Per i vero-falso, sì- no e on-off si usa Boolean. Il valore default è
False. Nell'esempio seguente, bln
è una variabile Boolean in cui è
memorizzata sì/no.
Dim bln As Boolean
' Verifica
If r.Direction = 1 Then
bln = True
End if
Per data e ora si usa Date ..
Convertendo numerici in Date, i valori a sinistra della parte decimale sono la data, mentre i valori a destra l'ora. La mezzanotte è 0, il mezzogiorno a 0,5. I numeri interi negativi sono date prima del 30 dicembre 1899.
Sono (4 byte) che fanno riferimento agli oggetti dell'applicazione o di un'applicazione diversa. Per esse si puo assegnae dopo con Set, per riferirisi a quell'oggetto.
Dim objd As Object
Set objD = OpenDatabase("c:\Vb6\Biblio.mdb")
Dichiarando variabili oggetto, è meglio usare classi specifiche anziché il tipo
generico Object, ad esempio ListBox
e non Control
oppure, nell'esempio precedente, Database
anziché Object
.
Cosi l'applicazione è piu veloce.
Per oggetti applicazioni, dichiarare oggetti con la propria Classe.L'oggetto sara semrpe riconsociuto, permettendo il riferimento in fase di esecuzione..
In Vb funzioni di conversione :
Funzione di conversione |
Converte l'espressione nel tipo |
Cbool | Boolean |
Cbyte | Byte |
Ccur | Currency |
Cdate | Date |
CDbl | Double |
Cint | Integer |
CLng | Long |
CSng | Single |
CStr | String |
Cvar | Variant |
CVErr | Error |
Nota I valori devono essere validi per il tipo di dati di destinazione, se no si crea un errore. Se si converte un valore Long in Integer, è necessario usare un valore Long compreso nell'intervallo valido Integer.
In una variabile Variant è possibile memorizzare tutti i tipi di dati definiti dal sistema. Quando si assegnano dati a Variant, non serve convertire. Ad esempio:
Dim SomeValue ' Variant per impostazione
' predefinita.
SomeValue = "17" ' SomeValue include "17" (stringa
' a due caratteri).
SomeValue = SomeValue - 15 ' SomeValue ora include il
' valore numerico 2.
SomeValue = "U" & SomeValue ' SomeValue ora include "U2"
' (stringa a due caratteri).
Con variant non conta il tipo dati. È Ci possono essere problemi.
Variant puo includere i tre valori speciali Empty, Null ed Error.
A volte è necessario sapere se un valore è stato assegnato a una variabile
creata. Prima dell'assegnazione, Variant è Empty, ovvero un valore speciale
che non è zero, o una stringa di lunghezza zero ("
"
)
o Null. IsEmpty ci permette di saperlo
If IsEmpty(A) Then A = 1
Le variabili Variant con empty si usano nelle espressioni. A seconda dell'espressione, si usano come 0 o stringa a lunghezza zero.
Il valore Empty si sostituisce a quello assegnato. Si puo ripristinare con VARIABILE=Empty
Variant puo includere anche Null, usato nei db per dati strani o assenti. Il valore Null è usato in primis per database e e ha alcune aspetti particolari:
Si puo assegnare Null usando la parola Null:
a = Null
USare isnull per sapere se la variabile è nulla:
se si da Null a una variabile non Variant, si crea un errore. Si puo fare in modo di avere un risultato nullo da una funzione solo se la funzione stessa ritorna come argomento un variant.
In una variabile Variant, Error dice che ce un errore nella routine. A differenza di altri tipi di errore, non si gestiscono i normali errori a livello dell'applicazione. Ciò consente di ricorrere in base al valore. I valori Error vengono creati con la conversione di numeri reali in valori di errore utilizzando CVErr.