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