Sincronizza Indice |
Scarica il progetto |
Testo dell'articolo |
Stampa l'articolo |
Abbiamo visto nella lezione precedente come dichiarare una variabile semplice e sfruttarla per effettuare i nostri calcoli. Riapriamo il nostro Progetto1 e portiamoci nella finestra del codice e rivediamo il codice che abbiamo visto la volta precedente.
Abbiamo nel nostro codice due aree separate: l'area delle dichiarazioni e l'area della routine legata all'evento Click dell'oggetto Form. Continuando l'esempio nostro, facciamo in modo che ad ogni click sul form, venga mostrato il numero dei click complessivi e l'orario dell'ultimo e del penultimo click. Tornamo per un attimo al nostro form. Apriamo il menu Visualizza, diamo
un click sulla voce Oggetto
e torneremo alla finestra di progettazione. Ora inseriamo un paio di Labels nel modo visto nelle lezioni precedenti e disponiamole nella maniera visibile qui a lato. Per ogni Label impostiamo la proprietà Autosize a True, in modo che venga calcolata automaticamente la dimensione necessaria per il testo che andremo a scrivere dentro. È necessario specificare il valore della proprietà Autosize per tutte le label, una per una; non basta farne una sola. Ora impostiamo il testo contenuto in ogni Label. La Label1 conterrà il testo L'utente ha cliccato sul form
Se avrete fatto correttamente, il form dovrebbe essere uguale a quello mostrato nella figura qui a fianco. Com'è facilmente intuibile nella Label2 verrà inserito il numero di click effettuati sul form, nella Label5 verrà inserito l'orario dell'ultimo click e la Label7 conterrà l'orario del penultimo click. Ora possiamo ritornare al codice del nostro form. Modifichiamo il codice fino ad ottenere il seguente:
Analizziamo con calma i tre segmenti del codice:
La prima riga definisce un nuovo tipo di nome ClickConData. È fondamentale ricordare che ogni nuovo tipo deve avere un nome univoco, unico, in modo da evitare confusioni. Quello appena fatto è un modello per variabili, un nuovo tipo di dati, un tipo di dati definito dall'utente . È un macrotipo, formato da 3 sottotipi elementari. Continuiamo la nostra analisi del codice:
Quest'unica riga dichiara una variabile di nome MioClick del nuovo tipo ClickConData. Questa variabile conterrà i dati del nostro programma, cioè il numero di click totali, la data dell'ultimo click e la data del penultimo click. Vediamo ora le ultime righe del nostro codice:
La prima e l'ottava riga non necessitano di spiegazione; le abbiamo viste in una lezione precedente. La seconda riga introduce qualche novità: MioClick.NumeroClick identifica il membro NumeroClick della variabile MioClick. Per accedere ad un membro di una variabile di tipo utente è necessario scrivere il nome della variabile, farlo seguire da un punto ed accodargli il nome del membro a cui ci si riferisce. Infatti in Visual Basic le variabili di tipo complesso sono trattate come fossero degli oggetti. Per cui la seconda riga dice al programma di prendere il valore di MioClick.NumeroClick, inizialmente 0, aggiungere 1 e memorizzare il risultato in MioClick.NumeroClick. La terza riga è analoga alla precedente. Essa dice di prendere il valore del membro UltimoClick della variabile MioClick e scriverlo nel membro PenultimoClick della stessa. La quarta riga dice semplicemente di leggere la data e l'ora attuale (istruzione Now) e memorizzarla nel membro UltimoClick della variabile MioClick. Infatti prima di eseguire la quarta riga, il valore di MioClick.UltimoClick è la data del penultimo click, poiché essa ancora non è stata aggiornata. Sarà la quarta riga che l'aggiornerà. Per questo motivo prendiamo il valore di MioClick.UltimoClick e lo mettiamo in MioClick.PenultimoClick prima dell'esecuzione della quarta riga. La quinta, la sesta e la settima riga scrivono dentro le Label i valori dei singoli membri della variabile MioClick.
Eseguiamo
il nostro programma e vediamo che succede. Non appena clicchiamo una prima
volta sul form vedremo che sarà mostrato l'orario completo del
click sul form. Proviamo
ora a cliccare una seconda volta sul form e vediamo il risultato. È consigliabile far ricorso a definizione di nuovi tipi quando è necessario utilizzare dei dati costantemente collegati tra loro, piuttosto che utilizzare più variabili semplici separate. Se dovesse esserci la necessità di definire un'altra copia di quel genere non è necessario definire tante variabili separate. Sarà necessaria soltanto una nuova variabile del tipo complesso. Passiamo ora al concetto delle costanti. Supponiamo di avere dentro un grande programma 100 forms diversi e sulla barra del titolo di ognuno vogliamo che appaia il nome del programma. Dobbiamo aprire i form uno per uno ed andare a scrivere dentro la proprietà Caption di ogni form, la riga "Il mio programma - Prima edizione". Fin qui è ok. È necessario farlo. Pensiamo pure ad un'altra cosa... Dentro il nostro programma vogliamo calcolare più volte l'area di un cerchio e vogliamo farlo nel modo più preciso possibile. Dobbiamo quindi memorizzare il valore del PI greco. In ogni punto del codice dove si rende necessario utilizzare questo valore dobbiamo scrivere il numero 3.141592...... Ci sono molti svantaggi in questo: il principale è che possiamo facilmente sbagliare una cifra e far commettere al computer errori nel calcolo e rischiamo di perdere ore intere prima di rintracciare l'errore. Se invece definiamo una costante e le forniamo il valore del PI greco sarà molto più difficile sbagliare, ci basterà scriverlo una volta sola corretto, poiché tutte le volte che avremo bisogno d'esso scriveremo il nome della costante al posto del valore. Ecco in pratica quanto detto. Torniamo alla finestra del codice e scriviamo questa riga:
Questa infatti dichiara una costante di nome PIGreco di tipo Double e le assegna il valore. Così ogni volta che dovremo scrivere 3.141592...... sarà molto più agevole e più comprensibile scrivere PIGreco al suo posto. Dentro la routine Form_Click aggiungiamo la riga:
Questa, infatti scrive il valore del PI greco sulla barra del titolo
del form. |
Vi sarete sicuramente chiesti perché in queste lezioni alcune righe del codice iniziano un po' più avanti delle altre righe. Beh, è soltanto una manovra chiamata Indentatura, un'italianizzazione del termine inglese Indent, cioè rientranza del margine. Il suo unico scopo è rendere il codice più leggibile. Per esempio:
È più leggibile di:
Infatti, se l'indentatura è fatta correttamente si capisce facilmente
dove inizia e dove finisce la routine Form_Click. Tutto quello che è
indentato è una parte di quella routine o di quel ciclo. Se il
testo non fosse indentato, chi rivede il codice sarà costretto
a leggersi le righe una per una alla ricerca dell'istruzione L'indentatura si utilizza in tutti i linguaggi; per il computer non cambia nulla, ma per il programmatore o per un revisore del codice cambia molto. È fondamentale imparare ad utilizzarla quanto prima possibile. Fibia
FBI
|
Torna alla quinta lezione | Vai alla settima lezione |