Upload
vankien
View
221
Download
0
Embed Size (px)
Citation preview
A. Carullo – Introduzione a Visual Basic
I d iIntroduzione aVisual BasicVisual Basic
126 settembre 2006
A. Carullo – Introduzione a Visual Basic
Indice degli argomenti trattati
• Cos’è Visual Basic?• 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
226 settembre 2006
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
È un linguaggio di programmazione:g gg p g
• di tipo event-driven
• che opera con oggetti
con funzioni di progettazione di tipo visuale• con funzioni di progettazione di tipo visuale
326 settembre 2006
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio di tipo event-drivenL’elemento alla base del linguaggio è l’evento
il funzionamento non è di tipo sequenziale, ma è regolato da eventima è regolato da eventi
Esempi di eventi:• clic su un pulsante mediante il mouse• clic su un pulsante mediante il mouse• digitazione in una casella di testo• selezione di un comando da un menuselezione di un comando da un menu• ridimensionamento di una finestra• variazione di un segnale su un’interfaccia
426 settembre 2006
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio che opera con oggettiGli oggetti, o controlli, sono gli elementi inseriti nel progetto Visual Basic (VB) che sono in grado di provocare o ‘sentire’ un eventogrado di provocare o sentire un eventoAd ogni oggetto sono associati particolari eventiEsempi:Esempi:
• oggetto CommandButton sensibile agli eventi clic del mouse (Click) o doppio clic del mousede ouse (C c ) o dopp o c c de ouse(DblClick)
• oggetto TextBox sensibile agli eventi della tastiera K D K P K U
526 settembre 2006
KeyDown, KeyPress e KeyUp
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio che opera con oggettig gg p ggAd ogni oggetto sono associate particolari proprietà, che ne definiscono aspetto e caratteristicheEsempi:
• oggetto CommandButton con proprietà Caption (etichetta), Visible, Enabled, ...
• oggetto TextBox con proprietà Text Font• oggetto TextBox con proprietà Text, Font, ForeColor (colore del testo), ...
626 settembre 2006
A. Carullo – Introduzione a Visual Basic
Cos’è Visual Basic?
Linguaggio che opera con oggettig gg p ggAd ogni oggetto sono associati particolari metodi, che sono le azioni che l’oggetto può eseguireEsempi:
• oggetto CommandButton con metodi Move, Drag, Refresh, ...
• oggetto TextBox con metodi Move Drag• oggetto TextBox con metodi Move, Drag, SetFocus, ...
726 settembre 2006
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 VBdel progetto VBGli oggetti che possono essere inseriti in un Form sono visualizzati sotto forma di iconaForm sono visualizzati sotto forma di icona nella ToolBox (casella degli strumenti)
826 settembre 2006
A. Carullo – Introduzione a Visual Basic
L’ambiente di sviluppo VB
Casella degli strumenti Composizione del progetto VB
926 settembre 2006Finestra principale del progetto VB
A. Carullo – Introduzione a Visual Basic
L’ambiente di sviluppo VB
Casella delle proprietà
NB: Le proprietà di un oggetto possono essere
1026 settembre 2006
modificate anche da codice
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) edfinestra principale del progetto (Form) ed eventuale modifica delle loro proprietà
Di hi i d ll i bili l b li ( ibili• Dichiarazione delle variabili globali (accessibili ai vari oggetti) e delle opzioni del progetto nella sezione General Declarations del codicesezione General Declarations del codice
• Scrittura del codice associato agli eventi che si li tivogliono gestire
• Scrittura del codice per gli eventi Form_Load
1126 settembre 2006
(avvio del programma) e Form_QueryUnload
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 mousedoppio clic con il mousesull’icona dell’oggetto da inserire, oppure
l i l’i dselezionare l’icona ed ‘espandere’ l’oggetto con il mouse
1226 settembre 2006
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 proprietàp p
Esempio: modifica della proprietà Captiondell’oggetto Command1di tipo CommandButton
1326 settembre 2006
p
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Dichiarazione delle variabili globali (accessibili ai vari oggetti) e delle opzioni del progetto nella sezione gg ) gGeneral Declarations del codice
Per accedere all’area Code è sufficiente fareCode è sufficiente fare doppio clic con il mousesul Form, oppure
l i l C dselezionare la voce Codedal menu View
1426 settembre 2006
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si vogliono gestireg g
Per accedere all’area Code corrispondente all’evento di default di unall evento di default di un oggetto è sufficiente fare doppio clic con il mouses ll’oggetto stessosull’oggetto stesso
Per l’oggetto Command1 di tipo CommandButton l’evento di default è Click
1526 settembre 2006
CommandButton l evento di default è Click (clic del mouse)
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si vogliono gestireg g
Per selezionare un evento diverso da quello di default, utilizzare il menu a tendina presente pnell’area Code
1626 settembre 2006
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si vogliono gestireg g
La sintassi del codice VB è simile a quella di linguaggi di “tipo” basic quali QBasic o QuickBasiclinguaggi di tipo basic, quali QBasic o QuickBasic
principali tipi di dati: Boolean, Integer, Long, Single Double String Variant*Single, Double, String, Variantprincipali costrutti di programmazione:For ... Next; Do ... Loop; If ... Then ... Else; ; p; ;Select Case ... Case Ispossibilità di definire procedure (Sub) e
1726 settembre 2006
funzioni (Function)
A. Carullo – Introduzione a Visual Basic
I passi per la creazione di un progetto VB
• Scrittura del codice associato agli eventi che si vogliono gestireg g
ESEMPIO:Codice che permette di inserire pla stringa “Ola” nell’oggetto Text1 di tipo TextBox in corrispondenza dell’evento Clickcorrispondenza dell evento Click sull’oggetto Command1 di tipo CommandButton
1826 settembre 2006
Modifica da codice della proprietà Text dell’oggetto Text1
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’avvio• all avvio
• dopo che l’oggetto Command1 ha ‘sentito’ l’evento Click del mousesentito l evento Click del mouse
1926 settembre 2006
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 visibilisono stati creati ma non sono ancora visibili.Il codice scritto in corrispondenza dell’evento Loaddel Form è impiegato ad esempio perdel Form è impiegato, ad esempio, per
inizializzare valori di variabiliinizializzare proprietà di oggettiaprire file o la comunicazione con schede di interfaccia
2026 settembre 2006
interfaccia
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 dellaESEMPIO 1: Inizializzazione della proprietà Caption dell’oggetto Label1
2126 settembre 2006
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àESEMPIO 2: Inizializzazione della proprietà Enabled dell’oggetto Command1
2226 settembre 2006
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 avviene nel momento inL evento Form_QueryUnload avviene nel momento in cui il Form sta per essere scaricato, ossia prima che sia rimosso dalla memoria.s a osso da a e o aQuesto evento si verifica quando si chiude il programma oppure in seguito all’uso dell’istruzione p g pp gUnload Form1.Il codice scritto in corrispondenza dell’evento pQueryUnload del Form è impiegato, ad esempio, per
chiudere file o comunicazione con interfacce
2326 settembre 2006
impedire che il Form sia chiuso
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i hi t di d ti ll’ t trichiesta di dati all’utente
Il controlloTextBox permette di immettere dati pda tastiera
Il dato è ottenuto, quando necessario, leggendo la
i tà T t d ll’ ttproprietà Text dell’oggetto Text1
La propietà Text può essere letta anche in seguito
2426 settembre 2006
La propietà Text può essere letta anche in seguito all’evento Change dell’oggetto Text1 (OCCHIO!).
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i hi t di d ti ll’ t t
Il controlloOptionButton permette di scegliere
richiesta di dati all’utente
p p guna di N opzioni mutuamente esclusive
L’opzione scelta è ottenuta, quando necessario o in seguito ll’ t Cli k d ll’ tt diall’evento Click dell’oggetto di
tipo OptionButton, leggendo la proprietà Value
2526 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i hi t di d ti ll’ t t
Il controlloCheckBox permette di scegliere N
richiesta di dati all’utente
p gopzioni non mutuamente esclusive
Le opzioni scelte sonoLe opzioni scelte sono ottenute, quando necessario o in seguito all’evento Clickdell’oggetto di tipo CheckBox, leggendo la proprietà Valueproprietà Value
2626 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i hi t di d ti ll’ t t
L’istruzioneInputBox richiede l’immissione di
richiesta di dati all’utente
pdati da tastiera
Finestra InputBox visualizzata all’avvio del programma
2726 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i li i di d tivisualizzazione di dati
Modifica della proprietà Text di un p pcontrolloTextBox
2826 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i li i di d tivisualizzazione di dati
L’istruzioneMsgBox visualizza una finestra con il dato gdesiderato
2926 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i li i di fi ivisualizzazione di grafici
All’interno di un controlloPictureBox si possono pdisegnare grafici: definizione delle coordinate virtuali con la proprietà Scale
3026 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:i li i di fi ivisualizzazione di grafici
ControlloPictureBox: tracciamento del grafico con il gmetodo Line
3126 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:S 232comunicazione con dispositivi esterni via RS-232
Inserimento di un oggetto MSComm nel formgg
3226 settembre 2006
ATTENZIONE: non sempre presente nella casella degli strumenti (Microsoft Comm Control)
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:S 232comunicazione con dispositivi esterni via RS-232
Associazione dell’oggetto MSComm ad una porta serialegg p
L’oggetto MSComm1 di tipo MSComm è associato alla porta seriale COM1alla porta seriale COM1
3326 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:S 232comunicazione con dispositivi esterni via RS-232
Impostazione dei parametri di comunicazionep p
Baud rate
Parity
Data bits
Stop bits
3426 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:S 232comunicazione con dispositivi esterni via RS-232
Apertura della porta serialep p
Il progetto VB assume il controllo della porta seriale COM1 e crea i buffer di ricezione e trasmissionericezione e trasmissione
3526 settembre 2006
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB:Operazioni più comuni in un progetto VB:comunicazione con dispositivi esterni via RS-232
Quando arrivano dati dalla linea seriale
1 Il i t tt i d ti li tt i b ff1. Il sistema cattura i dati e li mette in un buffer interno
2 Q d i d i i i d2. Quando sono presenti dati superiori ad una specifica soglia, il sistema genera un evento di tipo ONCOMM per l’oggetto MSCOMMtipo ONCOMM per l oggetto MSCOMM
L’evento ONCOMM è generato anche per molte altre ragioni
3626 settembre 2006
g
A. Carullo – Introduzione a Visual Basic
Sono stati ricevuti i caratteri indicati nella proprietà Rthreshold
3726 settembre 2006
A. Carullo – Introduzione a Visual Basic
La lettura della proprietà input svuota il buffer: è necessario salvare i dati in un buffer del programma.
3826 settembre 2006
In questo punto si possono anche elaborare i dati
A. Carullo – Introduzione a Visual Basic
Operazioni più comuni in un progetto VB: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
f f• VB viene informato dell’esistenza delle funzioni 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
3926 settembre 2006
A. Carullo – Introduzione a Visual Basic
IEEE 488 Hewlett Packard
• ‘apertura’ funzione iOpen. Le schede in genere hanno uno
IEEE 488 Hewlett Packard
p p gpseudo-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 bufsizebuf=space(1000)bufsize&=len(buf)i d(h dl % b f b f i % t l )
4026 settembre 2006
iread(handle%,buf,bufsize&,reason%,actual&)
A. Carullo – Introduzione a Visual Basic
IEEE 488 National InstrumentIEEE 488 National Instrument
• ‘apertura’ funzione ildev. phandle%= ildev(board, addr, saddr, _
timeout, eotmode, eosmode
• invio di comandi: ilwrtinvio di comandi: ilwrt. message$=“*CLS”length&=len(message$)errnum%=ilwrt(handle%,message$,lenght&) , g , g
• ricezione risposte ilrd: dim bufsizebuf=space(1000)bufsize&=len(buf)ilrd handle%,buf,bufsize&
4126 settembre 2006
A. Carullo – Introduzione a Visual Basic
Apertura
Scrittura
Allocazione del buffer e lettura
4226 settembre 2006