Pubblicato da Mario De Ghetto su 11 Novembre 2009
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 10 Novembre 2009
Segnalo l’evento in oggetto, nei giorni 24-25-26 Novembre 2009 ad Assago (MI). E’ un evento per professionisti, con numerosissime sessioni tecniche di altrettanto numerosi speaker di fama nazionale e internazionale. Farà il suo debutto anche Alessandro Del Sole, Microsoft MVP nella categoria Visual Basic.
Io parteciperò all’evento solamente nella giornata del 25 Novembre (purtroppo!), in veste di Microsoft MVP. Mi troverete allo stand Microsoft, allestito per l’occasione, storicamente denominato “Ask The Expert” (ATE).
Se volete venirmi a conoscere, mi farà un grande piacere. Parleremo di Visual Basic, di .NET e della Community DotNetWork.it.
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 22 Ottobre 2009
Da questa pagina potete scaricare gratuitamente e senza registrazione il “Visual Studio 2010 and .NET Framework 4 Training Kit – October Preview” che contiene moltissimo materiale costituito da documentazione, slide, esempi di codice sulle novità delle nuove versioni di Visual Studio e del Framework .NET.
Tutto il materiale pubblicato è aggiornato alla Beta 2.
Vi invito quindi a scaricarlo per cogliere questa meravigliosa opportunità di conoscere le novità che avrete a disposizione con le nuove versioni dell’ambiente di sviluppo e del Framework .NET.
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 19 Ottobre 2009
Sembra che la data di lancio di Visual Studio 2010 sia prevista per l’inizio della primavera 2010 e precisamente per il 22 Marzo.
Confrontate qui la notizia che, a quanto ne so, non è ancora ufficialmente confermata da Microsoft:
http://www.theregister.co.uk/2009/10/19/visual_studio_2010_second_beta_packaging/
“Also, Microsoft will announce Visual Studio 2010 will officially launch on March 22, 2010.”
Attendiamo di poter mettere le mani sulla Beta 2, nell’attesa della versione finale
Pubblicato su VS 2010 | Lascia un commento »
Pubblicato da Mario De Ghetto su 13 Ottobre 2009
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 12 Ottobre 2009
Salvo imprevisti lavorativi o familiari, all’evento ci sarò anch’io, allo stand “Ask To Experts” di Microsoft, in qualità di MVP per la categoria Visual Basic.
Ci sarò solo per una giornata, data la mia distanza da Milano, e non ho ancora deciso quale delle tre giornate (24-25-26 Novembre 2009), anche se propenderei per la prima (Martedì 24). Vedremo in base agli impegni…
Se qualcuno di voi si è iscritto all’evento, venga pure a conoscermi e a farsi conoscere!
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 7 Ottobre 2009
Pubblicato su Novità | 1 Commento »
Pubblicato da Mario De Ghetto su 5 Ottobre 2009
Se avete la necessità di verificare lo stato della coda di stampa predefinita, potete utilizzare il namespace System.Printing che trovate però solo dal Framework .NET 3.0 in poi.
Per prima cosa dovete aggiungere un riferimento a System.Printing nella scheda Riferimenti delle proprietà del progetto.
Una volta aggiunto il riferimento, utilizzate un codice simile a questo:
Imports System.Printing
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
Handles Button1.Click
Dim ps As New LocalPrintServer()
Dim pq As PrintQueue = ps.DefaultPrintQueue
Dim err As Boolean = pq.IsInError
If err = True Then
MessageBox.Show("Errore di stampante")
Else
MessageBox.Show("Nessun errore di stampante")
End If
End Sub
End Class
Pubblicato su Novità, Tips, VB 2008, VS 2010 | Lascia un commento »
Pubblicato da Mario De Ghetto su 3 Ottobre 2009
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 1 Ottobre 2009
Ho appena ricevuto la conferma da Alessandro Teglia di Microsoft Italia: oggi sono stato riconfermato nel ruolo di Microsoft MVP per un altro anno!
Non potete immaginare la felicità che mi ha suscitato questa notizia.
Si ricomincia un altro bell’anno di suggerimenti, post, articoli, screencast e chi più ne ha più ne metta (bè, questo indipendentemente dalla nomina a MVP…).
Grazie a Microsoft, ad Alessandro Teglia e a quanti hanno creduto e credono ancora in me.

Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 1 Ottobre 2009
Dopo aver riflettuto a lungo ho preso una decisione, sofferta ma necessaria: sono uscito dal Team di Visual Basic Tips & Tricks. In quella Community resto come semplice iscritto, continuando a rispondere nelle liste e, se mi sarà consentito, a postare nel mio blog http://community.visual-basic.it/mario.
Tuttavia d’ora in poi pubblicherò il mio materiale anche su DotNetWork (http://www.dotnetwork.it), sperando di poter dare il mio contributo alla crescita di questa promettente Community. Certo, lì non ci sono quasi 40.000 iscritti, ce ne sono circa 500 … ma non ho dubbi sulle potenzialità di crescita, anche per le ottime capacità dei fondatori.
Insomma, d’ora in poi ci troveremo anche nel nuovo blog http://community.dotnetwork.it/mario.deghetto/Default.aspx.
Grazie ad Alberto e agli altri per l’accoglienza che mi hanno riservato!
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 30 Settembre 2009
La nuova Community di Roma, DotNetRomacestà, organizza un evento per il 21 Ottobre 2009 a Roma.
Tra gli speaker già accreditati, ben due MVP molto noti: Luca Bianchi e Simone Chiaretta.
La pagina ufficiale dalla quale ci si può iscrivere all’evento si trova qui: http://www.dotnetromacesta.org/EventoGladiatori.aspx.
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 19 Settembre 2009
E’ nato il nuovo blog per il supporto tecnico per sviluppatori marchiato Microsoft: si chiama ITASUPPORT e si trova all’indirizzo http://blogs.msdn.com/itasupport/.
In pochi giorni il team che mantiene il blog ha pubblicato ben 7 post, quindi buona lettura e auguri al team per il successo dell’iniziativa!
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 9 Settembre 2009
Da qualche tempo è nata la nuova piattaforma per i forum Microsoft e una parte di questa è preposta ad ospitare alcuni forum di Microsoft Italia.
L’indirizzo dei forum italiani è il seguente: http://social.microsoft.com/Forums/it-IT/categories
Da oggi, poi, sono stati creati anche alcuni forum dedicati agli sviluppatori, per le seguenti tecnologie/linguaggi:
- ASP.NET
- Silverlight
- Visual C#
- Visual C++
- Visual Basic (creato su mia proposta)
Ovviamente per il momento non ci sono dei contenuti interessanti, dato che sono appena stati creati.
Mi sembra però importante pubblicizzarli in modo da utilizzare anche questo nuovo strumento per condividere le nostre conoscenze.
Quindi … “social-forum-izziamoci”
Pubblicato su Novità, Programmazione | 4 Commenti »
Pubblicato da Mario De Ghetto su 31 Agosto 2009
E’ con vero piacere che annuncio l’uscita del mio nuovo libro: questa volta la “vittima” si chiama SQL Server 2008.
Il libro è intitolato “SQL Server 2008 Guida all’uso”, costa 35 Euro ed è edito sempre da FAG Edizioni di Milano.
Gli ultimi due capitoli contengono alcuni progetti di Visual Basic 2008 per l’accesso a SQL Server 2008: il penultimo riguarda l’utilizzo delle stored procedure da codice, mentre l’ultimo capitolo è interamente dedicato a Visual Basic 2008 in “sinergia” con SQL Server 2008.
Ringrazio infinitamente Luca Bianchi (Microsoft MVP su SQL Server) che si è prestato gentilmente a leggere, commentare e spesso a correggere i miei “strafalcioni”. Per un “guru” quale è lui è stata quasi una tortura
Come sempre sottolineo la mia disponibilità nel ricevere i vostri commenti, con l’impegno di migliorare sempre di più la qualità dei contenuti.
Grazie!
Pubblicato su Libro SQL Server 2008, Novità, SQL Server, VB 2008 | 1 Commento »
Pubblicato da Mario De Ghetto su 30 Agosto 2009
Sono intervenuto con un mio commento nel newsgroup microsoft.public.it.dotnet.vb, dove Daniele scrive così (messaggio di oggi 30 Agosto 2009, ore 02.06):
“Ciao a tutto il NG,
la mia esperienza (quella con VB) iniziò vari anni fa con VB6, poi ho programmato in .NET 2003, 2005, e 2008.
Tutto per passione, ho iniziato da autodidatta e in seguito approfondito i concetti più complessi con alcuni libri.
Adesso "scopro" (in realtà lo sapevo già) che a scuola inizieranno ad insegnarci il VB6.
E mi chiedo il motivo, visto che ormai è una tecnologia obsoleta, abbandonata da Microsoft e con potenzialità nettamente inferiori a quelle offerte dalla piattaforma .net.
Io dovrei cambiare mentalità e tornare agli On Error, alle chiamate API, agli oggetti poco oggetti, a molte brutture e a tutte le mancanze delle comodità di oggi? Va bene per chi lo usa da sempre per lavoro, ma per chi inizia da zero non mi sembra una scelta azzeccata.
Perché? Esiste un motivo valido nel preferire VB6 alle altre possibilità? Oppure è una scelta dettata dalla convenienza, non necessariamente economica?
Mi piacerebbe sentire l’opinione di qualcuno sicuramente più esperto
di me.
Ciao!”
La mia risposta è la seguente:
“Ciao Daniele.
I tuoi dubbi sull’opportunità di utilizzare VB6 come linguaggio didattico sono perfettamente legittimi, per vari motivi.
Tuttavia, sin dall’uscita di alcuni miei articoli, all’inizio del 2005, sul passaggio da VB6 a VB.NET (all’epoca c’era la versione 2005), ho avuto l’occasione di avere diversi scambi di e-mail anche piuttosto "infuocati" con alcuni insegnanti appassionati di VB6.
Questi insegnanti argomentavano che, dopo aver creato tanti programmi didattici in VB6, avrebbero dovuto convertire tutto alle nuove versioni per .NET, con la necessità di ristudiare completamente Visual Basic, visto che la programmazione a oggetti è cosa ben diversa da quella che avevano utilizzato fino a quel momento.
Non capivano la necessità di dover "ricominciare da capo" solo per la pretesa di Microsoft di imporre un nuovo linguaggio, chiudendo completamente i ponti con i programmatori VB6 che erano perfettamente soddisfatti del linguaggio che conoscevano a menadito.
Le discussioni di questo genere sono andate avanti un bel po’, ma non mi è stato possibile convincere questi insegnanti della validità della scelta di Microsoft nel proporre finalmente un linguaggio totalmente orientato agli oggetti.
Del resto, finché anch’io programmavo in VB6, inizialmente ho avuto anch’io qualche difficoltà nel passaggio da VB6 a VB 2005, sebbene io avessi anche già programmato in JAVA (linguaggio anche questo completamente a oggetti, già da tempo) all’università.
Il problema, quindi, è una prima resistenza iniziale relativa alla necessità di imparare una nuova "forma mentis", prima ancora di imparare il nuovo linguaggio.
Non posso quindi che considerare negativamente quegli insegnanti che si chiudono a riccio nel loro "storico" modo di insegnare, con strumenti obsoleti, e che non vogliono guardare un po’ più in là del proprio naso, per ottusità e/o per pigrizia.
Peraltro gli insegnanti fanno quel lavoro proprio perché hanno voluto dedicarsi alla formazione dei giovani e quindi la loro prima “mission" dovrebbe essere proprio quella di insegnare l’apertura mentale che è alla base dello studio e della ricerca scientifica.
Con l’ottusità e il "piccolo comodo orticello" non si va da nessuna parte.”
Con questo post voglio ribadire, alla luce di quasi 5 anni di programmazione con VB .NET (versioni 2005, 2008 e la versione preliminare del 2010) e di alcuni libri pubblicati, che la mia scelta nel passaggio da VB6 a .NET è stata più che azzeccata. Sono un programmatore soddisfatto di VB.NET, perché con VB.NET faccio più cose di quanto riuscivo a fare con VB6.
E’ vero: ho dovuto studiare molto e sperimentare ancora di più. Però ora riesco ad evitare l’utilizzo di tutte quelle API e di quei “trucchetti”, senza i quali con VB6 non si riesce a fare quello che con VB.NET si riesce a fare con una riga o poche righe di codice.
Inoltre si inizia a vedere un effetto anche sul mercato del lavoro e sul mercato delle applicazioni: sempre più aziende cercano programmatori o analisti con conoscenze di VB.NET o di C# e sempre più aziende propongono le versioni delle loro applicazioni in .NET.
La tecnologia .NET è ormai matura, ma qualcuno non se n’è ancora accorto…
Pubblicato su Novità | 3 Commenti »
Pubblicato da Mario De Ghetto su 19 Agosto 2009
Una novità che ho appena scoperto quasi per caso: la possibilità di votare i post e i commenti nei blog di WordPress.com.
Ho appena attivato questa funzionalità nel mio blog http://deghetto.wordpress.com e quindi d’ora in poi potrete:
1) votare i miei “post”:
Andate sulle stelline indicate da “Rate this”.
Passando su tali stelline, si accenderà un numero di stelle pari alla posizione della stella alla quale state puntando, da un valore minimo di
a un valore massimo di
2) votare i commenti miei e dei visitatori del blog:
Anche in questo caso andate vicino alle icone indicate da “Rate this”
Puntando sul “pollice su” o sul “pollice verso”, otterrete il corrispondente voto
oppure
Queste semplici operazioni, se utilizzate, mi daranno la possibilità di valutare la qualità dei miei post e degli stessi commenti.
Non male, eh?
Pubblicato su Novità | 2 Commenti »
Pubblicato da Mario De Ghetto su 19 Agosto 2009
…Spesso ci capita di conoscere varie tecniche per risolvere un nostro problema applicativo e/o di programmazione e non sappiamo quali di queste tecniche è più efficace dal punto di vista delle prestazioni, cioè quale impiega meno tempo a terminare l’esecuzione.
Le prestazioni di diversi algoritmi, talvolta, hanno una piccola differenza di tempo nell’esecuzione di singoli passi di programma, ma se moltiplichiamo la differenza di tempo per centinaia di migliaia di elementi da elaborare, il tempo totale diventa percepibile in modo pesante dall’utente. E’ quindi necessario sperimentare i vari algoritmi o frammenti di codice per verificare quale sia preferibile tra le varie possibilità.
Un modo semplice è quello di utilizzare un oggetto di classe TimeSpan, rilevando i “ticks” all’inizio del frammento di codice e alla fine del frammento, calcolando poi la differenza tra le due registrazioni.
I “tick” sono le più piccole unità di tempo in .NET, equivalenti a 100 nanosecondi.
Per esempio:
...
‘ prima registrazione
Dim ts1 As New TimeSpan(Now.Ticks)
‘ frammento di codice o ciclo da valutare
...
‘ registrazione finale e visualizzazione della differenza di tempo
Dim ts2 As New TimeSpan(Now.Ticks)
MessageBox.Show((ts2 - ts1).ToString)
...
In questo modo sarà possibile esaminare i tempi di diversi algoritmi ed effettuare così la scelta del migliore, nel caso preso in esame.
Attenzione: non è un metodo che permette di effettuare dei veri e propri benchmark, perché i tempi di esecuzione spesso dipendono da molti altri fattori. Per esempio servizi e programmi attivi, disponibilità di RAM nel momento dell’esecuzione, carico del processore e così via. In ogni caso, il metodo proposto è un metodo empirico sufficientemente significativo e soprattutto semplice per fare delle valutazioni “a spanne” ma con dei dati alla mano. Per un migliore risultato e una maggiore sicurezza delle misurazioni è consigliabile ripetere la misurazione più volte.
Pubblicato su Programmazione, Tips, VB 2008, VS 2010 | 1 Commento »
Pubblicato da Mario De Ghetto su 1 Agosto 2009
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 23 Luglio 2009
Un paio di giorni fa mi è stato fatto rilevare che con VB.NET è possibile dichiarare un array utilizzando una sintassi che prevede l’uso di un parametro, anziché un valore costante.
Nel mio libro su VB 2008, per esempio, in tutti gli esempi ho sempre utilizzato la forma:
Dim x(10) As Integer
ma con VB 2008 (e precedenti VB .NET) è possibile farlo anche con la seguente sintassi:
Dim numero As Integer = 10
Dim x(numero) As Integer
Ecco quindi che possiamo creare anche un array con dimensione variabile, utilizzando un valore random:
' prendiamo il numero di secondi dall’ora attuale
Dim seme As Integer = Now.Second
' creiamo un oggetto di tipo Random, utilizzando
' come seme il numero di secondi
Dim x As New Random(seme)
' definiamo il limite superiore dell’array
Dim limite As Integer = x.NextDouble * 100
' dichiariamo l’array con il parametro indicato
Dim arr0(limite) As String
' inseriamo in ciascun elemento il valore
' del suo indice
For i As Integer = 0 To arr0.GetUpperBound(0)
arr0(i) = i
Next
' visualizziamo il valore dell’ultimo elemento
MessageBox.Show(arr0.GetUpperBound(0))
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 21 Luglio 2009
Anche queste vacanze sono terminate. E’ stata un’occasione di riposo, per “staccare” un po’ la spina.
Non che siano state le vacanze perfette: nella prima settimana il tempo non era granché e mio figlio si è preso anche una brutta tonsillite. Per fortuna ci siamo rifatti nella seconda settimana.
Una cosa, però, è andata perfettamente: la scelta dell’albergo. Infatti, dopo varie ricerche e “scremature” su Internet, mia moglie e io abbiamo prenotato all’Hotel Airone di Rimini (http://www.hotelairone.com).
I titolari sono persone simpatiche, solari e disponibili e l’accoglienza è stata molto calorosa. Non solo: l’albergo è molto ben tenuto e gestito, pulizia e servizio impeccabili, cucina ottima e abbondante (sono tornato con 4 kg. in più!), personale simpatico, disponibile e sempre sorridente, animatrici per i bambini, spiaggia a pochi passi, palestra (che non ho utilizzato … e si vede!), sala giochi e chi più ne ha più ne metta.
Molti altri clienti erano già stati in quell’albergo, in passato, e quest’anno sono tornati: quale miglior biglietto da visita? Anzi, sicuramente anche noi torneremo!
Grazie di tutto: Sonia, Carlo, Filippo, Beatrice, Francesco, Nicoletta, Flavio, Farid, Carmen, Francesca, Lia, il portiere di notte (Giorgio?), il personale delle pulizie… (prossimamente le foto!).
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 2 Luglio 2009
Ebbene sì, anche per me è venuto il momento di andare in vacanza!
Partirò sabato mattina con la mia famiglia in direzione Rimini e tornerò due settimane dopo.
Sarà (temo) una vacanza piovosa, ma sicuramente riposante e rilassante. Sarò totalmente impossibilitato a utilizzare PC, quindi niente e-mail, niente forum, niente newsgroup, niente libri, niente articoli, niente di niente.
Riprenderò in pieno le mie attività da lunedì 20 Luglio, rinnovato nel corpo e nello spirito.
Un saluto a chi va in vacanza come me, a chi ci è già andato e a chi ci andrà!
A presto.
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 30 Giugno 2009
Come già preannunciato da tempo, sono ormai in dirittura d’arrivo con il nuovo libro, dedicato a “SQL Server 2008 – Guida all’uso”. Infatti oggi ho ricevuto il file PDF integrale da rileggere e revisionare, così da poter essere pronti per la stampa e la pubblicazione verso il mese di Settembre 2009.
Nel frattempo, visto comunque che la mia principale “vocazione” è per Visual Basic, vi anticipo che l’undicesimo capitolo è interamente dedicato a Visual Basic 2008 alle modalità di accesso a un database di SQL Server 2008 e alle modalità di visualizzazione e aggiornamento dei dati: con i wizard e con comandi diretti, utilizzando un controllo DataGridView o controlli Windows Form, in data binding. Inoltre, nel decimo capitolo ci sono anche due esempi di creazione di stored procedure da Visual Studio 2008, in linguaggio VB.
Nell’attesa del libro stampato, ho il piacere di pubblicare gli esempi VB che potete scaricare liberamente e gratuitamente da questo link.
Sono certo che non ci saranno obiezioni da parte dell’editore anche nell’anticipazione del Capitolo 11 in PDF. Sappiate comunque che è ancora in bozza (diciamo una “Release Candidate”!) e che la versione definitiva sarà quella che verrà stampata prossimamente.
Questi esempi dovrebbero quanto meno soddisfare le necessità di chi ha difficoltà a “ingranare” con ADO.NET 2.0 per creare applicazioni in grado di leggere e modificare dati memorizzati in database di SQL Server 2008.
Pubblicato su Libro SQL Server 2008, SQL Server, VB 2008 | 1 Commento »
Pubblicato da Mario De Ghetto su 25 Giugno 2009
Utilizzo due computer per scrivere i miei libri: un PC fisso e un portatile. Inoltre scarico da Internet una infinità di cose: software, articoli, immagini, documenti e così via. Infine, creo indifferentemente sui due PC anche i progetti che sviluppo per esplorare le funzionalità di Visual Basic e di Visual Studio.
Tutti questi file e cartelle, che possono avere una dimensione anche piuttosto rilevante, devo poi spostarli da un PC all’altro per mantenere sincronizzate le due versioni. Per esempio, se sto scrivendo un capitolo di un libro sul PC portatile, poi devo trasferire il file e le relative immagini sul PC fisso, altrimenti le modifiche possono andare perse.
Finora ho svolto tutte queste attività, abbastanza fastidiose e anche “pericolose” (per la sempre possibile perdita del lavoro fatto), manualmente, cioè ricordandomi di copiare i file e confrontando le due cartelle per vedere se c’erano dei file non aggiornati.
Per migliorare questa gestione difficoltosa e fastidiosa (avete mai provato a sincronizzare a mano due cartelle, ogni santo giorno?), mi sono finalmente deciso a provare Microsoft SyncToy 2.0, scaricabile gratuitamente da qui: http://www.microsoft.com/DownLoads/details.aspx?familyid=C26EFA36-98E0-4EE9-A7C5-98D0592D8C52&displaylang=en
La pagina permette di scaricare sia la versione a 32 bit sia la versione a 64 bit. Entrambi i file di installazione sono piccoli: poco più di 4 MB ciascuno.
Per prima cosa si definisce quali sono le due cartelle da sincronizzare (naturalmente possono essere definite più coppie di cartelle). Ecco un esempio:
Una volta che abbiamo creato un’accoppiamento di cartelle, possiamo visualizzare un’anteprima (preview) per vedere cosa è cambiato in una o nell’altra cartella. Se siamo soddisfatti di quanto evidenziato, possiamo far partire la sincronizzazione (Run) per vedere immediatamente applicate le modifiche da una all’altra cartella e viceversa.
Nell’help del programma viene anche spiegata la modalità da seguire per impostare un’avvio della sincronizzazione schedulato. Per esempio possiamo eseguire la sincronizzazione ogni giorno a un’ora prefissata oppure possiamo decidere di farlo automaticamente ogni mezz’ora.
Uno strumento comodo, pratico ed efficace!
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 17 Giugno 2009
Per chi dovesse avere la necessità di inserire un file in un campo BLOB o, viceversa, estrarre un file da un campo BLOB utilizzando VB.NET e ADO.NET, con i provider OleDb e SqlClient, potrà farlo seguendo le indicazioni di questo articolo:
http://support.microsoft.com/kb/316887
L’articolo è un po’ vecchiotto (2004) ma sempre utile.
Personalmente, però, preferisco sempre la scelta di mantenere i file nel filesystem e di inserire nel database il solo riferimento alla posizione nel filesystem.
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 11 Giugno 2009
Vi segnalo che è stato aggiornato l’ormai famosissimo prodotto software per produrre pacchetti di installazione con vari linguaggi e completamente compatibile con Windows Vista. La compatibilità è stata ora estesa anche alle piattaforme x64 (a 64 bit), anche con più di 4 GB di RAM.
Maggiori dettagli sulla nuova versione li potete trovare qui: http://www.silvercybertech.com/italian/index.html.
In questa pagina trovate anche il link alla pagina dalla quale potete scaricare il prodotto anche in versione free.
Se poi siete degli sviluppatori professionisti non potete fare a meno delle funzionalità avanzate della versione Professional.
Il prodotto è pienamente supportato dall’autore, membro dello staff di Visual Basic Tips & Tricks (www.visual-basic.it).
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 10 Giugno 2009
In un mio post di qualche tempo fa (#17 Identificare il sistema operativo) suggerivo come identificare il sistema operativo che gira sulla macchina che stiamo utilizzando.
Il suggerimento ha un limite: non contiene il test per Windows Vista e, tanto meno, per Windows 7.
Ora ho aggiunto un commento in coda al post con il quale ho spiegato come si fa ad aggiornare il codice per aggiungere il test anche per Vista (versione 6), mentre per Windows 7 non ho ancora potuto provare, ma la versione dovrebbe essere la 7 (ci avreste scommesso?)
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 9 Giugno 2009
Se avete la necessità di aprire da Visual Studio 2008 un documento Word esistente oppure se volete creare un nuovo documento basato su un modello di Word, è necessario seguire una procedura ben precisa.
Innanzi tutto, è necessario scaricare e installare il prodotto “2007 Microsoft Office System Update: Redistributable Primary Interop Assemblies” da questa pagina: http://www.microsoft.com/downloads/details.aspx?FamilyID=59daebaa-bed4-4282-a28c-b864d8bfa513&displaylang=en. Esistono versioni di questo pacchetto anche per Office 2003 e XP. Infatti, l’interoperabilità con Office non fa parte di Visual Studio 2008 e bisogna installare le librerie a parte.
Una volta che avete estratto i file di installazione e licenza e avete installato le librerie (avviando il file .msi), dovreste trovarle nella cartella C:\Windows\assembly. Le riconoscete facilmente, perché iniziano tutte per Microsoft.Office.Interop.*. Al posto dell’asterisco trovate Word, Excel e così via.
La versione 12.0.0.0 delle librerie si riferisce a Office 2007, mentre la versione 11.0.0.0 si riferisce alla versione 2003.
Create un modello di Word 2007 (va bene anche il formato .doc di Word 2003) di nome “MioModello.dot” e posizionatelo nella vostra cartella Documenti predefinita.
Ora create un nuovo progetto in Visual Basic 2008, un normale progetto Applicazione Windows Form.
Aprite le proprietà del progetto e aggiungete il riferimento alle librerie appena installate (Microsoft.Office.Interop.*).
Terminata questa fase “preparatoria”, aggiungete un pulsante al form e, nel codice del gestore dell’evento Click del pulsante stesso, inserite quanto segue:
Dim oWord As Word.Application = CreateObject("Word.Application")
Dim oDoc As Word.Document
Dim strDocumentName As String = ""
oWord.Visible = True
strDocumentName = "C:\Users\Mario\Documents\MioDocumento.doc"
If Dir(strDocumentName) = "" Then
oWord.Documents.Add(My.Computer.FileSystem.SpecialDirectories.MyDocuments & _
"\MioModello.dot").SaveAs(FileName:=strDocumentName)
Else
oDoc = oWord.Documents.Open(strDocumentName)
End If
oWord.Activate()
oDoc = Nothing
oWord = Nothing
Dopo aver avviato il programma, premete il pulsante: se il documento MioDocumento.doc esiste già, verrà aperto in una finestra di Word. Se non esiste (come al primo avvio), verrà aperto un nuovo documento, con il nome MioDocumento.doc, con i contenuti del modello MioModello.dot.
Naturalmente se premete nuovamente il pulsante, dopo aver modificato e salvato il documento Word, verrà aperto questo nuovo documento.
A questo punto diventa estremamente semplice passare delle variabili al metodo per aprire qualsiasi documento Word si voglia o per creare qualsiasi documento basato su un modello di Word.
Pubblicato su VB 2008 | Lascia un commento »
Pubblicato da Mario De Ghetto su 8 Giugno 2009
Non è una nuova tecnologia, né una nuova funzionalità di Visual Studio 2010, ma è un tipo di applicazione della tecnologia Speech Recognition (riconoscimento vocale).
Ammirate come si programma in Visual Studio semplicemente parlando:
Immaginate per esempio le opportunità che si possono mettere a disposizione a persone affette da qualche tipo di disabilità o di invalidità!
Se invece siete un po’ … esibizionisti, potreste andare in spiaggia e programmare semplicemente parlando al vostro portatile, stando distesi sul lettino a prendere il sole ed evitando di riempire la tastiera di crema per la protezione solare.
Pubblicato su Novità | Lascia un commento »
Pubblicato da Mario De Ghetto su 7 Giugno 2009
Il metodo Replace di un oggetto stringa è case-sensitive, cioè tiene conto delle lettere maiuscole-minuscole. Per esempio, provate a eseguire questo codice:
Dim str As String = "Testo da Sostituire"
str = str.Replace("sostituire", "cancellare")
MessageBox.Show(str)
str = str.Replace("Sostituire", "cancellare")
MessageBox.Show(str)
Il risultato visualizzato dalla prima MessageBox sarà uguale alla stringa originale, perché “Sostituire” è diverso da “sostituire”, mentre con la seconda MessageBox otterremo effettivamente la sostituzione desiderata, perché abbiamo specificato esattamente la stringa così come appare nel testo originale.
Da questo esempio desumiamo che il metodo Replace è “case sensitive”, cioè tiene conto dei caratteri maiuscoli-minuscoli.
Come fare, quindi, a sostituire una stringa all’interno di un’altra stringa senza tenere conto della differenza maiuscole-minuscole, cioè quello che in inglese è definito “case insensitive”?
Possiamo per una volta scomodare le espressioni regolari: intendiamoci, non dobbiamo utilizzare strane sequenze di caratteri che a prima vista sembrano geroglifici. Basta utilizzare il metodo … Replace! Più facile di così… Il codice per ottenere questo risultato è il seguente:
Dim str As String = _
"trova PaRoLa e sostituisci con parola"
Dim strReplace As String = "parola"
str = Regex.Replace(str, "parola", _
strReplace, RegexOptions.IgnoreCase)
MessageBox.Show(str)
Attenzione che per utilizzare le espressioni regolari, dobbiamo anche importare il relativo namespace:
Imports System.Text.RegularExpressions
In questo caso vedremo che il risultato è perfettamente adatto al nostro scopo.
Pubblicato su Novità | Lascia un commento »