Buone pratiche di pessima programmazione

Ovvero, come risolvere un problema velocemente anche se in maniera "poco ortodossa"

Gestione delle seriali virtuali. Deep Inside.

Quanto di seguito è il risultato di esperimenti, studi e ricerche effettuati dal sottoscritto e da altri sull’utilizzo delle seriali virtuali e trascende dalle best practice, perché in questo caso queste o non esistono, o sono destinate a fallire miseramente. Se non vi occupate di firmware, se il vostro concetto di fare hardware consiste nel saper usare il cacciavite a croce per assemblare un pc, allora questo mio sproloquio è per voi assolutamente inutile. Se invece credete che fare hardware sia un’altra cosa, allora potrete trovare nelle righe che seguono qualche informazione utile. Quando il pc si interfaccia con una qualche periferica...

Applicazioni con database: i backup

Prima di entrare nel vivo credo sia necessaria una precisazione: il termine cantinaro ha una derivazione più informatica di quella che credevo, come indica la Treccani. A quanti per propria cultura personale vogliono capire meglio l’etimologia del termine, possono trovare maggiori informazioni sul sito dell’enciclopedia stessa. Come ho già risposto a mr. Antonio TDJ nel suo commento al mio post precedente, la questione di “a chi tocchi fare un backup” non ha una risposta. Molto dipende dai rapporti di affari che si intrattengono con i diversi attori con cui si collabora, ed anche dalla natura degli attori stessi. Il mio “target”...

Applicazioni con database: uscire dalla logica del cantinaro.

La parola cantinaro non l’ho inventata io. L’ho sentita per la prima volta molto tempo fa, sicuramente quando l’anno iniziava ancora con 199 dal mio allora professore di Teoria dei Circuiti Elettronici al Politecnico di Torino, che mi descriveva l’approccio tipico dell’elettronico home made che assembla il suo circuito in cantina, una specie di scienziato pazzo che ogni tanto ne imbrocca qualcuna, che fa cose che funzionano più o meno e che ogni tanto combina qualche disastro. La stessa logica può essere applicata anche alla programmazione, e dalle domande che leggo sui forum che frequento c’è ben poco da stare allegri....

Parliamo di reportistica Parte 2: Stampare le etichette

Continuo il discorso sulla reportistica parlando della stampa di etichette. Purtroppo sarò costretto a spezzare l’argomento in due post, questo ed il prossimo. Questo post è di carattere introduttivo e parla di cose che tutti dovremmo conoscere, ma che offre qualche spunto di riflessione. Un etichetta che cos’è? È un tipo di stampa che riporta su ogni foglio le informazioni riassumibili su un solo record. Dal punto di vista dell’utente (ovvero la persona con QI di scimmia che usa quello che i programmatori creano, ma che paga il loro lavoro) esistono due maniere per produrle. La prima è con una stampante...

Parliamo di reportistica… nel mondo reale

Avvertenza… lasciate ogni speranza o voi che entrate. Questo è il primo di una serie di post sulle mie esperienze a proposito di reportistica. Quando si è agli inizi della propria “carriera” di programmatore si arriva prima o poi a scontrarsi con la produzione di stampe. Quando i mulini erano bianchi… parliamo di quasi 15 anni fa, scrissi il mio primo report per il mio primo programma di bolle e fatture andando a disegnare le linee e le stringhe direttamente sul printdocument. E non fu neanche la cosa più truce che la mia mente malata concepì all’epoca…...

Porte Seriali e VB.NET

Sul forum ho letto (e anche risposto) a parecchie domande che riguardano l’uso e/o la gestione di porte seriali in ambiente .NET. Lungi dall’essere esaustivo come post, e quasi sicuramente pieno di bestialità, mi permetto di illustrare alcuni metodi che ho implementato nei miei programmi, grazie ai quali ho ottenuto comunque buoni risultati. A partire dalla versione 2 del .NET framework, è disponibile una classe SerialPort che permette di gestire in maniera abbastanza completa le porte seriali. Questa classe contiene le funzioni di lettura e scrittura, oltre che di gestione della porta stessa (che ometto di descrivere)...

LOGGARE necesse est.

Recentemente mi sono stati segnalati dei problemi che si verificano sporadicamente, ovvero non sempre, ogni tanto si, spesso no, in due installazioni su circa 400 di un mio programma. Questo blocco si verifica in una routine ben definita, ma sul perche' accada... buio pesto. Ho pertanto deciso di implementare il logging di quanto accade in questa routine. Normalmente uso altri sistemi, molto macchinosi e scomodi. Con l'occasione ho deciso di testare una libreria alternativa alle solite, il TracerX. Il logger e' veloce e molto semplice da configurare ed installare... (se ci sono riuscito io...), ed e' composto da tre file: -...

Bug di visualizzazione nella DotNetBar for Windows Form

La DotNetBar for Windows Form è una libreria (a pagamento) .NET scaricabile dal sito DevComponents e che contiene tutta una serie di drop-in replacement per i controlli di base, con funzionalità e grafica "modificate". Ho verificato un bug nella visualizzazione del componente LabelItem inserito nel componente Bar. Lasciando l'impostazione colori di default ed impostando lo stile grafico a "GLASS", il componente bar viene visualizzato in grigio molto chiaro, mentre il componente LabelItem viene visualizzato in bianco. Morale, praticamente invisibile. Un workaround per questo problema può essere effettuato impostando la proprietà ForeColor del lableItem a "ControlDarkDark" che, nei miei esperimenti, risulta sufficientemente visibile in...