luglio 2005 Blog Posts
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,...
posted @ domenica 31 luglio 2005 09:56 |
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...
posted @ martedì 26 luglio 2005 14:48 |
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...
posted @ lunedì 18 luglio 2005 10:46 |
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 è...
posted @ venerdì 15 luglio 2005 19:57 |
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...
posted @ mercoledì 13 luglio 2005 22:56 |
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...
posted @ giovedì 7 luglio 2005 16:59 |
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...
posted @ lunedì 4 luglio 2005 13:39 |
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
posted @ domenica 3 luglio 2005 09:29 |