|
Ok, questo è l'appuntamento n.17 per la serie dei miei
post relativi alla certificazione MCAD (ecco qua l'elenco completo dei post
sotto la categoria [MCAD]). Con la scusa e la motivazione di creare
un'applicazione Age, pian piano stiamo sviscerando tutti gli
aspetti che bisogna conoscere per approdare alla certificazione MCAD. C'è stata
qualche nuova iscrizione su UGIdotNET, per cui mi permetto di
fare un attimo il punto della situazione: dove siamo partiti, cosa abbiamo fatto
e cosa dobbiamo ancora fare. Bene, cominciamo.
- Innanzitutto, ricordiamoci che come scaletta abbiamo sfruttato la Study
Guide di Lorenzo. Qualcuno mi ha scritto come ottenerla. Registratevi sul sito www.cramsession.com, raggiungete questa pagina e cliccate sulla voce
Download the FREE Study Guide for this exam NOW! La Study
Guide presenta l'elenco dei temi che bisogna conoscere: ho deciso appunto di
utilizzarla come scaletta dei lavori e di
approfondire ogni punto con post specifici, con l'aggiunta di
codice dove necessario. Con questo approccio, siamo arrivati al post n.17!
- Grazie all'aiuto di Andrea
Dottor , è stato attivato il
portale http://dnn.tanadellavolpe.net per
raccogliere codice C# e post relativi alla certificazione MCAD. Ogni aiuto è
ovviamente ben accetto!
Prima ho accennato all'applicazione
Age. Di cosa si tratta? Beh, nemmeno io quando avevo cominciato
avevo un'idea precisa. Adesso che sono andato un po' avanti, le cose
si fanno più nitide e precise. Vediamo per prima cosa cosa fa fino a questo
momento la nostra piccola applicazione Age.
Si tratta di un'applicazione per memorizzare i compleanni . Nell'unica
Windows Form prevista finora, inserite nome e cognome della persona, e la sua
data di nascita. L'applicazione popola una ListBox e dice quanti anni ha/compirà la
persona. Esempio: se inserisco "Igor" e "28/02/1976", Age mi dice "Quest'anno Igor compirà 29 anni!".
Piuttosto semplice, non è vero? Ci siamo complicati la vita, ovviamente,
aggiungendo alcune features prendendo spunto dalla Study Guide di cui parlavo
prima. Ecco le principali:
- Validazione dei dati (1 e 2): evento Validating, ErrorProvider, etc.
- Localizzazione (1 e 2): resource files e classi .NET
per la localizzazione
- Funzioni di stampa (1, 2 e 3): impostare la pagina,
anteprima di stampa, utilizzo di GDI+
- Come utilizzare le property per l'Accesso Facilitato (1): il Narrator di Windows e integrazione con
.NET
Dove vogliamo arrivare con la nostra applicazione? Beh, qualcosa in testa ce l'ho.
Ecco le features che intendo implementare in Age
:
- L'obiettivo, lo scopo finale, è quello di creare un'applicazione che ci
ricordi i compleanni della nostra famiglia: apro, inserisco tutti i compleanni
di genitori, figli, zii, cugini e cugine, amici, colleghi, di chi volete voi.
Usando ADO.NET salveremo il nostro archivio da
qualche parte: database, file XML, etc. etc.
- Prepareremo il setup dell'applicazione usando il progetto Visual Studio
corretto
- Giocheremo con il data-binding per aggiungere qualche features avanzata
riguardante la UI (elenco complesso con l'utilizzo di campi calcolati,
utilizzo di DataGrid)
- Quando apriremo l'applicazione, ci verrà ricordato qual'è il
compleanno più vicino. Immaginiamo una MessageBox che ci dica: "Attento, tra 56
giorni c'è il compleanno di : Massimiliano!!!".
- Aggiungeremo alla nostra classe Age alcuni metodi
interessanti: metodi che ritornano un bool per dirci se per
quest'anno un compleanno è già passato oppure no, metodi che ritornano un
int per dire quanti giorni sono passati
o quanti ne mancano ad un certo compleanno
- Se le mie conoscenze mi permetteranno di farlo (non ho motivo di
dubitarne), estenderemo sempre più Age fino ad integrarla in
un web-service: magari aprirò un piccolo portale dove
bisognerà registrarsi. Ognuno potrà inserire i compleanni che vuole (con la
stessa logica dell'applicazione WF) e riceverà una notifica, per esempio, 10
giorni prima del compleanno più vicino. Mia madre compie gli anni il 3
dicembre, vorrà dire che intorno al 23 novembre mi arriva un'e-mail
avvisandomi del compleanno!
Questi sono (bene o male) i punti che voglio coprire per rendere
Age un'applicazione con un minimo di utilità: qualsiasi idea è
ben accetta, perciò se volete propormi qualcosa, scrivetemi qualche comment,
scrivetemi ovunque vogliate, contattemi, vedrò di inserire (se possibile) le
vostre idee nel progetto. Chissà che non venga fuori un bel progettino
freeware-opensource che possa essere utile a qualcuno in giro per il mondo!
powered by IMHO 1.2
|