Visual Basic
Linguaggio di programmazione per lo sviluppo di
applicazioni da eseguire in un qualunque ambiente
Microsoft Windows.
Linguaggio di programmazione
• ad alto livello
• interpretato (ambiente interattivo)
• visuale
• guidato dagli eventi
Visual Basic VISUALE!!
•Text Box - permette di inserire e visualizzare dati
(stringhe, interi, double, etc)
•Label - permette di visualizzare l’output e descrivere gli oggetti
•Command Botton – permette l’esecuzione di eventi
•CheckBox
•OptionButton, ecc.
Processo di programmazione
in Visual Basic
• Progetto dell’applicazione
• Creazione dell’interfaccia grafica
• Aggiunta del codice agli elementi visivi
(interpretazione e compilazione)
• Esecuzione
• Debugging – correzione degli errori
Processo di programmazione
in Visual Basic
Un programma è costituito da
• controlli (ciascuno rappresentato da un’icona)
• istruzioni
L’interazione dell’utente con un qualunque
controllo rappresenta un evento (es. click del mouse)
Ad ogni controllo sono associati diversi eventi
• Il codice di un’applicazione VB è suddiviso in singoli
blocchi definiti routine o sottoprogrammi.
• Una routine di eventi contiene il codice eseguito
quando viene generato un evento.
Definizioni di base
• Form: indicativo di finestra e comprende barra del
titolo, barra del menù…
• Controlli: sono le icone con le quali l’utente
interagisce ad es. pulsanti di comando, etichette,
caselle di testo…
Form e controlli sono indicati come oggetti
Definizioni di base
A ciascun oggetto possono essere associate:
• Proprietà – le proprietà rappresentano gli attributi che
definiscono l'aspetto e varie funzionalità di ogni controllo; ad
es., la proprietà Name indica il nome con cui quel controllo è
identificato all'interno del codice; le proprietà Height e Width
indicano l'altezza e la larghezza del controllo, ecc.
• Metodi – corrispondono ad istruzioni di programma
• Eventi - "situazioni" generate dal controllo quando si verificano
certe condizioni (es. click con il mouse)
Definizioni di base
• Un programma in VB può essere visto come un
insieme di oggetti, dove ad ogni oggetto è associato un
insieme di proprietà che descrivono il comportamento
dell’oggetto stesso.
• Gli oggetti sono oggetti grafici (bottoni, finestre,
text box, label…)
• Il codice viene associato ad una o più azioni che
vengono compiute sull’oggetto: click del mouse,
apertura di una finestra, pressione di un tasto ecc.
(programmazione visuale)
Il Form
Fine
•Non appena Visual Basic viene avviato, al centro dello schermo
compare una finestra grigia completamente vuota denominata Form
•Uno o più form possono costituire una applicazione.
Sarà il form ad ospitare tutti gli elementi grafici che fanno parte
dell'applicazione.
Inserire Oggetti (Controlli) nel Form
•Gli elementi grafici da aggiungere all'interno del form, possono
essere selezionati dall’apposita Casella degli strumenti e si
chiamano Controlli.
•Ogni singolo elemento che costituirà la nostra applicazione
possiede delle proprietà, liberamente personalizzabili da parte
del programmatore che consentono di regolarne l’aspetto grafico
ed il comportamento.
Ambiente di lavoro Visual Basic
Fine
Fine
Le classi di oggetto (controlli)
Esempi di controlli molto comuni che si trovano
nella casella degli strumenti:
le caselle di testo
(le celle che consentono di inserire del testo)
i pulsanti
(chiamati in Visual Basic Command Button)
le etichette
(ovvero Labels in VB)
le barre di scorrimento
(scrollbars)
check-box
(consentono di spuntare una scelta)
option button ecc.
Fine
Le proprietà
I controlli così come il form
stesso, hanno delle proprietà
che
consentono
di
caratterizzarne in modo molto
semplice e rapido l'aspetto
grafico e non solo...
Per visualizzare la finestra
delle
proprietà
relative
all'oggetto
selezionato
è
sufficiente premere il tasto F4
oppure scegliere dal menù
Visualizza la voce Finestra
proprietà.
I tipi di dati
Fine
costanti e variabili.
•E' possibile pensare ad esse come a contenitori in cui si trovano
delle informazioni, cioè dei valori.
•Costanti e variabili sono riferimenti a locazioni di memoria in cui
sono salvati determinati valori.
•Non ci interessa sapere qual è l'esatto indirizzo della memoria
che contiene questi valori: è Visual Basic che si occupa di andare
a recuperare nella memoria il valore associato alla variabile o alla
costante che stiamo utilizzando.
•La differenza tra costanti e variabili :
 le costanti una volta impostate non sono più modificabili
 le variabili possono essere modificati durante l’esecuzione
del programma.
Fine
La distinzione dei tipi di dato
stringhe (sequenze di caratteri)
numeri; questi ultimi si dividono ulteriormente a seconda che
siano numeri interi oppure reali.
Questa distinzione è molto importante, perché ogni tipo di dato
ha una dimensione (cioè un'occupazione di spazio in memoria)
diversa ad esempio:
• un numero intero occupa 2 byte
• un numero decimale a precisione singola occupa 4 byte
• a doppia precisione 8 byte.
• stringa 10 byte + numero dei caratteri
Fine
Tabella tipo di dati
Tipo di dato
Dimensione in
memoria
Intervallo
Boolean
2 byte
True (-1) o False (0)
Integer
2 byte
Da -32.768 a 32.767
Long
4 byte
Da -2.147.483.648 a
2.147.483.6477
Single
4 byte
Da -3,402823E38 a -1,401298E-45
per valori negativi; da 1,401298E-45
a 3,402823E38 per valori positivi
8 byte
Da -1,79769313486232E308 a 4,94065645841247E-324 per valori
negativi; da 4,94065645841247E324 a 1,79769313486232E308 per
valori positivi
10 byte + lunghezza
stringa (10 byte +
numero caratteri)
Da 0 a circa 2 miliardi
(intero)
(intero lungo)
(virgola mobile a
precisione
semplice)
Double
(virgola mobile a
precisione doppia)
String
Tipi di Dati
• Integer (Valori interi -32,768 to 32,767)
Es: 0, 123, -4534
• Single (valori reali da -3,402823E38 a -1,401298E-45 per
valori negativi; da 1,401298E-45 a 3,402823E38 per valori
positivi)
• Double (Valori reali da -1.79769313486232e+308 a
-4.94065645841247E-324 negativi
4.94065645841247E-324 a
1.79769313486232e+308 positivi
Es: 0, 12.34, 0.123E+123
• String Es: “Ciao”, “Inserisci il primo numero” , “”
Operatori
• + - * / Mod
(es. Mod 2 = 0)
• Su Stringhe: + oppure &
Es: “Visual” & “Basic” = VisualBasic
Fine
Dichiarazione di Costanti
Le costanti si dichiarano in questo modo:
Const PI = 3.1415
Const Nome As String = "Maria"
Const è una parola chiave riservata di VB che si usa per definire
una costante. è il nome che si sceglie di attribuire alla costante.
• Nella scelta dei nomi (sia delle costanti, delle variabili, ma
anche delle procedure, delle funzioni e dei controlli, che vedremo
più avanti), è necessario seguire alcune regole.
• I nomi non devono essere più lunghi di 40 caratteri, non
possono iniziare con un numero né contenere spazi e caratteri
come ?, !, :,
• Visual Basic, a differenza di altri linguaggi come il C o Java, non
fa differenza tra maiuscole e minuscole.
Fine
Dichiarazione di Variabili
Una sintassi analoga è quella che permette di dichiarare le
variabili:
Tipo di variabile
Dim NumeroUtenti As Integer
Dim Nome, Cognome As String
Dim Importo As Single
Dim Totale As Double
Dim Contatore As Integer
In questo caso si usano le parole chiave Dim … As per indicare
al compilatore che quella che si sta per definire è una variabile.
Parola chiave + nome variabile + tipo variabile
Fine
Realizzazione di un progetto
La realizzazione di un progetto in Visual Basic è suddivisa in tre fasi:
1.
2.
3.
Creazione dell’interfaccia utente impiegando gli oggetti di
Visual Basic all’interno del Form
Impostazione delle proprietà degli oggetti che costituiscono
l’interfaccia utente
Aggiunta del codice di programmazione per uno o più oggetti
dell’interfaccia utente (es. CommandButton)
Esercizio
Il mio primo programma
Private Sub Command1_Click()
Label1.Caption = “Buongiorno“
End Sub
Programma on/off
Private Sub Command1_Click()
Label1.Caption = "Acceso"
End Sub
Private Sub Command2_Click()
Label1.Caption = "Spento"
End Sub
Programma nome
Private Sub command1_click()
Dim messaggio As String
messaggio = InputBox ("Inserisci nome: ")
Label1.Caption = "Ciao " + messaggio
End Sub
Calcolo dell’area e perimetro di
un rettangolo
•
•
•
•
Leggi da input l’altezza
Leggi da input la base
Calcola l’area e il perimetro
Dai in output i risultati
Conversione lire in euro
• Leggi da input l’importo in lire
• Calcola il corrispettivo in euro
• Dai in output il risultato
Progetto: Calcolatrice
Fase 1: Costruzione interfaccia utente
Fine
Fine
Funzioni di Input e Output
• InputBox(Prompt, Title, default_text, x-position, y-position)
Es:
a = InputBox(“Inserire Primo Numero?", “Numero", “Inserire qui il primo
numero!", 500, 700)
a= InputBox(“Numero”)
• Scelta= MsgBox (Prompt, Style Value, Title
dove style value puo’ essere:
0
vbOkOnlyOk button
1
vbOkCancelOk and Cancel buttons
etc
e scelta puo’ essere uguale a:
1 Hai premuto OK!
2 Hai premuto Cancel!
• Print
)
Fine
Le procedure e le funzioni
Come vedremo meglio più avanti, praticamente tutto il codice di
un programma Visual Basic è contenuto all'interno di funzioni e
procedure (chiamate genericamente routine).
La differenza fondamentale tra procedure e funzioni è che le
seconde possono restituire dei valori, ad esempio il risultato di
un'elaborazione oppure un valore di ritorno che determina se la
routine ha avuto successo, mentre le procedure no.
Iniziamo
a
vedere
la
dichiarazioni
di
una
Sub <nome>([Parametro As <Tipo>, …])
…
End Sub
procedura:
Fine
Le procedure e le funzioni
Tutte le dichiarazioni di procedura iniziano con la parole chiave
Sub. Segue il nome della routine, che deve rispettare le
convenzione analizzate precedente a proposito delle costanti
Il nome deve essere seguito da parentesi, al cui interno è
possibile inserire i parametri (opzionali) richiesti della procedura;
non c'è limite al numero di parametri che si possono definire.
Tali parametri possono essere visti come variabili (ritorneremo
tra poco su questo punto).
End Sub sono parole riservate di VB che indicano la fine di una
procedura.
Fine
Le procedure e le funzioni
Vediamo ora un esempio di procedura.
Supponiamo di dover calcolare l'area di un cerchio:
la formula è sempre la stessa, quello che cambia è solo la
misura del raggio.
Per tale motivo, invece di riscrivere ogni volta la formula,
possiamo scrivere una procedura che richieda come
parametro proprio la lunghezza de lraggio:
Sub AreaCerchio(Raggio As Double)
…
End Sub
Fine
Supponiamo di voler scrivere un programma
Supponiamo ancora di voler scrivere un programma che chiede
all'utente la lunghezza del raggio e sulla base di questa
calcola l'area del cerchio.
Dopo aver definito la procedura come sopra descritto, ci basterà
richiamarla passandogli come argomento la lunghezza del
raggio; ad esempio:
AreaCerchio 5.4
AreaCerchio 11
AreaCerchio 6.9
Queste sono tre chiamate alla procedura con parametri diversi.
Nel primo caso, Raggio varrà 5.4, nel secondo 11 e nel terzo
6.9.
Fine
Scriviamo il programma
Ecco quindi come potrebbe risultare la procedura AreaCerchio
completa:
Sub AreaCerchio(Raggio As Double)
MsgBox Raggio * Raggio * 3.14
End Sub
In questo esempio è stata usata la funzione MsgBox, che
visualizza un messaggio in una finestra di dialogo e attende
che l'utente prema un tasto. A questo punto, utilizzando le
tre chiamate sopra definite, otterremo questi risultati:
Fine
Vediamo ora le funzioni
Passiamo ora ad analizzare le funzione, osservando che per esse
vale la maggior parte delle considerazioni che già si sono fatte per
le procedure.
La dichiarazione di una funzione è questa:
Function <nome>([Parametro As <Tipo>, …]) [As <Tipo>]
…
End Function
Come si vede, in questo caso invece della parola chiave Sub si usa
Function.
La cosa nuova, cui si è già accennato, è che le funzioni possono
restituire un valore. Nella dichiarazione, infatti, possiamo notare
che, dopo l'elenco (opzionale) dei parametri c'è un ulteriore
argomento opzionale, ancora una volta As <Tipo>: esso indica il
tipo di dato restituito dalla funzione.
Fine
Vediamo ora le funzioni
Come si è già visto per le variabili, se non viene specificato tale
parametro il valore restituito sarà di tipo Variant.
Riprendiamo l'esempio di prima e trasformiamo la procedura
AreaCerchio in una funzione:
Function AreaCerchio(Raggio As Double) As Double
AreaCerchio = Raggio * Raggio * 3.14
End Function
Quando si richiama questa funzione, AreaCerchio contiene il valore
dell'area del cerchio.
Fine
Fase 2: Impostazione proprietà
Controllo
Proprietà
Impostazione
Form1
Name
frmCalcolatrice
Caption
“Calcolatrice”
Name
lblPrimoNumero
Caption
“Primo Numero”
Name
lblSecondoNumero
Caption
“econdo Numero”
Name
lblRisultato
Caption
“Risultato”
Name
lblRis
Caption
(Vuota)
BorderStyle
1 - Fixed Single
BackColor
Bianco
Name
txtPrimoNumero
Text
(Vuota)
Name
txtSecondoNumero
Text
(Vuota)
Label1
Label2
Label3
Label4
Text1
Text2
Fine
Controllo
Proprietà
Impostazione
Command1
Name
cmdSomma
Caption
“&Somma”
Name
cmdSottrai
Caption
“S&ottrai”
Name
cmdDividi
Caption
“&Dividi”
Name
cmdMoltiplica
Caption
“&Moltiplica”
Name
cmdEsci
Caption
“&Esci”
Command2
Command3
Command4
Command5
Fase 3: Scrittura del codice di programmazione
Private Sub cmdSomma_Click()
lblRis.Caption = vVal(txtPrimoNumero.Text) + Val(txtSecondoNumero.Text)
End Sub
Private Sub cmdSottrai_Click()
lblRis.Caption = Val(txtPrimoNumero.Text) – Val(txtSecondoNumero.Text)
End Sub
Private Sub cmdDividi_Click()
lblRis.Caption = Val(txtPrimoNumero.Text) / Val(txtSecondoNumero.Text)
End Sub
Private Sub cmdMoltiplica_Click()
lblRis.Caption = Val(txtPrimoNumero.Text) * Val(txtSecondoNumero.Text)
End Sub
Private Sub CmdEsci_Click()
End
End Sub
Fine
Progetto: Accendere e spegnere una lampadina
Fase 1: Costruzione interfaccia utente
Fine
Fine
Fase 2: Impostazione proprietà
Controllo
Proprietà
Impostazione
Form1
Name
Caption
frmInterruttore
L' Interruttore
windowsState
2-Maximized
Name
lblNome
Caption
“Inserisci nome”
ForeColor
blu
Name
lblMessaggio
Caption
(Vuota)
Font
Algerian
Name
txtNome
Text
(vuota)
Appearance
1-3D
BackColor
rosa
BorderStyle
1 - Fixed Single
Font
Arial Black
Name
fraColore
Caption
“Colore Testo”
ForeColor
blu
Label1
Label2
Text1
Frame1
Fine
Fase 2: Impostazione proprietà
Controllo
Proprietà
Impostazione
OptionButton1
Name
OptNero
Caption
“Nero”
Name
OptBlu
Caption
“Blu”
ForeColor
Blu
Name
OptRosso
Caption
“Rosso”
ForeColor
Rosso
Name
OptGiallo
Caption
“Giallo”
ForeColor
Giallo
Name
OptVerde
Caption
“Verde”
ForeColor
Verde
OptionButton2
OptionButton3
OptionButton4
OptionButton5
Fine
Fase 2: Impostazione proprietà
Controllo
Proprietà
Impostazione
Image1
Name
imgImmagine1
BorderStyle
1 - Fixed Single
Picture
MouseIcon
c:\….graphics\icons\misc
c:\….dati\BMP\comuni\Hand-L
MousePointer
99-Custom
Stretch
True
Visible
False
Name
imgImmagine2
BorderStyle
1 - Fixed Single
Picture
MouseIcon
c:\….graphics\icons\misc
c:\….dati\BMP\comuni\Hand-L
MousePointer
99-Custom
Stretch
True
Visible
False
Image2
Fine
Fase 2: Impostazione proprietà
Controllo
Proprietà
Impostazione
Command1
Name
cmdCancella
Caption
“Cancella”
Name
cmdStampa
Caption
“Stampa”
Name
cmdEsci
Caption
“Esci”
Command2
Command3
Fase 3: Scrittura del codice di programmazione
Private Sub cmdCancella_Click()
txtNome.Text = ""
lblMessaggio.Caption = ""
optNero.Value = False
optBlu.Value = False
optRosso.Value = False
optGiallo.Value = False
optVerde.Value = False
txtNome.SetFocus
End Sub
Private Sub cmdEsci_Click()
End
End Sub
Private Sub cmdStampa_Click()
PrintForm
End Sub
Fine
Private Sub imgImmagine1_Click()
imgImmagine2.Visible = True
imgImmagine1.Visible = False
lblMessaggio.Caption = "Accendi la luce "
& txtNome.Text
End Sub
Private Sub imgImmagine2_Click()
imgImmagine2.Visible = False
imgImmagine1.Visible = True
lblMessaggio.Caption = "Spegni la luce "
& txtNome.Text
End Sub
Private Sub optBlu_Click()
lblMessaggio.ForeColor = vbBlue
End Sub
Fase 3: Scrittura del codice di programmazione
Private Sub optGiallo_Click()
lblMessaggio.ForeColor = vbYellow
End Sub
Private Sub optNero_Click()
lblMessaggio.ForeColor = vbBlack
End Sub
Private Sub optRosso_Click()
lblMessaggio.ForeColor = vbRed
End Sub
Private Sub optVerde_Click()
lblMessaggio.ForeColor = vbGreen
End Sub
Fine
Progetto: Browser
Fase 1: Costruzione interfaccia utente
Fine
Fine
Fase 2: Impostazione proprietà
Controllo
Proprietà
Impostazione
Form1
Name
frmBrowser
Caption
“Browser
Drive1
Name
drvUnita
Dir1
Name
dirCartelle
File1
Name
filArchivi
Pattern
“*.bmp;*.wmf;*.ico”
Name
imgImmagini
Strech
True
BorderStyle
1 - Fixed Single
Image1
Fase 3: Scrittura del codice di programmazione
Fine
Private Sub dirCartelle_Change()
filArchivi.Path = dirCartelle.Path
End Sub
Private Sub drvUnita_Change()
dirCartelle.Path = drvUnita.Drive
End Sub
Private Sub filArchivi_Click()
imgImmagini.Picture = LoadPicture(filArchivi.Path & "\" & filArchivi.FileName)
End Sub
Fine
Visual Basic
Le caratteristiche che fanno di Visual Basic un linguaggio di
programmazione estremamente versatile e facile da usare sono due:
Interfaccia Grafica (GUI) di progettazione
Non appena si avvia VB si può osservare una finestra, il form, che
rappresenta la finestra della nostra applicazione. Per inserire
elementi all'interno del form (i cosiddetti controlli), quali
pulsanti, caselle di testo, etichette, è sufficiente selezionarli
all'interno della Casella degli strumenti e trascinarli sul form
stesso: il controllo selezionato verrà posizionato nel punto esatto
che si è deciso.
Linguaggio guidato dagli eventi
Con questo termine si intende che l'elemento che sta alla base del
linguaggio è l'evento, cioè, più in generale, l'azione:
 un evento è il click dell'utente su un pulsante,
 la digitazione in una casella di testo,
 la selezione di un comando da menu, ecc.
Scarica

Visual Basic - Sardegna2007