VB & .NET - Mario De Ghetto

Visual Basic & .NET: programmare che passione!

#35: Cancellare la lista dei progetti

Pubblicato da Mario De Ghetto su 9 Maggio 2008

Sono molti i programmatori che sentono la mancanza di un metodo per cancellare la lista (o una parte della lista) dei progetti nell’ambiente di sviluppo.

L’unico modo per farlo è quello di intervenire a livello di registro di sistema, eliminando le chiavi contenute nelle seguenti voci di registro:

Visual Studio 2008 Professional:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList

Visual Basic 2008 Express:

HKEY_CURRENT_USER\Software\Microsoft\VBExpress\9.0\ProjectMRUList

Visual Web Developer 2008 Express:

HKEY_CURRENT_USER\Software\Microsoft\VWDExpress\9.0\ProjectMRUList

Visual C# 2008 Express:

HKEY_CURRENT_USER\Software\Microsoft\VCSExpress\9.0\FileMRUList

NOTA - attenzione alle modifiche che apportate al registro di sistema: basta molto poco per danneggiare l’installazione di Windows!

Pubblicato su Tips | 1 Commento »

#34: Problema di duplicazione menu con IDE di VS 2008 Pro

Pubblicato da Mario De Ghetto su 5 Maggio 2008

A ogni avvio, VS 2008 Professional (Trial) aveva iniziato a segnalare l’impossibilità di caricare alcuni pacchetti (add-in o altri) e per ognuno consigliava di digitare “devenv /ResetSkipPkgs” da riga di comando per risolvere il problema.
Oggi ho eseguito tale comando e il risultato è che… i menu si sono duplicati al loro interno e quadruplicati nel loro insieme! In pratica questo è il menu principale risultante:

File File Modifica Modifica Visualizza Visualizza Strumenti Strumenti Test Test Finestra Finestra ? ? File File Modifica Modifica Visualizza Visualizza Strumenti Strumenti Test Test Finestra Finestra ? ? File File Modifica Modifica Visualizza Visualizza Strumenti Strumenti Test Test Finestra Finestra ? ? File File Modifica Modifica Visualizza Visualizza Strumenti Strumenti Test Test Finestra Finestra ? ?

E’ vero che le voci sono ugualmente accessibili, ma è anche vero che è abbastanza fastidioso, oltre al fatto che occupa spazio prezioso.

Ho provato a reinstallare con il CD di setup utilizzando l’opzione “ripara” e fortunatamente ha funzionato.

Mi piacerebbe proprio sapere il motivo per cui quel comando ha dato un esito così infausto…

 

Pubblicato su Tips | Non ci sono Commenti »

Il nuovo portale di MSDN Italia

Pubblicato da Mario De Ghetto su 30 Aprile 2008

Scopri il nuovo portale MSDNDal blog di MSDN Italia, oggi è possibile leggere l’annuncio del nuovo portale MSDN Italia:

“Il sito MSDN italiano si rinnova, cambia interfaccia e aggiorna i suoi contenuti:
più articoli e risorse, una Library più ricca, nuovi Developer Center suddivisi per tecnologia e integrati ai blog degli esperti Microsoft e del Team MSDN italiano, l’area eventi e i percorsi formativi online, una nuova sezione dedicata agli abbonati MSDN e molto altro ancora.
La struttura e l’organizzazione del nuovo portale ricalca quella dei principali siti MSDN a livello mondiale, per consentire un’esperienza di navigazione ancora più integrata e più semplice.
Vieni a trovarci!
Il Team MSDN”

 

Pubblicato su Novità | Non ci sono Commenti »

[Blog] Superate le 30.000 visite!

Pubblicato da Mario De Ghetto su 28 Aprile 2008

Ho appena visto le statistiche ed è confermato: in questo momento il totale delle visite ricevute da questo blog dal 12 Gennaio 2008 sono 30.055!

La media è di circa 278 visite al giorno, tenendo conto anche dei primi periodi in cui le visite erano in numero nettamente inferiore (si sa, le medie sono così!). Nelle ultime 4 settimane la media è di 355 visite al giorno, domeniche e festività comprese. Niente male!

Grazie a tutti voi, questo blog è di giorno in giorno sempre più visitato. I commenti che ho ricevuto sono molto positivi e mi stimolano a rendere questo blog sempre di più una delle principali fonti di informazione per i vostri programmi in Visual Basic e in .NET.

GRAZIE!   :-)

Pubblicato su Novità | 1 Commento »

#33: Creare un GUID con Visual Studio 2008

Pubblicato da Mario De Ghetto su 21 Aprile 2008

Questa tip è un po’ diversa dal solito perché non presenta codice, ma mostra una funzionalità dell’IDE di Visual Studio 2008 Professional.

Infatti l’IDE di Visual Studio 2008 Professional offre la possibilità di creare automaticamente un GUID, cioè un Globally Unique Identifier, adatto anche all’uso nel registro di sistema. Alcuni esempi di GUID sono i seguenti:

{8ED66C10-25DC-4d49-9A7B-17E400202B81}
{B359036E-53BD-492f-AE3C-28D8771759A0}
{D310A47C-E9CD-48db-86B0-88439C7E5344}

La funzione per creare il GUID la trovate nel menu Strumenti > Crea GUID: scegliendo il formato “Registry format” otterrete proprio una stringa simile a quelle mostrate qui sopra. Se poi ne volete creare più di una, è sufficiente premere più volte il pulsante “New GUID” e naturalmente copiare ciascun GUID con il pulsante “Copy” (la copia avviene negli appunti di Windows, quindi bisogna poi “riversare” il codice GUID con CTRL+V da qualche altra parte).

Pubblicato su Tips | Contrassegnato da tag: | Non ci sono Commenti »

#32: Elencare hard disk con spazio libero disponibile

Pubblicato da Mario De Ghetto su 18 Aprile 2008

In realtà la tip che presento oggi elenca gli hard disk ma anche gli eventuali dischi di altro tipo che dovessero essere disponibili nel sistema. Dato che alcune unità possono essere al momento prive di disco (es. l’unità per floppy disk A:, unità con disco removibile, lettori CD/DVD ecc.), è necessario gestire l’eccezione che interromperebbe l’esecuzione del programma.

Per provare questa tip è sufficiente creare un form, aggiungere un pulsante e una TextBox, impostare quest’ultima a “MultiLine” e inserire il seguente codice:

Public Class Form1
   Private Sub Button1_Click(ByVal sender As System.Object, _
        
ByVal e As System.EventArgs) Handles Button1.Click
      Dim driveInfo As System.IO.DriveInfo() = _
         System.IO.DriveInfo.GetDrives()
      For Each d As System.IO.DriveInfo In driveInfo
         Try
            TextBox1.Text += “Drive: “ + d.Name.ToString _
               + System.Environment.NewLine +
“Size: “ _
               + d.TotalSize.ToString + System.Environment.NewLine _

               + “Free Space: “ + d.TotalFreeSpace.ToString _
               + System.Environment.NewLine + System.Environment.NewLine
         Catch ex As Exception
            ‘ ignora gli errori dovuti a dischi “non hard disk”
            ‘ es. A:\ oppure lettori CD/DVD e unità non pronte
            ‘ (senza disco)
         End Try
      Next
   End Sub
End Class 

 

Ecco un esempio del risultato che possiamo ottenere:

Esempio tip #32

 

Pubblicato su Tips | Non ci sono Commenti »

#31: Aprire file XLS e creare un file CSV

Pubblicato da Mario De Ghetto su 17 Aprile 2008

Talvolta è necessario esportare i dati di un foglio Excel in un file di tipo testo con Campi Separati da Virgola (CSV) o, meglio, da punto e virgola.

Per ottenere questo risultato possiamo creare un nuovo progetto, inserire tra i riferimenti nelle proprietà del progetto la libreria Microsoft.Office.Interop.Excel, aggiungere un pulsante al form e, all’interno del suo evento Click, il codice seguente:

Imports Microsoft.Office.Interop.Excel
Public Class Form1
   Private Sub Button1_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button1.Click
      Dim appExcel As Application = New Application
      Dim cartella As Workbook = _
         CType(appExcel.Workbooks.Open(“C:\ExcelVsCSV\Dati.xls”), Workbook)
      cartella.SaveAs(“C:\ExcelVsCSV\Dati.csv”, XlFileFormat.xlCSV, _
         CreateBackup:=False)
      With appExcel
         .DisplayAlerts = False
         .Quit()
      End With
   End Sub
End Class 

Provando l’esempio dopo aver creato il foglio Excel di nome Dati.xls (con qualsiasi dato in forma tabellare, comprese le intestazioni dei campi) nella cartella C:\ExcelVsCSV\, vedrete che verrà creato un file Dati.csv nella stessa cartella, con i dati separati da punto e virgola.

Pubblicato su Tips | Contrassegnato da tag: , , | Non ci sono Commenti »

Recensione su libro Visual Basic 2008 spiegato a mia nonna

Pubblicato da Mario De Ghetto su 16 Aprile 2008

Pubblicato su Novità | Contrassegnato da tag: , , | Non ci sono Commenti »

Windows Vista Service Pack 1 (SP1) in italiano

Pubblicato da Mario De Ghetto su 15 Aprile 2008

Oggi è stata resa disponibile la SP1 per Windows Vista in italiano (e altre lingue).

La pagina di download è la seguente: http://www.microsoft.com/downloads/details.aspx?FamilyID=f559842a-9c9b-4579-b64a-09146a0ba746&DisplayLang=it

 

Pubblicato su Novità, Software HW e Windows | Contrassegnato da tag: | Non ci sono Commenti »

#30: Conteggio record con ADO.NET

Pubblicato da Mario De Ghetto su 15 Aprile 2008

L’articolo http://support.microsoft.com/kb/308050/en-us spiega che non è possibile conoscere in anticipo il numero di record restituiti dalla query con un DataReader, perché per conoscere il numero di
record è necessario spostarsi all’ultimo record. In quest’altro articolo viene sostanzialmente spiegata la stessa cosa: http://www.velocityreviews.com/forums/t112093-datareader-and-recordcount.html.

Per risolvere questo problema è possibile eseguire un conteggio PRIMA di aprire il DataReader, con istruzioni simili alle seguenti:

VB:

Dim cmd As SqlCommand = _
   New SqlCommand(”SELECT COUNT(*) FROM Clienti;”, conn)
Dim numeroClienti As Integer = CInt(cmd.ExecuteScalar())

C#:

SqlCommand cmd = _
   new SqlCommand(”SELECT Count(*) FROM Clienti”, conn);
Int32 count = (Int32)cmd.ExecuteScalar;

Pubblicato su Tips | Contrassegnato da tag: , , | Non ci sono Commenti »

Forum su VB & .NET e MS Office

Pubblicato da Mario De Ghetto su 15 Aprile 2008

Da alcuni giorni ho aperto un forum su VB & .NET e su MS Office a questo indirizzo: http://deghetto.forumattivo.com ma mi sono reso conto che era possibile accedere solamente dopo essersi registrati e autenticati al forum.

Oggi ho corretto questo problema e ho dato i permessi di lettura anche agli ospiti non registrati. In questo modo è possibile leggere le discussioni aperte sul forum anche senza registrazione o senza effettuare la connessione con il proprio profilo. Ovviamente in tal caso non si potrà rispondere ai messaggi, perché i permessi sono limitati alla lettura dei messaggi presenti.

Spero che il forum possa essere un altro strumento utile per chi vuole condividere le proprie esperienze con me. E’ anche uno strumento utile per i feedback sui miei libri e per proposte di argomenti da trattare, quindi siete tutti invitati a iscrivervi!    :-)

 

Pubblicato su Novità | Contrassegnato da tag: | Non ci sono Commenti »

Qualche statistica del libro su VB 2008

Pubblicato da Mario De Ghetto su 14 Aprile 2008

A puro titolo di curiosità, pubblico qualche numero sul libro “Visual Basic 2008 spiegato a mia nonna“:

- capitoli: 14 + 4 appendici
- tabelle: 17
- immagini: 140
- esempi con sorgente: 155
- pagine: 576
- parole: 120.032
- caratteri (compresi gli spazi): 834.965

Il mio libro precedente, invece (tra parentesi i dati del 12° capitolo inedito pubblicato da me):

- capitoli: 11 (+ 1)
- immagini: 130 (+3)
- caratteri (compresi gli spazi): 438.407 (+ 44.820)
- pagine: 246 (+25)
- esempi con sorgente: 52 (+1)

Ovviamente quantità non è uguale a qualità, o perlomeno non esiste una relazione diretta di questo tipo, ma le differenze dovrebbero dare una misura quantitativa degli argomenti presentati nel nuovo libro anche a chi aveva comprato il primo libro su VB 2005.

Per maggiori dettagli, precisazioni e link, potete andare qui: http://deghetto.wordpress.com/tag/libro/.

 

Pubblicato su Novità | Contrassegnato da tag: , , | Non ci sono Commenti »

#29: Svuotare tutte le TextBox di un form

Pubblicato da Mario De Ghetto su 9 Aprile 2008

Per svuotare tutte le TextBox di un form, è possibile utilizzare questo codice:

Dim ctrl As New Form.ControlCollection(Me)

ctrl = System.Windows.Forms.Form.ActiveForm.Controls

For Each c As Control In ctrl

   If TypeOf (c) Is System.Windows.Forms.TextBox Then

      c.Text = “”

   End If

Next

Pubblicato su Tips | 2 Commenti »

Cruciverba #1

Pubblicato da Mario De Ghetto su 8 Aprile 2008

Vediamo chi riesce a risolvere questo semplice cruciverba…

Cruciverba #1

Per dare la soluzione potete inserire un commento a questo post, indicando da sinistra a destra e dall’alto in basso le lettere da inserire (per le caselle nere potete inserire -, * o un altro carattere separatore).

Buon divertimento!

Pubblicato su Cruciverba | Non ci sono Commenti »

Precisazione sugli esempi del libro su VB 2008

Pubblicato da Mario De Ghetto su 3 Aprile 2008

Mi è stato chiesto di precisare se gli esempi del libro “Visual Basic 2008 spiegato a mia nonna“ siano utilizzabili anche con Visual Studio 2005.

Gli esempi sono stati scritti direttamente in VS 2008 e quindi, in teoria, bisognerebbe utilizzare VS 2008. In realtà è possibile convertire quasi tutti gli esempi in VS 2005 semplicemente modificando il file della soluzione (con estensione .sln), come ho indicato in questo post: http://deghetto.wordpress.com/2008/01/12/conversione-di-soluzioni-da-visual-studio-2005-a-2008-e-viceversa/

Per l’unico esempio in XAML (Windows Presentation Foundation) occorre aver installato il Framework .NET 3.0 e le estensioni per Visual Studio 2005.

Gli esempi del capitolo 14 riguardanti LINQ, invece, possono essere eseguiti solo su VS 2008 con il Framework .NET 3.5, perché non è prevista un’estensione per VS 2005.

Pubblicato su Novità | Contrassegnato da tag: , , | Non ci sono Commenti »

Capitolo 10 del libro su Visual Basic 2008

Pubblicato da Mario De Ghetto su 2 Aprile 2008

Ho concordato con l’editore la pubblicazione di un capitolo di esempio del mio nuovo libro “Visual Basic 2008 spiegato a mia nonna”. Il capitolo di esempio è il 10° e riguarda menu, finestre di dialogo, stampa e così via: Capitolo 10 di esempio (PDF 2 Mb)(ZIP 1,4 Mb).

Ricordo a chi fosse interessato che ho annunciato l’uscita del libro proprio ieri con il post http://deghetto.wordpress.com/2008/04/01/e-uscito-il-mio-nuovo-libro-su-visual-basic-2008/, dove potete trovare la scheda del libro, il booksite, tutti gli esempi del libro liberamente scaricabili e l’elenco degli argomenti trattati, nonché l’indice completo del libro.

Pubblicato su Novità | Contrassegnato da tag: , , | Non ci sono Commenti »

E’ uscito il mio nuovo libro su Visual Basic 2008

Pubblicato da Mario De Ghetto su 1 Aprile 2008

Ho il piacere di annunciare che è iniziata la distribuzione del mio nuovo libro su Visual Basic 2008, dal titolo “Visual Basic 2008 spiegato a mia nonna“, 576 pagine, edito da FAG Milano, prezzo 39,00 Euro.

Il libro sarà disponibile on-line dal sito www.fag.it e nelle librerie specializzate con la seguente tempistica:

  • da oggi stesso per gli acquisti online;
  • entro questa settimana in tutta la Lombardia e presso i principali bookshop online (IBS, BOL eccetera);
  • entro la prossima settimana nelle librerie in tutta Italia.

 Alcuni link utili sono i seguenti:

Ecco l’elenco dettagliato degli argomenti trattati nel libro:

Cap. 1 - Il primo capitolo è introduttivo, per avvicinare gradualmente il lettore alla programmazione senza spaventarlo dai nuovi concetti a cui andrà incontro. Ecco perché, quindi, abbiamo adottato uno stile molto discorsivo e amichevole (in informatica diremmo user friendly) in grado di mostrare al lettore cos’è la programmazione, basandoci su oggetti comunemente usati. Potranno anche avere una piccola simpatica sorpresa tutti coloro che pensano che il computer non possa fare il caffè!

Cap. 2 - Il secondo capitolo introduce le caratteristiche principali del Framework .NET e del linguaggio Visual Basic, con un breve cenno su tutte le più importanti tecnologie correlate.

Cap. 3 - Nel terzo capitolo iniziamo a vedere l’ambiente di sviluppo realmente in azione. Potrete quindi vedere quali strumenti visuali principali troverete all’avvio del software e alcune indicazioni sul loro uso.

Cap. 4 - Il quarto capitolo potremmo definirlo un male necessario: non si può parlare di un linguaggio di programmazione senza prima capire cosa sono le variabili e i tipi di dato. In questo capitolo esamineremo quindi tutti i tipi di dato elementari e vedremo come si utilizzano.

Cap. 5 - Nel quinto capitolo continuiamo il discorso dei tipi di dati elementari introducendo le matrici. Anche in questo capitolo ci sarà molto codice per vedere l’uso pratico di queste strutture.

Cap. 6 - Con il sesto capitolo iniziamo a vedere le istruzioni del linguaggio Visual Basic e molti esempi sulle istruzioni condizionali e sulla programmazione strutturata.

Cap. 7 - Finalmente, nel settimo capitolo, tratteremo in modo esteso la programmazione orientata agli oggetti. Come vedrete, la programmazione  in .NET è completamente orientata agli oggetti: in .NET tutto è un oggetto, anche l’utente! Vedremo quindi molti esempi per scrivere delle buone classi e per gestire correttamente gli oggetti.

Cap. 8-9 - I capitoli ottavo e nono riguardano rispettivamente i form e i controlli basati sulla tecnologia Windows Forms. Questi argomenti fanno parte della programmazione visuale e, tutto sommato, sono forse la parte più divertente della programmazione. Alla fine di ciascun capitolo abbiamo inserito dei brevi cenni sulla nuova tecnologia emergente per la programmazione visuale: Windows Presentation Foundation (WPF).

Cap. 10 - Il decimo capitolo illustra l’uso di tutte le finestre comuni di dialogo e dei menu. Con questo obiettivo, abbiamo realizzato un’applicazione di esempio perfettamente funzionante che ci permette di gestire i file di testo.

Cap. 11 - Nel capitolo undicesimo trattiamo un argomento molto importante: la gestione degli errori o, come si dice in .NET, la gestione delle eccezioni. Sebbene questo argomento compaia in una posizione molto avanzata del libro, è un argomento che va sempre tenuto presente tra le principali attenzioni del programmatore.

Cap. 12 - Il capitolo dodicesimo fornisce numerose informazioni per la gestione delle stringhe e dei file di testo.

Cap. 13 - Nel tredicesimo capitolo abbiamo spiegato in modo approfondito l’uso dell’oggetto My, disponibile solo agli sviluppatori di Visual Basic e non a quelli di C#. My è un oggetto che mette a disposizione del programmatore numerosi oggetti e proprietà più comunemente utilizzati, con una semplicità disarmante.

Cap. 14 - Il quattordicesimo e ultimo capitolo introduce la più recente tecnologia per l’accesso ai dati e precisamente LINQ. Vengono spiegate le novità apportate al linguaggio e alla gestione delle classi e degli oggetti quale presupposto per l’utilizzo di LINQ e vengono mostrati alcuni esempi della sintassi di quest’ultimo per la gestione dei dati.

Appendici - Ho messo a disposizione anche quattro appendici: la prima illustra passo per passo le installazioni delle versioni Espress e Professional e della documentazione di MSDN Library, mentre le altre tre forniscono alcune tabelle accessorie che talvolta è utile avere a portata di mano.

Ovunque troverete anche molto codice Visual Basic: mini-programmi di prova per spiegare in modo semplice una tecnica e qualche programma completo e funzionante.

Tutti gli elementi dell’interfaccia grafica e dell’ambiente di sviluppo (nomi di finestre, voci di menu, ecc.) sono tratti dalla versione in lingua italiana e, tra parentesi, dalla versione in lingua inglese. Questa scelta è stata fatta per accontentare sia chi vuole utilizzare il software nella nostra lingua, sia per chi ritiene più opportuno utilizzarlo nella lingua originale. Questa impostazione è altresì utile per facilitare le ricerche nella documentazione MSDN, dato che i documenti migliori sono sempre espressi in lingua inglese.

FEEDBACK: spero che il libro vi piacerà. In ogni caso, come ho già più volte affermato, sono graditi consigli, suggerimenti, critiche e segnalazioni di errori (e-mail mario@deghetto.it). Qualunque cosa possa aiutarmi a migliorare, sarà ben accetto. Gli insulti saranno immediatamente cestinati     -)

Pubblicato su Novità | Contrassegnato da tag: , , , | 22 Commenti »

VB6 e Windows Vista

Pubblicato da Mario De Ghetto su 30 Marzo 2008

Mi è stato chiesto se alcune librerie di VB6 sono compatibili con Windows Vista.

Come mio promemoria e per chi dovesse avere la stessa necessità, pubblico il collegamento alla pagina che contiene l’elenco delle librerie compatibili e di quelle non compatibili:
http://msdn2.microsoft.com/en-us/vbrun/ms788708.aspx

Pubblicato su Software HW e Windows, VB6-VBA | Non ci sono Commenti »

Nuove iniziative da Microsoft

Pubblicato da Mario De Ghetto su 27 Marzo 2008

Su gentile richiesta di Sara Morandini e di Alessandro Teglia di Microsoft Italia, ho il piacere di aderire alla promozione di questa nuova interessante iniziativa.

Nel caso in cui il presente annuncio non fosse perfettamente visibile, potrete fare riferimento alla seguente pagina originale: http://www.microsoft.com/italy/eventi/flash/default.mspx

Cattura l'essenza

MSDN Flash: la newsletter dedicata al mondo dello sviluppo applicativo e’ sempre più ricca!

La newsletter MSDN è il notiziario dal mondo Microsoft per gli sviluppatori e i gli architetti software. Ogni due settimane, riceverai nella tua casella di posta elettronica tutte le indicazioni per consentirti di lavorare al meglio con la tecnologia Microsoft. Articoli e risorse tecniche, percorsi formativi online, conferenze, beta e trial di prodotto, anteprime, concorsi e iniziative da non perdere!Da oggi esiste un motivo in più per iscriversi. Fra tutti coloro che, nel periodo dal 18 marzo 2008 al 15 maggio 2008, risulteranno essere iscritti alla newsletter MSDN Flash verrà effettuata l’estrazione di alcuni straordinari premi.Potrai vincere: 

Premi

Leggi il regolamento del concorso

…e non finisce qui
Gorilla.it Grazie alla tua newsletter MSDN Flash, potrai accedere ad un’altra iniziativa: MSDN Bookshelf!
Ad ogni uscita della newsletter, gli iscritti potranno scaricare gratuitamente il capitolo di un libro tecnico dedicato a sviluppatori, architetti software e web designer.
In più, collegandosi al sito di Gorilla.it, potrai acquistare libri Microsoft Press, Mondadori Informatica e Pearson con sconti fino al 35%!N.B: ti ricordiamo di verificare la correttezza dei tuoi dati anagrafici nel modulo di iscrizione alla newsletter, per ricevere le comunicazioni sul concorso, e di aggiornare il tuo profilo di sviluppatore o architetto di soluzioni.

Iscriviti alla newsletter!

Pubblicato su Novità | Non ci sono Commenti »

Introduzione a LINQ: LINQ to Objects

Pubblicato da Mario De Ghetto su 25 Marzo 2008

Segnalo un articolo introduttivo su LINQ scritto da Alessandro Del Sole, riguardante LINQ to Objects.

L’articolo fa parte di una futura mini-serie su LINQ, come indicato dallo stesso autore in questo post.

Vi ricordo che Alessandro Del Sole è autore di alcuni libri editi da Edizioni FAG - Milano e quindi anche questa sua nuova mini-serie su LINQ ha lo stesso ottimo livello qualitativo a cui ci ha abituati.

Pubblicato su LINQ, Novità | Contrassegnato da tag: | 1 Commento »

#28: Progetti “usa e getta” in Visual Studio 2008

Pubblicato da Mario De Ghetto su 22 Marzo 2008

Specialmente quando studiamo una nuova tecnologia o una nuova tecnica di programmazione, in Visual Basic o in C#, può esserci utile evitare di salvare il progetto.

Infatti quello che vorremmo fare, dato che siamo persone ordinate (!), è semplicemente aprire un nuovo progetto senza salvarlo alla creazione, provare il codice e poi chiudere il progetto eliminando ogni sua traccia. In questo modo possiamo evitare di avere l’hard disk pieno di progetti di prova che provocano solo una grande confusione.

Possiamo realizzare tutto questo semplicemente modificando un’opzione di Visual Studio 2008, di Visual Basic 2008 Express o di Visual C# 2008 Express:

  1. selezionate il menu Strumenti > Opzioni > Progetti e soluzioni > Generale (nella versione inglese: Tools > Options > Projects and Solutions > General);
  2. nella scheda che apparirà, esiste una casella di controllo con la voce “Salva nuovi progetti alla creazione” (in inglese “Save new projects when created”): togliendo la spunta potremo disattivare la richiesta di salvataggio del progetto al momento della creazione!

Pubblicato su Tips | Contrassegnato da tag: , , | Non ci sono Commenti »

Libro su Visual Basic 2008 - prossima uscita

Pubblicato da Mario De Ghetto su 15 Marzo 2008

Pubblicato su Novità | Contrassegnato da tag: , , | 1 Commento »

#27: Conversione di una data da formato stringa a DateTime

Pubblicato da Mario De Ghetto su 5 Marzo 2008

Per convertire una stringa in formato “gg/mm/aaaa” in un oggetto di tipo DateTime, è possibile utilizzare la seguente funzione:

Private Function ToDateTime(ByVal _
      dataGG_MM_AAAA  As String) As DateTime
   Dim myCultureInfo As New _
      System.Globalization.CultureInfo(”it-IT”, _
      True)
   Dim formato As String = “dd/MM/yyyy”
   Return _
     System.DateTime.ParseExact(dataGG_MM_AAAA, _
        formato, myCultureInfo)
End Function

Per testare questa funzione, invece, potete provare il seguente codice:

Private Sub Form1_Load(ByVal sender _
      As System.Object, _
      ByVal e As System.EventArgs) _
      Handles MyBase.Load
    Dim dataStringa As String
    Dim data As Date
    dataStringa = “01/03/2008″
    data = ToDateTime(dataStringa)
    MessageBox.Show(Month(data))  ‘ <– visualizza “3″
End Sub 

Pubblicato su Tips | Contrassegnato da tag: | Non ci sono Commenti »

#26: VB 2008 e LINQ to Objects

Pubblicato da Mario De Ghetto su 5 Marzo 2008

LINQ to Objects permette di eseguire interrogazioni su oggetti presenti in memoria.

Questa tecnica può essere applicata anche a un array, come possiamo vedere dal seguente esempio:

Public Class Form1
    Private Sub Button1_Click(ByVal sender _
          As System.Object, _
          ByVal e As System.EventArgs) _
          Handles Button1.Click
        ‘ variabili per composizione
        ‘ del messaggio finale:
        Dim messaggio As String = “”
        Dim NL As String = Environment.NewLine
        ‘ dichiarazione array:
        Dim frutti() As String = _
           {“mela”, “pera”, “banana”, “mandarino”}
        ‘ dichiarazione della variabile che conterrà
        ‘ l’insieme delle stringhe restituite dalla
        ‘ query. La query è dichiarata nella stessa
        ‘ istruzione:
        Dim fruttiPreferiti = _
           From f In frutti _
           Where f.StartsWith(“m”) _
           Select f
        ‘ scorrimento dell’insieme delle stringhe
        ‘ per la composizione del messaggio:
        For Each frutto In fruttiPreferiti
            messaggio &= “Frutto: “ & frutto & NL
        Next
        MessageBox.Show(messaggio)
    End Sub
End Class

Le stringhe restituite dalla query sono “mela” e “mandarino”.

Pubblicato su LINQ, Tips | Contrassegnato da tag: , | Non ci sono Commenti »

Diagram Designer

Pubblicato da Mario De Ghetto su 4 Marzo 2008

Nota: questo articolo è stato pubblicato nel Notiziario dell’Ordine degli Ingegneri della Provincia di Belluno n. 1-2/08. 

Continuiamo con una carrellata di utili programmi gratuiti, liberamente scaricabili da Internet. L’argomento che trattiamo in questo appuntamento di “Angolo informatico” è incentrato su un programma per la creazione di diagrammi. 

Diagram Designer 

Un diagramma di flusso viene tradizionalmente utilizzato per la progettazione di software e, in particolare, per la definizione dell’algoritmo da utilizzare per un particolare problema.

Possiamo utilizzare un diagramma di flusso anche in ambiti diversi dalla programmazione: per esempio per illustrare graficamente le procedure per la gestione della qualità o per gestire, in generale, qualsiasi procedimento che si sviluppa in più passi complessi e articolati.

Un software che può aiutarci a disegnare un diagramma di flusso è Diagram Designer, attualmente distribuito in versione 1.19 attraverso il sito http://meesoft.logicnet.dk/.

A tale indirizzo possiamo trovare anche altri software gratuiti molto interessanti in ambito grafico, per esempio:

  • Log Paper per stampare dei fogli millimetrati a base logaritmica per il disegno manuale di diagrammi;
  • Image Analyzer per analizzare e correggere fotografie sfuocate;
  • Font View per visualizzare i font installati sul computer e trovare font presenti in più copie per eliminare quelli che non servono;
  • SmartMorph per ottenere delle fotografie ottenute per “morphing” da due distinte fotografie.

Selezionando Diagram Designer nel menu di sinistra, possiamo accedere alla pagina descrittiva che mostra alcuni esempi di cosa si può ottenere con questo software. In questa pagina ci sono i link per scaricare il software da diversi server. I link che vorrei consigliare sono i primi due e precisamente:

Dopo aver scaricato il file di installazione della dimensione di circa 1,27 Mb, possiamo avviare l’installazione: per prima cosa viene visualizzato un testo con il quale l’autore declina ogni responsabilità per eventuali danni causati dal software (pratica molto comune per quasi tutti i software distribuiti) e stabilisce che il software può essere copiato e distribuito così com’è, tranne nel caso di una distribuzione a fini commerciali.

Dopo aver accettato premendo il pulsante “Accept”, verificata/modificata la cartella di installazione e confermato l’avvio dell’installazione (pulsante “Install”), verrà mostrato un messaggio con il quale l’autore chiede il supporto tramite donazioni, aiuto nel miglioramento della documentazione, nella traduzione del software e nello sviluppo di estensioni.

Consiglio di togliere la spunta alla casella “Show this message on startup” per evitare che il messaggio venga visualizzato a ogni riavvio del programma. Confermate l’associazione delle estensioni di file e apparirà la schermata principale di Diagram Designer.

A proposito di traduzioni, è possibile scaricare il “Language Pack” dall’indirizzo http://meesoft.com/DiagramDesigner/LanguagePack.exe (214 kb). Tra le numerose lingue disponibili è compresoanche l’italiano.

Avviando questo eseguibile, verrà visualizzata la cartella dove verrà installato e premendo “Install” potremo procedere all’effettiva installazione. Diagram Designer si accorge che sono state installate nuove lingue e quindi propone la scelta della lingua preferita. Una volta che avremo effettuato la nostra scelta, è necessario riavviare il programma.

L’uso del programma è abbastanza semplice: si seleziona e si trascina una delle forme disponibili, rilasciandola sul foglio nella posizione desiderata. Più forme possono essere unite con dei connettori che si inseriscono con la stessa modalità. Ogni estremità di un connettore può essere avvicinata a uno dei punti “sensibili” di un oggetto (indicati con delle piccole “x”), agganciandola a tale punto: questo permette di mantenere il collegamento anche quando spostiamo l’oggetto in un’altra posizione. Un doppio click su un oggetto (per esempio un rettangolo) apre un semplice editor per l’inserimento di testo all’interno dell’oggetto stesso.

Le funzionalità disponibili sono veramente molte: dalla rotazione all’allineamento, dal raggruppamento di più oggetti al correttore ortografico e perfino un semplice risolutore di espressioni. Tramite il menu File > Tavolozza forme > Carica tavolozza forme, poi, è possibile caricare simboli di vario genere, utilizzabili per creare diagrammi di circuiti elettronici, oggetti per la definizione di un’interfaccia grafica di un software (pulsanti, caselle di testo ecc.) e un set molto esteso di simboli per la creazione di un flowchart. E’ un programma semplice da installare e utilizzare, ma molto ricco di funzionalità che lo rendono estremamente utile e versatile.  

Chi volesse ottenere informazioni in merito agli argomenti presentati in questa rubrica, oppure proporre argomenti da trattare nei prossimi appuntamenti, può farlo inviando una richiesta all’indirizzo e-mail mario@deghetto.it oppure alla Segreteria dell’Ordine.

Pubblicato su Angolo informatico | Non ci sono Commenti »

Libro su Visual Basic 2008 - aggiornamento

Pubblicato da Mario De Ghetto su 3 Marzo 2008

Pubblicato su Novità | Contrassegnato da tag: , , | 12 Commenti »

#25: Conversione di data e ora in stringa

Pubblicato da Mario De Ghetto su 27 Febbraio 2008

Per convertire un dato di tipo DateTime in stringa formattata, possiamo utilizzare una delle forme del metodo ToString. Il seguente esempio mostra come è possibile ricavare la data e ora corrente, solo la data corrente e solo l’ora corrente:

Dim dt As DateTimedt = DateTime.Now
‘ data e ora:
Dim dataOra As String = dt.ToString
‘ solo data in formato GG/MM/AAAA:
Dim data As String = dt.ToString(“dd/MM/yyyy”)
‘ solo ora in formato HH.MM.SS (ore da 0 a 23):
Dim ora As String = dt.ToString(“T”)
‘ stampa i tre valori:
Dim s As String = dataOra & Environment.NewLine & _
    data & Environment.NewLine & ora
MessageBox.Show(s)

Il risultato sarà simile al seguente:

27/02/2008 20.36.23
27/02/2008
20.36.23

Pubblicato su Tips | Contrassegnato da tag: , , | Non ci sono Commenti »

#24: Limite superiore e inferiore di un array

Pubblicato da Mario De Ghetto su 26 Febbraio 2008

Per trovare i limiti superiore e inferiore di un array monodimensionale (vettore), in VB6 avevamo le funzioni UBound() e LBound().

Con VB.NET dobbiamo invece utilizzare due metodi messi a disposizione dall’array, cioè GetUpperBound e GetLowerBound, come nel seguente esempio:

Dim a() As Integer = {1, 2, 3}
Dim limiteSuperiore As Integer = a.GetUpperBound(0)
Dim limiteInferiore As Integer = a.GetLowerBound(0)

Pubblicato su Tips | Contrassegnato da tag: , , | Non ci sono Commenti »

#23 Cancellare tutti i file di una cartella

Pubblicato da Mario De Ghetto su 25 Febbraio 2008

Per cancellare tutti i file contenuti in una cartella, possiamo utilizzare una semplice routine come questa:

Public Sub SvuotaDir(ByVal cartella As String)
    Dim di As IO.DirectoryInfo = _
            New IO.DirectoryInfo(cartella)
    For Each oFile As IO.FileInfo In di.GetFiles()
        oFile.Delete()
    Next
End Sub

E’ necessario passare alla Sub una stringa contenente il percorso della cartella da svuotare (compreso l’identificativo del drive). Ecco un esempio di utilizzo, con un pulsante nel form per avviare la cancellazione dei file: 

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, _
            ByVal e As System.EventArgs) Handles Button1.Click
        Dim cartella As String = “”
        cartella = “C:prova”
        SvuotaDir(cartella)
        MessageBox.Show(“Fatto!”)
    End Sub
    Public Sub SvuotaDir(ByVal cartella As String)
        Dim di As IO.DirectoryInfo = _
                New IO.DirectoryInfo(cartella)
        For Each oFile As IO.FileInfo In di.GetFiles()
            oFile.Delete()
        Next
    End Sub
End Class

Pubblicato su Tips | Contrassegnato da tag: , , | Non ci sono Commenti »

Libro VB 2008 - Progetto di esempio del capitolo 10

Pubblicato da Mario De Ghetto su 22 Febbraio 2008

Nell’attesa di completare il mio libro su Visual Basic 2008 (ormai mancano solo un paio di capitoli) pubblico il progetto di esempio del capitolo 10.

Il progetto consiste in un semplice editor di file di testo che ho utilizzato per mostrare l’uso di tutte le finestre comuni di dialogo. Nell’esempio sono inclusi tutti i seguenti controlli:

OpenFileDialog
SaveFileDialog
FolderBrowserDialog
FontDialog
ColorDialog
PageSetupDialog
PrintPreviewDialog
PrintDialog
PrintDocument
PrintPreviewControl
MenuStrip
StatusStrip (StatusLabel e ProgressBar)

Ovviamente la spiegazione dettagliata della creazione del progetto passo-passo la troverete nel libro che sarà pubblicato prossimamente (probabilmente verso fine marzo 2008). 

Premesso che il progetto è solamente dimostrativo, è comunque perfettamente funzionante ed è possibile estenderlo con altre funzionalità non previste da questo esempio (per esempio ricerca e sostituzione di testo).

Pubblicato su Articoli vari, Novità | Contrassegnato da tag: , , | 3 Commenti »