May 2007 Blog Posts

VistaTranslator, la grafica finale.

Urca oggi con questa giornata uggiosa, il mio karma ha raggiunto la pace.Dopo una mattina di faccende domestiche, ho dedicato il pomeriggio al gadget, concludendone la fase beta. Chiaramente mi sono sbizzarrito con Photoshop. Di seguito il pannello di ricerca, quello di attesa e per finire, il risultato della ricerca. Per chi ancora non ne fosse al corrente, il teschietto è il mio logo. La grafica è ispirata ad un paio di articoli che ho letto sul Web2 e su questa nuova concezione grafica degli elementi web. Pensavo di mantenere questo Layout e creare le nuove...

VistaTranslator l' XMLHttpRequest.

Per la comunicazione, avendo a disposizione tutte le funzionalità di Javascript su IE, ho ben pensato di usare l' oggetto XMLHttpRequest. Non sto qui a spiegare tutti i passaggi, ma vediamo solamente nel dettaglio cosa dobbiamo fare per accedere ad esempio, ad un webservice. Per prima cosa accediamo al wsdl e vediamo come è descritto il nostro webservice, in questo caso : WebServiceX. Sappiamo che il metodo web si chiama Translate, che ha due parametri in entrata : LanguageMode e Text. Infine nella descrizione ci viene fornito un elenco delle possibili traduzioni. In questo caso per ovviare a futuri bug,...

L' interfaccia web2 per il Gadget.

Oggi voglio sbizzarrirmi con Photoshop CS2 e lasciar perdere per un giorno il codice. Non so perchè ma oggi si è riaccesa in me la fiammella del web designer. Che sia un primo segno di cambiamento? Comunque, con l' avvento di AJAX ed altre tecnologie, per fortuna, anche la grafica web sta subendo un brusco cambiamento, sopratutto con l' avvento di Vista che ha introdotto questa nuova interfaccia grafica (Aero) in grado di rappresentare il tipico effetto Glossy. Tornando all' interfaccia ormai sappiamo quali sono le sue dimensioni quindi non ci resta che iniziare aprendo PS e creando un' immagine...

Localizzazione per il Gadget.

Grazie ad un utilissimo intervento di Nicolo' Carandini, blog, mi hanno fatto notare che se per un Gadget viene prodotta solamente la cartella che identifica la lingua inglese, quindi del tipo en-US, quando il gadget viene installato su un OS Vista con lingua differente, quest' ultimo non è visibile dal sistema. Quindi siccome a parer mio un Gadget per la traduzione deve essere installabile nella maggior parte dei sistemi, ho pensato di Uploadare subito la verisone Beta con le 4 lingue da me conosciute. Saranno: it-IT, en-US, fr-FR, de-DE. Chiaramente se qualcuno conosce altre lingue e vuole partecipare al progetto,...

CD2 vediamo a cosa parteciperei ...

Eccomi Tra "IIS 7.0 vs. ASP.NET (Bochiccio)" e "Gestire la codebase con Team Foundation Server (Barbieri)" Sicuramente IIS, visto che è il mio pane.  Tra "Client-side AJAX in ASP.NET (Esposito)" e "Sviluppo e debug di UDF con SQLCLR e VS2005 (Paparelli)" Beh anche qui, per una volta che riesco a vedere e non a leggere Esposito, per nulla potrei perdermelo.  Tra "ASP.NET: Advanced AJAX (Esposito)" e "BizTalk vs. servizi WCF (Crudele)" BizTalk? No grazie lo lascio ai sistemisti. Vai di AJAX!!  Tra "ASP.NET: implementare ModelViewPresenter mediante la Microsoft Web Client Software Factory (Sudano)" e [ancora da decidere] E bisogna vedere, solamente una sessione di Mauri...

CrystalReport, C# e DiscreteParameter.

Sono diversi anni che lavoro con CrystalReport e credo non lo abbandonero' mai. Insomma se si impara ad usarlo correttamente, si possono produrre anche report efficienti in breve tempo. Stranamente oggi sto sbattendo la testa su un problema basilare e decisamente stupido, del quale pero' ne sono venuto a capo e voglio rendervi partecipi. Allora, per prima cosa dobbiamo parlare di questi DiscreteParameters. In pratica CR ci consente di creare dei controlli nel nostro report che riceveranno uno o piu' valori a run-time, ma non dal DBMS a cui è collegato, ma dal codice ... Il mio problema oggi era che...

Il codice HTML del gadget VistaTranslator. #01

La struttura. Adesso che abbiamo definito il gadget graficamente, o per lo meno ci abbiamo provato; dobbiamo costruire la struttura html della pagina che lo rappresenta (?). Per impaginare una pagina html ci sono diversi modi. Voglio citare quelli che a parer mio sono i piu' diffusi. Il primo, super-obsoleto, è l' impaginazione tabellare. Ovvero, includere tutti i contenuti in una tabella html senza bordi. Il secondo, definito anche come box-model, è l' impaginazione tramite DIV o pannelli. La struttura del gadget sarà ad albero, quindi avremo qualcosa del genere :<div id="contenitore"> <!-- Pannello per l' attesa//--> <div id="waiter"></div> <!-- Pannello per il titolo//--> <div id="header"></div> <!-- Pannello...

Lo scheletro grafico di VistaTranslator.

Considerazioni. Oggi voglio illustrarvi la struttura grafica di base del gadget. Da qui bisogna fare subito delle premesse prima di cominciare. Nota: per scrivere questi post sto usando WLW beta su Vista, quindi se le immagini postate non sono quelle reali, il motivo è dato dalla mia inesperienza con questo strumento ... Facendo un semplice PrintScreen del desktop e importando il risultato in Photoshop sono arrivato alla conclusione che la sidebar di Vista non occupa piu' di 150 px come larghezza. Quindi, sicuramente il gadget non dovrà superare i 120 px. Stiamo lavorando con IE7, quindi se al...

La Struttura del Gadget.

Dopo aver creato la mia icona, voglio costruire la struttura del gadget, in modo tale da attenermi al suo standard. Per prima cosa dobbiamo dire che un gadget di Vista, anche se ha una strana estensione di tipo .gadget, non è altro che una cartella compressa con il sistema .zip. Avremmo anche potuto usare un sistema di tipo .cab. Quindi, in questo contenitore dobbiamo inserire nel seguente ordine: Un' immagine in formato .png (è meglio) che rappresenta l' icona del gadget. Se usiamo le trasparenze, Vista sarà in grado di riconoscerle e sfruttarle. Il nome sarà icon.png. Un'...

Asyncrono con C#

Oggi voglio affrontare l' argomento delle chiamate Asyncrone. Prima una piccola e breve premessa. Spesso ci capita di dover eseguire del codice ma senza bloccare l' applicazione che lo sta eseguendo. Allo stesso tempo vorremmo magari poter gestire e monitorare l' esecuzione di questo codice. Altre volte la necessità è quella di eseguire diverse operazioni simultaneamente, o magari, vorremmo che una volta eseguita un' operazione in BackGround, al suo termine vorremmo eseguirne un' altra. Insomma, spesso ci capita di voler lavorare in MiltiThreading. Oggi avro' il piacere di illustrarvi come usando C# e il NET Framework. Per prima cosa dobbiamo...

Creazione dell' icona.

Oggi come prima parte del mio gadget per vista, mi sono sbizzarrito nel creare un' icona decente che fosse ben renderizzabile dal sistema Vista. Per fare cio' ho creato un' icona in due formati, il primo a 128 e il secondo a 256 px. Il tutto tramite Photoshop CS2 che verrà poi esportato in un file .ico. Di seguito vi allego un' immagine in formato PNG che sarà poi l' icona definitiva del mio Gadget.

Pronti, partenza via.

Oggi inizio il mio primo progetto OpenSource gestito totalmente in C# 2. Si chiama VistaTranslator e verrà aperto e gestito su CodePlex .Nel mio Blog ho aperto questa apposita sezione per tenervi aggiornati sulle versioni e sui vari passaggi. Di cosa si tratta? Inanzitutto vediamo di cosa stiamo parlando. Per Vista Gadget si intendono dei particolari programmi sviluppati per poter essere usati e gestiti nella nuovaSideBar di Vista, il nuovo sistema operativo di casa Microsoft.Nel caso specifico, questo Gadget sarà in grado di connettersi e di sfruttare i webService messi gratuitamente a disposizione da BabelFish, il famoso toolfree per la traduzione on-line...

Microsoft Connect ed i suoi benefici.

Tempo fa  mi ero iscritto per diverse issue su Microsoft Connect. Poi per il troppo lavoro, non ho ben seguito gli items che avevo aperto. Oggi ci sono finito per caso e ho scoperto che avendo in parte risposto nel tempo a questi issue ho guadagnato diversi privilegi che mi hanno lasciato a bocca aperta, chiaramente soddisfatto. Tra le varie, io che le rincorro da tempo, ho ricevuto ben 100 icone da iconBuffet nonchè altre chicche tra le quali anche un DataGrid molto evoluto. Evvai!!

DataTable da DataReader con AS400.

Oggi non ho voglia di sprecare inutilmente oggetti ...Quindi siccome devo creare una classe per accedere a dei dati su un sistema remoto di tipo AS400, ecco cosa mi è venuto in mente. Per prima cosa mi serve una classe, che ho chiamato Mik_as400. Non sto qui a spiegare la logica della sintassi che uso. Mi dichiaro qualche Fields che non fa mai male :private String _connString; private iDB2Connection dbConn; private iDB2Command dbCmd; private iDB2DataReader dbDr; private iDB2DataAdapter dbDa; Fatto cio', ho bisogno di un metodo che mi Costruisce la DataTable, perchè io non conosco i nomi dei campi della mia query ... private DataTable...

La sicurezza ... dal cliente.

Il cliente dal quale lavoro attualmente adotta la Policy piu' strana in assoluto per gestire la sicurezza. In questo momento sto sviluppando un' interfaccia NET per operare su dati remoti di un sistema AS400. La solita zuppa insomma.La prima cosa, molto strana, è che con il mio PC di consulente non posso connettermi alla rete, specifico, alla rete non al dominio.Quindi per emulare i dati ho dovuto esportare un file XML di 1Gb da AS400 verso il mio laptop. A questo punto ho sviluppato 2 Business Layer perl' accesso ai dati, uno per la base dati XML e uno per quella...