Ieri mattina, prima che succedesse il fattaccio che ha scombussolato il
tranquillo tran-tran familiare
, ho portato
HappySign a buon punto. Sabato mattina, di
buon'ora, ho messo a punto la possibilità di creare le famigerate firme
dinamiche, che funzionano davvero bene. Con qualche colpo di codice .NET
(rigorosamente in VB.NET) ho creato un paio di firme dinamiche simpatiche e
divertenti. La prima va a leggere il file
XML dell'RSS-feed
del mio blog, lo esplora con una
manciata di ChildNodes e mi tira fuori l'InnerText del tag
title
relativo al post più recente. In questo modo, è davvero
molto divertente fare drag'n'drop da HappySign e veder comparire nella finestra
e-mail di Thunderbird il titolo del mio ultimo post. Un'altra firma - usata come test - mi
restituisce semplicemente un paio di numeri random. La terza è davvero troppo
divertente per raccontarla qua, anche perchè per motivi tecnici si appoggia
addirittura al mio db SQL Server locale della mia LAN.
Ho creato in quattro e quattr'otto un progetto di deploy
per HappySign, che purtroppo non ho ancora avuto modo di
testare a dovere. Questa sera tiro fuori il mio notebook, che ha già installato
il framework 2.0, provo l'installazione, faccio qualche test serio, prenderò
qualche appunto su cosa e come migliorare l'applicazione. Se tutto va bene, e sono fiducioso, riuscirò a mettere
on-line sul mio sito il download della versione beta, giusto per fare contento
chi mi ha scritto.
Cosa mi resta da fare...
Dunque, a parte risolvere
qualche bug che sicuramente questa sera troverò, devo ancora implementare la
Windows Form per settare le opzioni di HappySign. Come è giusto
che sia, ho utilizzato il buon HappySign.exe.config per
memorizzare tutte le configurazioni dell'applicazione. In questa release, sono
circa una decina:
- background e forecolor di barre, scritte e label varie
- posizione di startup di HappySign
- nome del file XML per salvare il db
- l'equivalente di "sempre in primo piano"
- ...altre ed eventuali...
In questa release, mi interessa dare la possibilità di modificare le opzioni
(2) e (4). Per default, HappySign si ricorda della posizione e
della dimensione della finestra quando viene chiuso, così al prossimo avvio
l'utente se lo ritrova esattamente come & dove lo aveva lasciato. Ho
aggiunto ovviamente un piccolo check nel caso in cui l'utente cambia la
risoluzione ed HappySign finirebbe al di fuori del desktop "raggiungibile".
Altrimenti, è possibile dire ad HappySign di posizionarsi in alto
a sinistra o a destra dello schermo.
Cosa mi preoccupa...
Ci sono un paio di cose che mi fanno
pensare. Ho gestito l'evento MouseDown del controllo
acclExplorerBar: in questo evento comincio il drag'n'drop della
decorazione della firma. Se è una firma statica, tutto bene: l'esecuzione è
istantanea. Se la firma è dinamica, viene compilato ed eseguito il codice .NET
associato alla firma stessa. Nelle firme dinamiche che ho creato io - una delle
quali va sul Web per reperire un file XML - tutto gira fluido e tranquillo. Però
se arriva Tizio, Caio oppure Sempronio che scrivono qualcosa di più complesso, i
tempi si allungano. Ovviamente non posso saperlo e non posso prevederlo,
perchè dipende da cosa scrivete voi. Ma ci sto pensando lo stesso.
A dispetto di quanto mi hanno inculcato, ho trovato un articolo su MSDN che mostra come scrivere sul file
HappySign.exe.config per salvare le impostazioni eventualmente
modificate dall'utente. Lo so, non si fa, ma francamente non capisco perchè.
Perciò, a meno che qualcuno non mi dia una spiegazione più che valida, seguirò
questo metodo che - sinceramente - mi sembra il più logico e lineare. Me ne
assumo le responsabilità.
Ringrazio tutti coloro che mi hanno scritto o che mi hanno lasciato commenti
riguardanti la mia idea. Quando rilascerò la beta di HappySign, spero che
mi aiutiate, perchè il vero succo di HappySign è proprio
l'abilità di creare tante classi che possano fare le cose più disparate
e divertenti. A presto!