gennaio 2010 Blog Posts
Oggi sono diventato scemo per fare un inserimento di una data in MS Access… non ho capito bene il problema e se è un baco, ma praticamente se non converto la data evitando che ci siano i millisecondi access si incazza come una bestia… mahh!! public override void Save(OleDbConnection conn) { string sqlcmd = @"INSERT INTO miatabella (UserName, DteRichiesta) Values (?,?)"; using (OleDbCommand cmd = new OleDbCommand(sqlcmd, conn)) { ...
Quando si producono zip di grandi dimensioni è facile che la memoria aumenti troppo. Con SharpZipLib è facile evitare di saturare la memoria.
Ecco un esempio di codice per zippare una cartella:
public static void ZipFilesToDisk(string inputFolderPath, string outputFile, string password)
{
ArrayList fileNames = GenerateFileList(inputFolderPath); // generate file list
byte[] buffer = new byte[1024 * 8];
using (ZipOutputStream zipOutput = new ZipOutputStream(File.Create(outputFile)))
{
// set compression level
zipOutput.SetLevel(9);
// set password...
L’avevo intravista tempo fa utilizzata in un eseguibile che guardavo con reflector, oggi l’ho provata: carina! Quando si fanno degli eseguibili semplici che magari utilizzano un componente esterno (una reference di una dll esterna) si puo’ fare in modo di distribuire un unico exe con embeddate dentro le dll referenziate. Di solito per avere un unico exe utilizzavo il comando IlMerge e le sue varie GUI, con questa tecnica si fa a meno. Facciamo un esempio: mettiamo il caso che il mio programmino faccia uso di SharpZipLib per produrre degli zip. Per fare in modo di distribuire...
Interessante post che spiega come sviluppare servizi Windows che espongono eventi visibili da applicazioni di utente (su Windows7 e Vista il check 'Allow this service to interact with desktop' non serve)
Questo il link al post.
Avevo già provato in passato il T4 e altri strumenti per generare codice, ma ho sempre installato qualcosa. Oggi ho scoperto (mia ignoranza) che il T4 è già incluso nell’installazione di VSNET 2008… ancora più semplice da utilizzare. Un generatore è utile in molti casi, generazione di SP del DB, di enumerator, di entities, ecc… Per creare un template basta creare un file di testo e rinomarlo in .tt. Una volta salvato verrà generato un file contenente il risultato. Il template: <#@ template language="C#" #> ...
Oggi ho ordinato sul sito redcoon il mio nuovo monitor per casa, un 23 pollici della NEC (NEC EA231WMi nero). Perchè ho cambiato il mio LG che andava bene? Essenzialmente per avere una risoluzione maggiore (1920x1080 contro i 1680x1050 di prima), ma soprattutto per avere un angolo di visione maggiore rispetto a quelli dei monitor ‘economici’: il pannello del NEC infatti non è un comune TN, ma un IPS. Ovviamente sono gusti personali, ma ritengo che questo monitor rappresenti un buon compremesso delle cose che volevo rispetto a prima (tra l’altro non costa eccessivamente 330 euro) ...