Lez ione 5 IDE

Transcript

Lez ione 5 IDE
Lez ione 5
L’editor per il Vis ual Bas ic for Application
IDE
µ Ogni applicativo Office (Wor d, Ex cel, Power Point)
offr e un ambiente di pr ogr ammaz ione
(Integr ated Development Envir onment (IDE))
chiamato Vis ual Bas ic Editor
µ L’editor per mette di s cr iver e in modo agevole
pr ogr ammi in VBA
µ In par ticolar e:
⇐ controlla la s intas s i delle is tr uz ioni
⇐ for matta in modo appr opr iato le is truz ioni
⇐ per mette il debugging (la cor r ez ione degli err or i)
1
Come s i accede all’Editor
µ Per acceder e all’editor s i s elez iona dalla voce
T ools /Str umenti del menu pr incipale il s ub
menu Macr o
µ In Macr o s i s elez iona Vis ual Bas ic Editor /Editor
di Vis ual Bas ic
µ ques to vale per ogni applicativo Office (Wor d,
Ex cel, Power Point)
Vis ual Bas ic Editor
µ Il VBE mette a dis pos iz ione le s eguenti fines tr e:
µ A s inis tr a
⇐ Pr ogetto
⇐ Pr opr ietà
µ A des tr a
⇐ Codice
⇐ Immediata
⇐ Locali
⇐ Contr ollo
2
La fines tr a Pr ogetto
µ La fines tr a Pr ogetto vis ualiz z a una s tr uttur a ad
alber o
µ in ques ta s tr uttur a s ono r appr es entati i pr ogetti
pr es enti as s ociati con il documento
µ un pr ogetto è un ins ieme di moduli, for ms ,
clas s i r iunito s otto un unico nome
µ A noi inter es s er à il concetto di modulo
I Moduli
µ E’ pos s ibile ins er ir e nuovi moduli dal menu
Ins er is ci - > Modulo
µ Ogni modulo contiene un ins ieme di s ubr outine
e di funz ioni
µ la divis ione del codice in più moduli s er ve per
s epar ar e il codice s econdo la logica delle
applicaz ioni
⇐ Es : in un modulo s i pos s ono mettere tutte le funz ioni
per es eguir e dei conteggi e delle s tatis tiche s ulle
par ole, mentre in un altr o modulo il codice neces s ar io
per for mattar e il tes to in modo par ticolar e, etc
3
La fines tr a Pr opr ietà
µ In ques ta fines tr a s ono r appr es entate le
pr opr ietà di un oggetto s elez ionato
µ In ques ta fines tr a è anche pos s ibile modificar e
le pr opr ietà di un oggetto
µ Noi non tr atter emo il concetto di oggetto con le
r elative pr opr ietà
La fines tr a Codice
µ Nella fines tr a Codice viene r appr es entato il
codice as s ociato con l’elemento s elez ionato
della fines tr a Pr ogetto
µ Nel nos tr o cas o s i tr atter à s empr e di codice
as s ociato a Moduli
4
Codice
µ Il codice as s ociato ad un Modulo contiene
gener almente più di una pr ocedur a
µ Es is tono due modalità per vis ualiz z ar e il codice:
⇐ vis ta per pr ocedura
⇐ vis ta per modulo inter o
µ Nella vis ta per pr ocedur a è vis ualiz z ata una
pr ocedur a o funz ione alla volta
µ Nella vis ta per modulo inter o s ono vis uali z z ate
tutte le pr ocedur e s epar ate da una linea
or iz z ontale
µ Si pas s a da una vis ta all’altr a tr amite una icona
nell’angolo in bas s o a s inis tr a
Codice
µ In alto s ulla fines tr a di Codice vi s ono due lis te a
dis ces a il cui contenuto dipende dall’oggetto
s elez ionato nel Pr ogetto:
⇐ s e l’oggetto s elez ionato è un modulo la pr ima lis ta
contiene s olo la voce General e la s econda contiene la
lis ta di tutte le pr ocedur e
⇐ s e l’oggetto è un documento o una for m cambia il
contenuto (ma non non ce ne occuper emo)
5
La fines tr a Immediata
µ La fines tr a Immediata ha due funz ioni:
⇐ s i può r idir ez ionar e la vis ualiz z az ione di var ie
infor maz ioni s u ques ta fines tr a
⇐ s i pos s ono es eguir e immediatamente comandi
µ La fines tr a Immediata può es s er e utile per la
fas e di debugging (s coper ta e cor r ez ione di
er r or i)
Le modalità dell’Editor
µ Es is tono 3 modalità in cui s i può lavor ar e con
l’Editor VB:
⇐ Modalità Es ecuz ione (Run)
⇐ Modalità di Scrittur a (Des ign)
⇐ Modalità di T racciamento (Br eak)
6
Modalità Run
µ Siamo nella modalità Run quando una pr ocedur a
è in es ecuz ione
µ Per es eguir e una pr ocedur a s i s elez iona il menu
Es egui - > Es egui Sub/Us r For m
µ s i può inter r omper e l’es ecuz ione con i tas ti Ctr lBr eak (o Paus a/Inter r ompi)
Modalità Des ign
µ E’ la modalità di default che per mette la
s cr ittur a del codice
µ In ques ta modalità l’IDE for matta in modo
appr opr iato il codice e contr olla che il codice
non contenga alcuni er r or i
7
Modalità Br eak
µ Si entr a in modalità Br eak quando
⇐ s i inter r ompe l’es ecuz ione di una pr ocedur a
⇐ s i ver ifica un er r or e
⇐ s i incontr a una condiz ione di interr uz ione
programmata
µ Se l’inter r uz ione avviene a caus a di un er r or e
viene mos tr ata una fines tr a con un codice di
er r or e e una des cr iz ione s ommar ia delle caus e
di er r or e
µ in ques to cas o viene data la pos s ibilità di
ter minar e l’es ecuz ione is tantaneamente o di
entr ar e in fas e di Debugging
Er r or i
µ Può accader e che un pr ogr amma non completi
la pr opr ia es ecuz ione a caus a di er r or i di var ia
natur a pr es enti nel codice
µ Gli er r or i pos s ono es s er e:
⇐ s intattici
⇐ al tempo della compilaz ione
⇐ al tempo della es ecuz ione
⇐ logici
8
Er r or i s intattici
µ Se una is tr uz ione viene s cr itta in modo non
cor r etto, ovver o non s eguendo la s intas s i
s pecificata dal for malis mo del VBA il calcolator e
(compilator e) non è in gr ado di inter pr etar la
cor r ettamente
µ in ques to cas o s i gener a un er r or e di s intas s i
µ La IDE del Vis ual Bas ic è in gr ado di accor ger s i
di ques ti er r or i e s egnalar li al momento s tes s o
della s cr ittur a del codice
µ Un es empio di er r or e s intattico è:
⇐x= = 5
Er r or i al tempo della compilaz ione
µ Il pr ogr amma viene tr adotto (compilato) in un
for malis mo utile per il calcolator e nel momento
in cui chiediamo di mandar e in es ecuz ione un
pr ogr amma
µ in ques to momento s i pos s ono ver ificar e degli
er r or i che inter r ompono l’es ecuz ione e attivano
la modalità Br eak
µ Un es empio di er r or e al tempo della
compilaz ione è quando s i as s egnano i contenuti
di var iabili di tipi diver s i ma con var iabili
dichiar ate in moduli diver s i
9
Er r or i al tempo dell’es ecuz ione
µ Gli er r or i che accadono dur ante l’es ecuz ione di
un pr ogr amma s i dicono er r or i al tempo
dell’es ecuz ione
µ Un es empio di er r or e al tempo della es ecuz ione
è quando s i cer ca di legger e un file che non
es is te
Er r or i Logici
µ Si ha un er r or e logico quando il r is ultato
dell’elabor az ione non coincide con quanto er a
s tato pr eventivato
µ Un er r or e di tipo logico è il più ins idios o degl i
er r or i
µ Non può es s er e r ilevato dal compilator e o
deter minato automaticamente in alcun modo
µ Un es empio di er r or e logico è quando s i calcol a
la media di 4 var iabili s ommando il valor e di
cias cuna var iabile e dividendo il r is ultato per 3.
10
Debugging
µ Per cer car e e cor r egger e un er r or e all’inter no di
un pr ogr amma (debugging) l’IDE Bas ic mette a
dis pos iz ione una s er ie di s tr umenti fr a i quali:
⇐ tr acciamento
⇐ controllo
T r acciamento
µ Il tr acciamento cons is te nell’es ecuz ione un
pas s o alla volta del codice
µ Le s eguenti s ono le opz ioni dis ponibili dur ante il
tr acciamento:
⇐ Es egui Is tr uz ione: es egue una is tr uz ione alla volta. Se
l’is tr uz ione cons is te in una funz ione/procedur a s i
entr a nel codice della funz ione/pr ocedur a
⇐ Es egui Is tr uz ione/Routine: s imile a Es egui Is tr uz ione
ma s e l’is tr uz ione cons is te in una funz ione/pr ocedur a
non s i entr a nel codice ma s i va immediatamente alla
r iga s ucces s iva
11
T r acciamento
⇐ Es ci da Is tr uz ione/Routine: s i es eguono le is tr uz ioni
r imanenti della pr ocedur a e s i r itor na alla pr ocedura
chiamante
⇐ Es egui fino al cur s ore: s i avanz a nell’es ecuz ione fino
alla is tr uz ione s u cui è pos iz ionato il curs or e
Contr ollo
µ Ris ulta s pes s o utile os s er var e il valor e di alcune
var iabili dur ante l’es ecuz ione del codice
µ T r amite il Contr ollo Immediato s i può indagar e il
valor e cor r ente di una var iabile
µ T r amite la fines tr a Locali s i può vis ualiz z ar e i
valor i di tutte le var iabili locali ad una pr ocedur a
µ T r amite la fines tr a Contr olla s i pos s ono
aggiunger e var iabili di cui os s er var e il contenuto
12
La fines tr a Contr olla
µ E’ pos s ibile aggiunger e una var iabile alla
fines tr a Contr olla tr amite il menu Debug> Aggiungi Es pr es s ione di Contr ollo
µ dopo aver es eguito una is tr uz ione, il valor e di
tutte le var iabili nella fines tr a viene aggior nato
µ è pos s ibile as s ociar e una az ione al ver ificar s i di
una par ticolar e condiz ione s ul valor e di una
var iabile
⇐ Es : s e una var iabile as s ume uno s pecifico valor e o un
valor e più grande o più piccolo di un dato limite
Az ioni
µ Le az ioni che è pos s ibile as s ociar e s ono:
⇐ Es pres s ione di contr ollo: r es tituis ce s e l’es pr es s ione è
vera o fals a o nel cas o in cui non ci s ia una es pr es s ione
il valore s tes s o della var iabile
⇐ Inter r ompi s e il valor e è ver o: entr a in modalità Br eak
al ver ificar s i della condiz ione
⇐ Inter r ompi s e il valor e cambia: entr a in modalità Br eak
s e il valor e dell’es pr es s ione cambia in quals ias i modo
13
Es er citaz ioni
µ Labor ator io LABLIT A
⇐ Aula 33
⇐ T el: 0555032486
µ Refer ente: Ales s andr o Panunz i
µ Email: s [email protected]
µ Mar tedì - 15.00
µ Lunedì - 15.00
Dati
µ
µ
µ
µ
Fabr iz io Cos ta
Email: cos ta@ds i.unifi.it
Sito: http://www.ds i.unifi.it/~cos ta
Ricevimento:
⇐ Vener dì 16.00
⇐ Labor ator io Sis temi e Infor matica (Santa Mar ta)
14