VB Corso pg 4
Sommario
I vettori - Variabili e costanti - Gli operatori aritmetici - Manipolazione delle stringhe - Priorità degli operatori -  Operatori di confronto     
I vettori

I vettori o array sono un'insieme di variabili o di oggetti omogenei aventi lo stesso nome e distinti da un numero indice "(Picture1 ( 0 ), Picture1 ( 1 )" ecc..
Questo esempio  crea un vettore di variabili di tipo stringa  di nome Messaggio, al caricamento di un programma :
Option Explicit
Dim Messaggio( 2 )
Private Sub Form_Load
Messaggio( 0 ) ="primo messaggio "
Messaggio( 1  )="secondo messaggio"
end Sub
Essendo il vettore un'insieme di variabili nella dichiarazione si deve specificare il n. degli elementi previsti, nel caso sopra 2 un numero inferiore provoca un errore un maggior numero di elementi sprecherà memoria.
Altro es.di creazione di un vettore:

Disegnate il primo elemento ( es. una picturebox ) poi copiatelo negli appunti successivamente incollatelo ed ecco che VB ci avvertirà che un controllo con il nome di quello che vogliamo incollare esiste già , eventualmente potete creare un vettore di controlli. Se si accetta  automaticamente assegneremo  la proprietà index =0 e 1 ai primi due oggetti.Se si incolla ancora l'index assumerà il valore di 2 e così via .

Variabili e costanti

Le variabili si distinguono in base al tipo ( Integer, Long, Currency, String ecc...). Sempre in base al tipo viene riservata una precisa porzione di memoria ad es. un'Integer occupa 2 bytes, una Long 4 ecc..Le variabili sono un argomento complesso che va affrontato per gradi senza fretta .

Le variabili numeriche.
Ogni variabile  deve avere un nome diverso con le seguenti caratteristiche:
lunghezza max. 255 caratteri
deve iniziare con un carattere alfabetico
non può contenere punti spazi e alcuni tipi di carattere ! @ # $ % &
Un'ulteriore suggerimento è di dargli un nome descrittivo per aumentare la leggibilità del codice. Per determinare il tipo della variabile vi sono due modi per farlo, procedendo a una dichiarazione esplicita della variabile in una istruzione Dim  o una dchiarazione del tipo alla fine del nome della variabile. Es. di dichiarazione esplicita:
Dim nome As tipo ovvero Dim X As Integer, Y As Single.
La dichiarazione del tipo alla fine del nome rende inutile l'istruzione Dim. Es di dichiarazione di una variabile Integer contenente il valore 5 basta scrivere:
Somma% = 5
I Simboli per dichiarare una variabile sono:

Integer %
Long &
Single !
Double #
Currency @

 

Le variabili stringa
Una stringa può contnere da 0 a migliaia di caratteri e possono essere , a seconda delle esigenze,  a lunghezza fissa o variabile. Nel primo caso bisogna specificare la lunghezza max, mentre nel secondo  è la variabile ad adattare la sua lunghezza al n. di caratteri della stringa.
Le variabili stringa a lunghezza fissa  devono venire dichiarate nel modo seguente:
Dim Nome As String * 5
dove 5  specifica la lunghezza max della stringa, eventuali caratteri eccedenti verranno ignorati e andranno persi.Ad es. se si esegue l'istruzione Nome = "Gianluca"  solo i primi 5 verrannno memorizzati mentre tutti gli altri andranno persi.
Le variabili stringa a lunghezza variabile possono essere dichiarate anche in modo implicito usando il suffisso $ ma conviene usare l'istruzione Dim.
Dim Cognome  As String
Un'ultima considerazione le stringhe a lunghezza fissa sono più veloci da manipolare.

Altri tipi di variabili
Vi sono altri tre tipi di variabili da usare in determinate situazioni Boolean, Date, Variant
Il tipo boolean serve  a rappresentare informazioni   della forma si/no  on/off può assumere il valore True o False e ha una lungh. di 2 byte.
Le variabili Date servono a memorizzare le informazioni su ora/data  e sono rappresentate sotto forma di numero decimale dove la parte intera rappresenta la data  e la parte decimale l'ora.
Con le Variant possono essere memorizzatidati dati di qualsiasi tipo tranne le stringhe di lunghezza fissa . Le variabili Boolean e Date   devono essere dichiarate  con l'istruzione Dim
Dim Risposta As Boolean, Scadenza As Date

I tipi definiti dall'utente
Oltre ai tipi predefiniti  è possibile creare dei tipi di dati definiti dall'utente detti composti o costrutti contenenti 2 o più tipi diversi . E' l'utente stesso a definire in contenuto del costrutto usando l'istruzione Type...End Type.
Si supponga di scrivere un'applicazione per gestire il magazzino si potrebbe  definire il costrutto seguente:
Type magazzino
Articolo As String *25
Codice As String * 12
Prezzo As Currency
Quantità As Integer
End  Type
Gli elementi possono essere di tutti i tipi di dati   predefiniti dal basic tranne le stringhe a lunghezza variabile.La dichiarazione   di un tipo definito dall'utente con Type  End Type serve a definire un tipo   non ha creare una variabile di quel tipo.Successivamente si deve usare Dim   nel solito modo per l'ese. precedente si potrebbe dichiarare:
Dim NuovoArticolo As Magazzino
A questo punto esiste una struttura di nome NuovoArticolo   di tipo Magazzino a cui vanno assegnati valori diversi per ogni elemento:
NuovoArticolo.Articolo ="scatola"
NuovoArticolo.Codice="s-1-bn"
NuovoArtiocolo.Przzo="2000"
NuovoArticolo.Quantità ="10"
I tipi definiti dall'utente vanno dichiarati in un modulo , quindi l'istruzione Type .. End Type non è applicabile in una routine  

Le costanti

Le costanti possono essere letterali e simboliche.Una costante letterale è un n. o una stringa specificata direttamente nel codice:
Dim MiaStringa As String * 10 , MioNumero As Integer
MiaStringa = "New York"
MioNumero =150
Le costanti simboliche  sono più flessibili .Per creare una costante simbolica  si usa la parola chiave Const nell'istruzione di dichiarazione:
Const Massimo As Integer = 1000.
in un punto qualsiasi del programma si può  usare Massimo al posto del valore 1000.

Gli operatori aritmetici

Gli operatori aritmatici servono a eseguire calcoli matematici. Ne esistono 7 ( + - * /  ) i quattro rappresentati nelle parentesi sono i più comuni e svolgono le 4 operazioni fondamentali dell'aritmetica. Gli altri sono  \ (operatore di divisione per interi) serve per dividere due numeri ma restituisce come risultato solo la parte intera (es. 7 \ 2 ) da come risultato  3. L'operatore  di elevamento  a potenza ^. Infine  l'operatore modulo   rappresentato dalla parola chiave Mod divide due numeri  e restituisce il resto (es. 7 Mod 2 restituisce 1).

Manipolazione delle stringhe

Per le stringhe vi è un solo operatore &. La concatenazione equivale all'unione di due stringhe una di seguito all'altra (es. MiaStringa = "Visual " & "Basic" il risultato equivale a "Visual Basic"), la concatenazione può essere effettuata anche con il segno dell'addizione.

Priorità degli operatori 

Quando un'espressione contiene più operatori il risultato è diverso  in base all'ordine in cui vengono applicati es. 5 + 3 * 2 se si esegue in quest'ordine da il risultato  di 16 , ma se si esegue prima la moltiplicazione il risultato è 11. Proprio per evitare ambiguità  il Visual Basic  segue delle regole di priorità, quelli con un livello inferiore vengono considerati per primi , considerando quindi che la moltiplicazione  ha priorità sull'addizione il risultato  corretto dell'es. precedente  è 11.Gli operatori di pari livello vengono eseguiti nell'ordine in cui compaiono nell'espessione da sinistra a destra.Per modificare  la priorità di esecuzione delle operazioni si usa le parentesi.Gli operatori all'interno delle parentesi vengono eseguiti per primi es. A+B*C viene prima eseguita la moltiplicazione e poi l'addizione ma se si scrive (A+B)*C viene eseguita prima l'addizione .Segue la tabella di priorità.

Operatore Priorità
Elevamento a potenza  ^ 1
Moltiplicazione * e divisione / 2
Divisione per interi  \ 3
Modulo MOD 4
Addizione  + e sottrazione - 5
Concatenazione di stringhe  & 6
Operatori di confronto 

VB dispone  di una serie di operatori che permettono di costruire  espressooni logiche e di formulare domande  sui dati del programma.Questi elementi  mettono a confronto 2 o più elementi e restituiscono   True o False  in base al risultato del confronto.Di seguito ecco una tabella riassuntiva  degli operatori di confronto:

Operatore Confronto Esempio Significato
= uguale a X=Y X è uguale a Y ?
> maggiore di X>Y X è maggiore di Y ?
< minore di X<Y X è minore di Y ?
>= maggiore o uguale a X>=Y X è maggiore o uguale a Y ?
<= minore o uguale a X<=Y X è minore o uguale a Y ?
<> diverso da X<>Y X è diverso da Y ?