Introduzione a Visual Basic 1
Indice degli argomenti trattati 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 2
Cos è Visual Basic? È un linguaggio gg di programmazione: di tipo event-driven che opera con oggetti con funzioni di progettazione di tipo visuale 3
Cos è Visual Basic? Linguaggio di tipo event-driven L elemento alla base del linguaggio è l evento il funzionamento non è di tipo sequenziale, ma è regolato da eventi Esempi di eventi: 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
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 un evento Ad ogni oggetto sono associati particolari eventi Esempi: oggetto CommandButton sensibile agli eventi clic del mouse (Click) c) o doppio o clic c del mouse (DblClick) oggetto TextBox sensibile agli eventi della tastiera KeyDown, KeyPress e KeyUp 5
Cos è Visual Basic? Linguaggio gg che opera con oggetti 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),... 6
Cos è Visual Basic? Linguaggio gg che opera con oggetti 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,... 7
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) 8
L ambiente di sviluppo VB Casella degli strumenti Composizione del progetto VB Finestra principale del progetto VB 9
L ambiente di sviluppo VB Casella delle proprietà NB: Le proprietà di un oggetto possono essere modificate anche da codice 10
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à Dichiarazione i delle variabili globali li (accessibili ai vari oggetti) e delle opzioni del progetto nella sezione General Declarations del codice Scrittura del codice associato agli eventi che si vogliono gestire Scrittura del codice per gli eventi Form_Load (avvio del programma) e Form_QueryUnload 11
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 icona ed espandere l oggetto con il mouse 12
I passi per la creazione di un progetto VB... eventuale modifica delle loro proprietà Si utilizza la casella delle proprietà p Esempio: modifica della proprietà Caption dell oggetto Command1 di tipo CommandButton 13
I passi per la creazione di un progetto VB Dichiarazione delle variabili globali (accessibili ai vari oggetti) e delle opzioni del progetto nella sezione General Declarations del codice Per accedere all area Code è sufficiente fare doppio clic con il mouse sul Form, oppure selezionare la voce Code dal menu View 14
I passi per la creazione di un progetto VB Scrittura del codice associato agli eventi che si vogliono gestire Per accedere all area Code corrispondente all evento di default di un oggetto è sufficiente fare doppio clic con il mouse sull oggetto stesso Per l oggetto Command1 di tipo CommandButton l evento di default è Click (clic del mouse) 15
I passi per la creazione di un progetto VB Scrittura del codice associato agli eventi che si vogliono gestire Per selezionare un evento diverso da quello di default, utilizzare il menu a tendina presente nell area Code 16
I passi per la creazione di un progetto VB Scrittura del codice associato agli eventi che si vogliono gestire La sintassi del codice VB è simile a quella di linguaggi di tipo basic, quali QBasic o QuickBasic principali tipi di dati: Boolean, Integer, Long, Single, Double, String, Variant* principali costrutti di programmazione: For... Next; ; Do... Loop; If... Then... Else; ; Select Case... Case Is possibilità di definire procedure (Sub) e funzioni (Function) 17
I passi per la creazione di un progetto VB Scrittura del codice associato agli eventi che si vogliono gestire ESEMPIO: Codice che permette di inserire la stringa Ola nell oggetto Text1 di tipo TextBox in corrispondenza dell evento evento Click sull oggetto Command1 di tipo CommandButton Modifica da codice della proprietà Text dell oggetto Text1 18
I passi per la creazione di un progetto VB Aspetto della Form del progetto VB in fase di esecuzione: all avvio avvio dopo che l oggetto Command1 ha sentito l evento Click del mouse 19
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. Il codice scritto in corrispondenza dell evento Load del Form è impiegato, ad esempio, per inizializzare valori di variabili inizializzare proprietà di oggetti aprire file o la comunicazione con schede di interfaccia 20
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 21
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 22
I passi per la creazione di un progetto VB Scrittura del codice per l evento Form_QueryUnload L evento Form_QueryUnload avviene nel momento in cui il Form sta per essere scaricato, ossia prima che sia rimosso dalla a memoria. Questo evento si verifica quando si chiude il programma oppure in seguito all uso dell istruzione Unload Form1. Il codice scritto in corrispondenza dell evento QueryUnload del Form è impiegato, ad esempio, per chiudere file o comunicazione con interfacce impedire che il Form sia chiuso 23
Operazioni più comuni in un progetto VB: richiesta di dati all utente t Il controllotextbox permette di immettere dati da tastiera Il dato è ottenuto, quando necessario, leggendo la proprietà Text dell oggetto Text1 La propietà Text può essere letta anche in seguito all evento Change dell oggetto Text1 (OCCHIO!). 24
Operazioni più comuni in un progetto VB: richiesta di dati all utente t Il controllooptionbutton p permette di scegliere una di N opzioni mutuamente esclusive L opzione scelta è ottenuta, quando necessario o in seguito all evento Click dell oggetto di tipo OptionButton, leggendo la proprietà Value 25
Operazioni più comuni in un progetto VB: richiesta di dati all utente t Il controllocheckbox permette di scegliere 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
Operazioni più comuni in un progetto VB: richiesta di dati all utente t L istruzioneinputbox p richiede l immissione di dati da tastiera Finestra InputBox visualizzata all avvio del programma 27
Operazioni più comuni in un progetto VB: visualizzazione i di dati Modifica della proprietà p Text di un controllotextbox 28
Operazioni più comuni in un progetto VB: visualizzazione i di dati L istruzionemsgbox g visualizza una finestra con il dato desiderato 29
Operazioni più comuni in un progetto VB: visualizzazione i di grafici i All interno di un controllopicturebox si possono disegnare grafici: definizione delle coordinate virtuali con la proprietà Scale 30
Operazioni più comuni in un progetto VB: visualizzazione i di grafici i ControlloPictureBox: tracciamento del grafico con il metodo Line 31
Operazioni più comuni in un progetto VB: comunicazione con dispositivi esterni via RS-232 Inserimento di un oggetto MSComm nel form ATTENZIONE: non sempre presente nella casella degli strumenti (Microsoft Comm Control) 32
Operazioni più comuni in un progetto VB: comunicazione con dispositivi esterni via RS-232 Associazione dell oggetto MSComm ad una porta seriale L oggetto MSComm1 di tipo MSComm è associato alla porta seriale COM1 33
Operazioni più comuni in un progetto VB: comunicazione con dispositivi esterni via RS-232 Impostazione dei parametri di comunicazione Baud rate Parity Data bits Stop bits 34
Operazioni più comuni in un progetto VB: comunicazione con dispositivi esterni via RS-232 Apertura della porta seriale Il progetto VB assume il controllo della porta seriale COM1 e crea i buffer di ricezione e trasmissione 35
Operazioni più comuni in un progetto VB: comunicazione con dispositivi esterni via RS-232 Quando arrivano dati dalla linea seriale 1. Il sistema cattura i dati e li mette in un buffer interno 2. Quando sono presenti dati superiori i ad una specifica soglia, il sistema genera un evento di tipo ONCOMM per l oggetto MSCOMM L evento ONCOMM è generato anche per molte altre ragioni 36
Sono stati ricevuti i caratteri indicati nella proprietà Rthreshold 37
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 38
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 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 39
IEEE 488 Hewlett Packard apertura funzione iopen. Le schede in genere hanno uno pseudo-indirizzo 700 cui aggiungere l indirizzo dello strumento (es 712 per lo strumento con indirizzo 12). handle%=iopen( 712 ) 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) iread(handle%,buf,bufsize&,reason%,actual&) dl b f i % l 40
IEEE 488 National Instrument apertura funzione ildev. handle%= ildev(board, addr, saddr, _ timeout, eotmode, eosmode invio di comandi: ilwrt. message$= *CLS length&=len(message$) errnum%=ilwrt(handle%,message$,lenght&), g ricezione risposte ilrd: dim bufsize buf=space(1000) bufsize&=len(buf) ilrd handle%,buf,bufsize& 41
Apertura Scrittura Allocazione del buffer e lettura 42