luglio 2005 Blog Posts

Le vicissitudini a cui si va incontro quando si cambia portatile

Queste brevi note solo per esporre al pubblico ludibrio la mia senzazione di inadeguatezza di fronte al grado di complessità raggiunto da hardware e software. Spesso ormai compriamo delle cose che non ci servono fino in fondo ad esempio: "Che me ne faccio di una scheda grafica con 128 Mb di ram quando non faccio grafica?".   Ci sono anche dei risvolti economici proviamo a chiedere al venditore: "Visto che sono abbonato a MSDN potrei avere il pc senza sistema operativo?" (una risata è la risposta più gettonata!).   Dove però mi sento veramente in mutande è il travaso dei dati e delle applicazioni. Per quanto,...

Access Recuperare nel DataSet la Chiave autonumber generata dal database

Con ADO e DAO il recupero dell'ultima chiave autonumber inserita su una tabella di Access poteva avvenire direttamente "builtin nel motore" tramite il recordset connesso oppure mediante l'istruzione SELECT @@IDENTITY data sulla stessa connessione aperta che aveva fatto il comando sql "INSERT INTO".Con l'avvento di ADO.NET, visto che sostanzialmente è  una gestione dei dati disconnessa, dei due metodi è rimasto solo il secondo.Su ciascuna tabella locale mappata nel DataSet agisce un particolare DataAdapter (un DataAdapter per tabella ovviamente!).Su ciascun DataAdapter automaticamente (dal CommandBuilder) o manualmente (dal programmatore) sono impostati i relativi 4 comandi sql possibili Insert, Update, Delete, Select.Ciascuno dei comandi...

Votive un nuovo tool per Visual Studio 2003

Votive, forse per noi italiani mai nome è stato più "azzeccato", è un nuovo strumento / add-on per Visual Studio 2003 dedicato alla preparazione dei setup di installazione. Si tratta di uno strumento molto interessante, molto più leggero del tool ufficiale di installazione. Provare comunque non fa male!. Come la sua base di riferimento Wix è stato sviluppato con strumenti .NET, il che lo rende particolarmente appetibile, soprattutto per il fatto che sono disponibili anche i sorgenti (quasi una rarità visto che si tratta di uno dei pochi progetti open source sponsorizzati da Microsoft). Naturalmente se si fa una ricerca su SourceForge esce una serie di altre...

Come creare un foglio Excel senza avere Excel installato

Seguendo un thread ho letto una richiesta di qualcuno che aveva bisogno di creare  e gestire un foglio excel e di gestirlo da VB6. Ho fatto la stessa cosa anche per C# non credo ci sia bisogno che lo dimostri anche su VB.NET . Questa la versione per C#   Questa la mia soluzione.   Aprire un nuovo progetto VB6 Aggiungere il riferimento ad ADO   Senza avere l'automazione di Excel a disposizione bisognerebbe utilizzare ADOX. Sfruttando una feature di ADO / SQL è possibile invece generare un nuovo foglio in una nuova cartella di lavoro excel oppure aggiungere un foglio ad una cartella già esistente.   Quello che conta è...

MaxScanRows e lettura di un file Excel tramite una connessione ADO

Questo per segnalare, magari è la scoperta dell'acqua calda che il parametro MaxScanRows non funziona correttamente.   Il parametro impostato a zero dovrebbe consentire la lettura di tutto il file per determinare il tipo di ogni colonna.   E' il caso di una particolare colonna che ha ad esempio quasi sempre valori numerici e contiene anche qualche valore testuale.   Se durante lo "scan" delle righe ADO decide che una particolare colonna contiene valori numerici quando incontrerà dei valori anomali li salterà immettendo dei null nel nostro record "importato" al posto del valore anomalo.   Un esempio, inserire un nuovo foglio con 2 colonne intestate es: Codice Descrizione Sulla...

Salvare come icona una bitmap contenuta su una imagelist

Qualche volta a me è capitato di avere la necessità di salvare come icone distinte le bitmap contenute all'interno di una ImageList.   Per ottenere le icone ho relizzato il seguente metodo a cui bisogna passare la ImageList da cui estrarre l'icona, il numero di posizione (attenzione agli array che iniziano da zero!) ed il nome del file da salvare.   C# private void SalvaIcone(ImageList ImgList,int Numero, string NomeFile) {   Bitmap oBitmap = (Bitmap) ImgList.Images[Numero];   Icon myIco = Icon.FromHandle(oBitmap.GetHicon());   System.IO.FileStream fileIco = new System.IO.FileStream(NomeFile,System.IO.FileMode.OpenOrCreate);   myIco.Save(file);   fileIco.Close(); }   VB.NET Private Sub SalvaIcone(ByVal ImgList As ImageList, ByVal Numero As Integer, ByVal NomeFile As String)   Dim oBitmap As Bitmap = CType(ImgList.Images(Numero), Bitmap)   Dim...

Funzione MAX - Select su DataTable e DataView

Ho sperimentato sulla mia pelle che la funzione MAX ha un piccolo problema. Effettua il controllo sul dato "Original" ed emette un errore: System.Data.VersionNotFoundException nel caso vi siano dei nuovi dati aggiunti e che quindi le righe siano nello stato di Added. Fare la prova è molto facile: Si inserisce una DataGrid in una form Si inserisce una DataView Si Popola la DataGrid collegandola alla DataView Si inserisce un nuovo record sul DataView Si inserisce un TextBox su cui introdurre il filtro contenente MAX Si applica il filtro (il textbox contiene il testo in rosa): dvDati.RowFilter = "(DataProva = MAX(DataProva))";   Se non ci sono righe inserite funziona, appena si...

Posizionamento iniziale MDI Child Form

Questo piccolo appunto su come agire per stabilire la posizione iniziale di una child form Private Sub PosizionaChild(FormType As Type)         Dim fm As Form = CType(Activator.CreateInstance(FormType),Form)         fm.MdiParent = Me        fm.StartPosition = FormStartPosition.Manual        fm.Location = New Point(Me.Left + (Me.Width - fm.Width) / 2, Me.Top + (Me.Height - fm.Width) / 2)        fm.Show()End Sub

Copyright © Luciano Bastianello

Design by Bartosz Brzezinski

Design by Phil Haack Based On A Design By Bartosz Brzezinski