martedì 13 maggio 2008

Lazarus per linux - Reports


Lazarus è un IDE (ambiente di sviluppo) del linguaggio di programmazione Free Pascal. E' compatibile con il linguaggio Delphi di Borland. Lo sto utilizzando per sviluppare alcune procedure software in ambiente linux. Il progetto Lazarus è in fase embrionale (versione 0.9.x Beta) e la documentazione davvero scarsa. Per chi ha sviluppato in Delphi per anni come me, la cosa non rappresenta un grosso problema, ma in alcuni casi serve sempre ancora un pò di supporto, specie per quei componenti "nuovi" che in Delphi non ci sono o sono diversi. Allora, per contribuire, visto che non ho trovato indicazioni in rete, voglio pubblicare qui alcuni "tutorial" che possano essere utili a chi inizia o non ha troppo tempo da perdere nel cercare fra i forum in inglese e le varie wiki perennemente under development...
Iniziamo con i componenti per creare i report (le stampe) con un esempio minimale. Vogliamo creare dei report da un database MySQL su un server remoto (host) utilizzando i componenti ZeosDBO per l'accesso alle tabelle.
Passo 1 - Creare un nuovo progetto con la classica form1. Ci mettiamo un Bottone per lanciare l'esecuzione dei componenti
Passo 2 - depositare nella form i seguenti componenti:
  • ZConnection1
  • ZTable1
  • frDBDataset1
  • frReport1
  • Opendialog1
Passo 3 - Colleghiamo i vari componenti e settiamo le proprietà minime per farle funzionare (alcune proprietà le mettiamo "hardcoded" a design time, anche se è semplice farlo a run-time
Proprietà ZConnection1
  • Hostname = 192.168.2.x (dipende dalla tua rete locale) è l'indirizzo del server ove è installato il database. indica "localhost" se apache risponde sulla macchina su cui stai lavorando.
  • User = il nome dell'utente abilitato ad accedere
  • Password = la password di autenticazione abbinata all'utente (senon ce l'aqhi chiedi all'amministratore della rete o al provider se ti sati collegando ad un server su internet)
  • Protocol = mysql-5 in questo esempio. dipende dal tipo di archivio che stai usando.
  • Catalog = nome del database (compare in un menu drop-down dopo aver settato host, user e password)
  • Database = scrivilo a mano uguale al nome del Catalog se si tratta come in questo esempio di un database remoto
  • Active=True

Proprietà ZTable1
  • Connection = Zonnection1
  • Active=True
Al termine con un doppio click sul componente sulla form sei in grado di aggiungere i campi che desideri gestire.

Proprietà frDBDataset1
Va collegato a Table1

Proprietà frReport1
Va collegato a frDBDataset1

Passo 4 - Ora passiamo alla scrittura del codice per attivare il disegnatore dei report, con salvataggio e stampa.
Per lanciare il designer basta chiamare la procedura DesignReport come segue, in concomitanza all'evento OnClick del Bottone:

frReport1.DesignReport;

Una volta creato e salvato il report, per aprirlo ed eseguirlo basta la seguente procedura:
if Opendialog.execute then
begin
frReport.LoadFromfile(Opendialog1.filename);
frReport.Showreport;
end;

Nei prossimi giorni prometto, forse, di ampliare le indicazioni e completarle. Adesso, dopo 15 ore di lavoro, mi prendo una pausa per andare a dormire. Buona notte

P.S. Il pollo è cotto. Ripeto: il pollo è cotto.

Il pitale del nonno

Fra le "cianfrusaglie" che mi ostino a non buttare, sia per spirito ecologico che per combattere il consumismo dilagante che imperversa in questi tempi, ho trovato un vecchio mobile dall'aspetto strano. Era un pò che campeggiava sugli scaffali della falegnameria di casa. Mi sono sempre chiesto da dove venisse e cosa fosse. Dopo essermi informato presso i parenti, scopro che è il "cesso" che utilizzava mio nonno.
A quei tempi, quando i bisogni si andava a farli all'esterno, avere i servizi in casa era un lusso per pochi ricchi. Quello di cui parlo è il modello che usava prima di installare la tazza con lo sciacquone che utilizzava l'acqua piovana raccolta in una cisterna in granaio (soluzione davvero ecologica). Anche quest'ultima soluzione era una novità all'avanguardia per quei tempi ed un lusso per pochi.
"La tazza" è un cubo di legno, con all'interno un supporto che porta il vaso di porcellana, chiuso da un coperchio esterno incernierato e con all'interno due coperchi rotondi. Nell'indagare, scopro inoltre che quel pirla di mio cognato ha bruciato in un falò delle vecchie imposte di legno della casa di mio nonno, di quelle con cerniere e maniglie in ferro battuto a mano. Deficiente! Ora che in una vecchia casa "ristrutturata" hai le persiane di plastica ed i mobili dell'ikea dovresti sentirti contento ed orgoglioso no? (cretino di un giometra!).
Purtroppo, per il pitale miracolosamente salvato dal piromane, qualcuno ha in precedenza tentato di recuperarlo, passandoci la carta vetrata e togliendo così la patina originale che gli conferiva un aspetto "antico". Il restauratore "faidate" mi ha detto che l'odore "di piscio" era troppo forte ed ha preferito abbandonare (per fortuna) il massacro. Francamente, dopo più di cinquant'anni, non si sente nessun odore. Il pitale è stato per lungo tempo il ristorante dei tarli più grossi del mondo. Un paio di piedini sono corrosi dall'umidità e richiedono una ricostruzione. Le cerniere del coperchio esterno sono in ferro arrugginito, fissate con dei chiodi fatti a mano. Decido di conservare il più possibile, senza eliminare i buchi dei tarli (ho sentito che danno valore al pezzo). Ci passo però delle abbondanti pennellate di "tarlistop" per porre fine al banchetto a sbafo. Per i piedini, non ho attrezzature e legni da restauro. Decido di stuccare e ricostruire.
Il legno e la struttura sono comunque solidi e ben fissati da non richiedere incollature extra o fissaggi particolari. Lascio tutto com'è e ci passo un paio di mani di vernice impregnante all'acqua. Poi due mani di vernice satinata e dovrei riuscire a conferirci un aspetto decente per arricchire l'arredo della casa della mia compagna (tat). Nelle prossime puntate alcune foto e i passi di come procede il lavoro. In attesa..un abbraccio.

P.S. La mensa è imbandita. Ripeto: La mensa è imbandita.

lunedì 12 maggio 2008

Cornici fai da te


Devo proprio essere stressato in questo periodo, se per pensare ad altro mi sono impegnato nella costruzione di alcune cornici di legno. Ho, da non ricordo quanto tempo, delle riproduzioni di alcune foto d'epoca, ricavate da un calendario che mi era stato regalato tempo fa da un fotografo. Saranno i soggetti, la pergamena ingiallita, lo stile retrò..mi piacciono ed ho deciso di incorniciarle. Non fate caso alla qualità delle foto. I quadretti hanno ancora la pellicola protettiva (si nota). Ho dovuto inoltre, per ragioni di spazio, ridurre la risoluzione ad un livello accettabile per dare un idea del lavoro finito.

Per fare le cornici, la cosa più importante è fare i tagli perfettamente a 45 gradi. Senza una troncatrice non è facile. Seghetto a mano, tanta pazienza e precisione. Nonostante il lavoro manuale, le giunture sono venute benissimo, senza fessure o antiestetici spazi. Per fissare i lati mi sono aiutato con un attrezzo che mi sono auto costruito (copiato da uno che avevo visto al brico e che costava uno sproposito). Quattro angoli a 90 gradi, dove all'esterno passa un filo di nylon (resistente) che parte da una molla di tensione e termina su 3 viti sporgenti che mi permettono di fissarlo. Il tutto assicura una buona pressione, adatta a far uscire la colla in eccesso (che va ovviamente rimossa accuratamente altrimenti la vernice "non attacca"). Per finire, una mano di vernice, color noce ovviamente (ne vado matto) anche se il legno utilizzato aveva una tonalità più che ottima.

Per finire una passata di cera d'api per proteggere il tutto. Al posto del vetro ho utilizzato del plexyglass, tagliato a mano con un taglierino professionale. Il fondo nel retro è fatto con materiale di recupero, salvato anche questo dalla discarica. Completa la copertura posteriore un foglio di carta da pacchi marrone, con dedica e firma autografa.
Ne ho approfittato anche per incorniciare il calendario dell'anno bisestile 1988 di una notissima azienda che produce grappa (che però non bevo, in quanto non mi piace). Anche queste, come gli oggetti restaurati in precedenza, le darò alla mia compagna, che si deve ri-arredare la casa dopo l'incendio che l'ha distrutta. Il nido sta venendo proprio bene, pian piano, pezzo per pezzo, con tanta pazienza e nonostante le finanze limitatissime. Sono contento di poterle dare una mano, che di sfortuna ne ha avuta davvero tanta. A presto e...un abbraccio.

P.S. Nuvole e venti da sud-ovest. Ripeto: Nuvole e venti da sud-ovest.

Riparazioni IV

L'informatica, lo sviluppo di software, l'elettronica e la progettazione... sono lavori stressanti se protratti per lungo periodo senza riposo. Allora, per distrarmi, ho deciso di restaurare una vecchia sedia di legno che la mia compagna, sapendo dei miei hobbyes e dei miei interessi nel lavoro manuale, mi ha affidato "per darci una sistemata".
Il mio carattere estremamente pignolo e metodico, il perfezionismo e la mania di strafare hanno scatenato una serie di scelte che hanno prodotto un buon risultato.
Di ri-impagliare la vecchia sedia nemmeno a parlarne. Non lo so fare (per ora). Decido allora di restaurare il legno e dargli una tonalità noce. Smontaggio pezzo per pezzo (facilitato dal fatto che una volta non si usavano le colle sintetiche di oggi) e carta vetrata. Dopo aver riportato il legno al suo stato naturale (togliendo anche alcune macchie di vernice) mi accorgo che la parte delle gambe che poggia a terra è rovinata dall'umidità. La seggiola (che usava la mia compagna per giocare quando era piccina) è rimasta per molto tempo a contatto con la terra battuta, accanto una cisterna di acqua potabile (cisterna che non tiene nemmeno tanto bene). Il legno pertanto tende a sgretolarsi. Decido di adottare la tecnica conservativa e impregnare il tutto con un prodotto apposito, che dovrebbe dare un pò di consistenza. Una mano finale di vernice color noce ed il tutto è fatto. Manca la seduta. La seggiola si dovrà inserire in un arredamento rustico. Travi (a vista) e pavimento in legno. Pareti in arancio anticato veneziano (un lavoraccio che per regalo ho fatto da me in un paio di giorni) in un salotto con arredamento in ferro battuto. Serve una seduta importante, antica e preziosa allo stesso tempo. Vado dal mio tappezziere/fornitore e mi procuro uno scampolo di stoffa rosa damascato (spettacolare). Già che ci sono mi faccio regalare anche una fettuccia per il bordo e la stoffa per coprire la parte inferiore della seduta. Un paziente lavoro di intaglio del legno, posizionamento della gommapiuma e conseguente fissaggio della stoffa con la graffettatrice, completa quello che per me è un vero capolavoro.
Ancora una volta una vecchia sedia che a vederla veniva voglia di buttare in discarica, diventa un pezzo d'arredamento prezioso e stupendo. Ne sono orgoglioso e quasi quasi mi dispiace di restituirla. E' una sorpresa che farò alla mia donna. Ci è affezionata a quella seggiola. Amore mio....quanto ti amo.

P.S. Le fragole sono mature. Ripeto: Le fragole sono mature.