Introduzione a VisualBasic - I di Introduzione a Visual Basic

Transcript

Introduzione a VisualBasic - I di Introduzione a Visual Basic
A. Carullo – Introduzione a Visual Basic
IIntroduzione
d i
a
Visual Basic
26 settembre 2006
1
A. Carullo – Introduzione a Visual Basic
Indice degli argomenti trattati
• Cos
Cos’è
è Visual Basic?
• L’ambiente di sviluppo Visual Basic
• I passi per la creazione di un progetto VB
• Operazioni più comuni in un progetto VB
26 settembre 2006
2
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
È un linguaggio
g gg di programmazione:
p g
• di tipo event-driven
• che opera con oggetti
• con funzioni di progettazione di tipo visuale
26 settembre 2006
3
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio di tipo event-driven
ª L’elemento alla base del linguaggio è l’evento
9 il funzionamento non è di tipo sequenziale,
ma è regolato da eventi
ª Esempi di eventi:
•
•
•
•
•
26 settembre 2006
clic su un pulsante mediante il mouse
digitazione in una casella di testo
selezione di un comando da un menu
ridimensionamento di una finestra
variazione di un segnale su un’interfaccia
4
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio che opera con oggetti
ª Gli oggetti, o controlli, sono gli elementi inseriti
nel progetto Visual Basic (VB) che sono in
grado di provocare o ‘sentire’
sentire un evento
ª Ad ogni oggetto sono associati particolari eventi
ª Esempi:
• oggetto CommandButton sensibile agli eventi clic
del mouse
de
ouse (C
Click
c ) o dopp
doppio
o cclic
c de
del mouse
ouse
(DblClick)
• oggetto TextBox sensibile agli eventi della tastiera
K D
KeyDown
, KeyPress
K P
e KeyUp
K U
26 settembre 2006
5
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio
g gg che opera
p
con oggetti
gg
ª Ad ogni oggetto sono associate particolari
proprietà, che ne definiscono aspetto e
caratteristiche
ª Esempi:
• oggetto CommandButton con proprietà
Caption (etichetta), Visible, Enabled, ...
• oggetto TextBox con proprietà Text, Font,
ForeColor (colore del testo), ...
26 settembre 2006
6
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio
g gg che opera
p
con oggetti
gg
ª Ad ogni oggetto sono associati particolari
metodi, che sono le azioni che l’oggetto
può eseguire
ª Esempi:
• oggetto CommandButton con metodi Move,
Drag, Refresh, ...
• oggetto TextBox con metodi Move, Drag,
SetFocus, ...
26 settembre 2006
7
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio di programmazione con funzioni di
progettazione di tipo visuale
ª Un programma VB, detto progetto, è
realizzato aggiungendo in modo grafico gli
oggetti al Form, che è la finestra principale
del progetto VB
ª Gli oggetti che possono essere inseriti in un
Form sono visualizzati sotto forma di icona
nella ToolBox (casella degli strumenti)
26 settembre 2006
8
A. Carullo – Introduzione a Visual Basic
L’ambiente di sviluppo VB
Casella degli strumenti
Composizione del progetto VB
Finestra principale del progetto VB
26 settembre 2006
9
A. Carullo – Introduzione a Visual Basic
L’ambiente di sviluppo VB
Casella
delle
proprietà
NB: Le proprietà di un oggetto possono essere
modificate anche da codice
26 settembre 2006
10
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Inserimento degli oggetti necessari nella
finestra principale del progetto (Form) ed
eventuale modifica delle loro proprietà
• Di
Dichiarazione
hi
i
d
delle
ll variabili
i bili globali
l b li ((accessibili
ibili
ai vari oggetti) e delle opzioni del progetto nella
sezione General Declarations del codice
• Scrittura del codice associato agli eventi che si
vogliono
li
gestire
ti
• Scrittura del codice per gli eventi Form_Load
(avvio del programma) e Form_QueryUnload
26 settembre 2006
11
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Inserimento degli oggetti ...
Per inserire oggetti nel
Form è sufficiente fare
doppio clic con il mouse
sull’icona dell’oggetto da
inserire, oppure
selezionare
l i
l’i
l’icona ed
d
‘espandere’ l’oggetto con il
mouse
26 settembre 2006
12
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• ... eventuale modifica delle loro proprietà
Si utilizza la casella delle
p p
proprietà
Esempio: modifica della
proprietà Caption
dell’oggetto Command1
di tipo
p CommandButton
26 settembre 2006
13
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Dichiarazione delle variabili globali (accessibili ai vari
oggetti)
gg ) e delle opzioni del progetto
g
nella sezione
General Declarations del codice
Per accedere all’area
Code è sufficiente fare
doppio clic con il mouse
sul Form, oppure
selezionare
l i
lla voce Code
C d
dal menu View
26 settembre 2006
14
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si
vogliono
g
g
gestire
Per accedere all’area
Code corrispondente
all’evento
all
evento di default di un
oggetto è sufficiente fare
doppio clic con il mouse
s ll’oggetto stesso
sull’oggetto
Per l’oggetto Command1 di tipo
CommandButton ll’evento
evento di default è Click
(clic del mouse)
26 settembre 2006
15
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si
vogliono
g
g
gestire
Per selezionare un
evento diverso da quello
di default, utilizzare il
p
menu a tendina presente
nell’area Code
26 settembre 2006
16
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si
vogliono
g
g
gestire
La sintassi del codice VB è simile a quella di
linguaggi di “tipo”
tipo basic,
basic quali QBasic o QuickBasic
9 principali tipi di dati: Boolean, Integer, Long,
Single Double,
Single,
Double String
String, Variant*
Variant
9 principali costrutti di programmazione:
p; If ... Then ... Else;;
For ... Next;; Do ... Loop;
Select Case ... Case Is
9 possibilità di definire procedure (Sub) e
funzioni (Function)
26 settembre 2006
17
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si
vogliono
g
g
gestire
ESEMPIO:
Codice che p
permette di inserire
la stringa “Ola” nell’oggetto
Text1 di tipo TextBox in
corrispondenza dell’evento
dell evento Click
sull’oggetto Command1 di tipo
CommandButton
Modifica da codice della proprietà Text dell’oggetto Text1
26 settembre 2006
18
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
Aspetto della Form del progetto VB in fase di esecuzione:
• all
all’avvio
avvio
• dopo che l’oggetto Command1 ha
‘sentito’
sentito ll’evento
evento Click del mouse
26 settembre 2006
19
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice per l’evento Form_Load
L’evento Form_Load avviene all’avvio del progetto
VB. Quando si verifica questo evento, tutti i controlli
sono stati creati ma non sono ancora visibili
visibili.
Il codice scritto in corrispondenza dell’evento Load
del Form è impiegato
impiegato, ad esempio
esempio, per
9 inizializzare valori di variabili
9 inizializzare proprietà di oggetti
9 aprire file o la comunicazione con schede di
interfaccia
26 settembre 2006
20
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice per l’evento Form_Load
ESEMPIO 1: Inizializzazione della
proprietà Caption dell’oggetto Label1
26 settembre 2006
21
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice per l’evento Form_Load
ESEMPIO 2: Inizializzazione della proprietà
Enabled dell’oggetto Command1
26 settembre 2006
22
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice per l’evento Form_QueryUnload
L evento Form_QueryUnload
L’evento
Form QueryUnload avviene nel momento in
cui il Form sta per essere scaricato, ossia prima che
sia
s
a rimosso
osso da
dalla
a memoria.
e o a
Questo evento si verifica quando si chiude il
programma
p
g
oppure
pp
in seguito
g
all’uso dell’istruzione
Unload Form1.
p
dell’evento
Il codice scritto in corrispondenza
QueryUnload del Form è impiegato, ad esempio, per
9 chiudere file o comunicazione con interfacce
9 impedire che il Form sia chiuso
26 settembre 2006
23
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
richiesta
i hi t di d
dati
ti all’utente
ll’ t t
Il controlloTextBox p
permette di immettere dati
da tastiera
Il dato è ottenuto, quando
necessario, leggendo la
proprietà
i tà Text
T t dell’oggetto
d ll’
tt
Text1
La propietà Text può essere letta anche in seguito
all’evento Change dell’oggetto Text1 (OCCHIO!).
26 settembre 2006
24
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
richiesta
i hi t di d
dati
ti all’utente
ll’ t t
Il controlloOptionButton
p
permette di scegliere
p
g
una di N opzioni mutuamente esclusive
L’opzione scelta è ottenuta,
quando necessario o in seguito
all’evento
ll’
t Click
Cli k dell’oggetto
d ll’
tt di
tipo OptionButton, leggendo la
proprietà Value
26 settembre 2006
25
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
richiesta
i hi t di d
dati
ti all’utente
ll’ t t
Il controlloCheckBox p
permette di scegliere
g
N
opzioni non mutuamente esclusive
Le opzioni scelte sono
ottenute, quando necessario
o in seguito all’evento Click
dell’oggetto di tipo
CheckBox, leggendo la
proprietà Value
26 settembre 2006
26
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
richiesta
i hi t di d
dati
ti all’utente
ll’ t t
L’istruzioneInputBox
p
richiede l’immissione di
dati da tastiera
Finestra InputBox visualizzata
all’avvio del programma
26 settembre 2006
27
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
visualizzazione
i
li
i
di d
dati
ti
Modifica della p
proprietà
p
Text di un
controlloTextBox
26 settembre 2006
28
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
visualizzazione
i
li
i
di d
dati
ti
L’istruzioneMsgBox
g
visualizza una finestra con il dato
desiderato
26 settembre 2006
29
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
visualizzazione
i
li
i
di grafici
fi i
All’interno di un controlloPictureBox si possono
p
disegnare grafici: definizione delle coordinate virtuali
con la proprietà Scale
26 settembre 2006
30
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
visualizzazione
i
li
i
di grafici
fi i
ControlloPictureBox: tracciamento del g
grafico con il
metodo Line
26 settembre 2006
31
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
comunicazione con dispositivi esterni via RS-232
S 232
Inserimento di un oggetto
gg
MSComm nel form
ATTENZIONE: non sempre presente nella casella degli strumenti
26 settembre 2006 (Microsoft Comm Control)
32
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
comunicazione con dispositivi esterni via RS-232
S 232
Associazione dell’oggetto
gg
MSComm ad una p
porta seriale
L’oggetto MSComm1 di
tipo MSComm è associato
alla porta seriale COM1
26 settembre 2006
33
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
comunicazione con dispositivi esterni via RS-232
S 232
Impostazione
p
dei p
parametri di comunicazione
Baud rate
Parity
Data bits
Stop bits
26 settembre 2006
34
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
comunicazione con dispositivi esterni via RS-232
S 232
Apertura
p
della p
porta seriale
Il progetto VB assume il
controllo della porta seriale
COM1 e crea i buffer di
ricezione e trasmissione
26 settembre 2006
35
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
comunicazione con dispositivi esterni via RS-232
Quando arrivano dati dalla linea seriale
1 Il sistema
1.
i t
cattura
tt
i dati
d ti e li mette
tt iin un b
buffer
ff
interno
2 Quando
2.
Q
d sono presentii d
datii superiori
i i ad
d una
specifica soglia, il sistema genera un evento di
tipo ONCOMM per l’oggetto
l oggetto MSCOMM
¾ L’evento ONCOMM è generato anche per molte altre
ragioni
g
26 settembre 2006
36
A. Carullo – Introduzione a Visual Basic
Sono stati ricevuti i caratteri indicati nella
proprietà Rthreshold
26 settembre 2006
37
A. Carullo – Introduzione a Visual Basic
La lettura della proprietà input svuota il buffer: è
necessario salvare i dati in un buffer del programma.
In questo punto si possono anche elaborare i dati
26 settembre 2006
38
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:
comunicazione con dispositivi esterni via IEEE488
• Ogni scheda impiega un ‘driver’ specifico fornito dal
produttore
• I ‘driver’ esportano funzioni che possono essere
richiamate da VB per eseguire specifiche operazioni
• VB viene informato
f
dell’esistenza delle funzioni
f
inserendo nel progetto un file (fornito dal costruttore)
con i prototipi delle funzioni
• La scheda di interfaccia deve essere ‘aperta’ prima di
iniziare ad usarla
26 settembre 2006
39
A. Carullo – Introduzione a Visual Basic
IEEE 488 Hewlett Packard
• ‘apertura’
p
funzione iOpen.
p
Le schede in g
genere hanno uno
pseudo-indirizzo 700 cui aggiungere l’indirizzo dello strumento
(es 712 per lo strumento con indirizzo 12).
handle%=iOpen(“712”)
p (
)
• invio di comandi: iwrite.
message$=“*CLS”
length&=len(message$)
errnum%=iwrite(handle%,message$,lenght&,endi%,actual&)
• ricezione risposte iread:
dim bufsize
buf=space(1000)
bufsize&=len(buf)
i
iread(handle%,buf,bufsize&,reason%,actual&)
d(h dl % b f b f i
%
t l )
26 settembre 2006
40
A. Carullo – Introduzione a Visual Basic
IEEE 488 National Instrument
• ‘apertura’
p
funzione ildev.
handle%= ildev(board, addr, saddr, _
timeout, eotmode, eosmode
• invio di comandi: ilwrt.
ilwrt
message$=“*CLS”
length&=len(message$)
errnum%=ilwrt(handle%,message$,lenght&)
,
g ,
g
• ricezione risposte ilrd:
dim bufsize
buf=space(1000)
bufsize&=len(buf)
ilrd handle%,buf,bufsize&
26 settembre 2006
41
A. Carullo – Introduzione a Visual Basic
Apertura
Scrittura
Allocazione
del buffer e
lettura
26 settembre 2006
42