giovedì 4 febbraio 2010
E’ con vero piacere che vi annuncio l’uscita del mio quinto libro: “Le basi di dati spiegate a mia nonna”, edito da “Edizioni FAG Milano”. Il libro è composto da 384 pagine e costa 35,00 Euro. Questo libro è in un formato leggermente più grande rispetto ai miei libri precedenti e il carattere e la grafica sono ampiamente migliorati, consentendo così una leggibilità ancora migliore di prima.
Al più presto provvederò a creare una pagina con i riferimenti all’indice, agli argomenti trattati e a tutti gli esempi scaricabili, così da poter avere un’unica pagina di riferimento con tutti i contenuti fruibili gratuitamente.
Attenzione: non è il classico libro su ADO.NET e simili, ma piuttosto un libro che spiega in modo (spero) chiaro come si fa una corretta progettazione di un database relazionale. Un po’ di matematica e insiemistica (il meno possibile) e vari esempi. Spero che possa piacervi.
Eventuali feedback su errori, strafalcioni e inesattezze, ma anche richieste per una eventuale futura riedizione sono molto ben accetti (mario@deghetto.it).
La pagina di riferimento sul sito FAG è la seguente: http://www.fag.it/scheda.aspx?ID=31657
mercoledì 3 febbraio 2010
Dal 1° Febbraio ho iniziato “ufficialmente” la scrittura del mio nuovo libro su Visual Basic 2010. Per il momento sto scrivendo il capitolo introduttivo e sto raccogliendo il materiale su tutte le novità che saranno introdotte da Visual Studio 2010 e da .NET Framework 4.0.
L’obiettivo (oltre che la correzione di un po’ di errori o inesattezze del precedente testo) è quello di estendere ancora di più gli argomenti trattati, aggiungendo nuovi capitoli e migliorando i capitoli esistenti, sulla base dei feedback che ho ricevuto dall’uscita del libro su VB 2008.
In termini quantitativi, mi pongo l’obiettivo di aumentare le pagine dalle 576 del libro precedente ad almeno 7-800. Tenendo conto del fatto che è anche aumentato il formato dei libri FAG, ho sufficiente spazio per trattare parecchi altri argomenti.
Vi invito a scrivermi in e-mail (mario@deghetto.it) segnalandomi l’ordine di preferenza degli argomenti che vorreste vedere nel nuovo libro. Per esempio:
1) Serializzazione
2) Sicurezza
3) Windows Azure
Grazie!
martedì 2 febbraio 2010
Leggendo l’elenco delle novità che avremo con la nuova versione di Visual Studio (2010), ho trovato questa affermazione importante, come già espressa anche dal Team che si occupa dello sviluppo, che mi sembra il caso di segnalare ed evidenziare:
“In Visual Studio 2010, the Visual Basic and C# languages continue to evolve toward feature parity. This enables you to choose a language based on personal preferences because both languages are equally capable.”
Si afferma, quindi, che i linguaggi Visual Basic e C# continuano ad evolvere verso la parità delle loro caratteristiche e che questo ci porterà a scegliere un linguaggio solo in base alle personali preferenze, dato che entrambi i linguaggi hanno le stesse capacità.
La documentazione da cui ho tratto questa affermazione si trova qui: http://msdn.microsoft.com/en-us/library/dd547188(VS.100).aspx
Speriamo che nell’intento di uniformare i due linguaggi per elevarli allo stesso livello di dignità, anche Microsoft si accorga che Visual Basic non è più il “BASIC” inteso come linguaggio per principianti (beginners). Perché dico questo? Be’, provate a installare Visual Studio 2008 Express (si chiama Visual Studio anche la versione Express che include tutte le varie installazioni di VB Express, C# Express ecc.): passando con il mouse sulla voce “Visual Basic 2008 Express”, vedrete che sul lato sinistro appare la descrizione del linguaggio come un linguaggio adatto ai principianti. Se passate invece sulla voce “Visual C# 2008 Express” vedrete che è definito come linguaggio perfetto per i professionisti. Non è un controsenso?
lunedì 1 febbraio 2010
La prima versione dello screencast “ADO.NET 2.0 Primo Contatto” l’avevo creata con un prodotto free (CommunityClips). Purtroppo la versione free ha probabilmente qualche limitazione e/o richiede un codec specifico, per cui alcuni iscritti mi avevano informato che non si riusciva a vedere.
Cogliendo la palla al balzo (un balzo un po’ lento …) e grazie anche alla mia licenza CamTasia 6.01 “full”, ottenuta grazie alla nomina MVP (Thank you very much, TechSmith – http://www.techsmith.com/ !!), ho provveduto a rifare la registrazione con questo ottimo prodotto.
La registrazione risultante è un po’ più lunga di circa 3-4 minuti rispetto alla prima versione (in tutto sono circa 10 minuti), perché ho aggiunto anche qualche informazione in più, seppur restando nell’ambito di quanto illustrato nella prima versione.
La nuova versione si trova allo stesso indirizzo della precedente e cioè http://deghetto.wordpress.com/2008/10/25/screencast-adonet-20-primo-contatto/ per quanto riguarda il mio blog WordPress, mentre la versione sul portale VBT&T arriverà appena potrà essere sostituita quella precedente (ho appena richiesto la sostituzione, quindi … abbiate pazienza!).
Mi farete un grosso piacere a farmi sapere se questa versione funziona meglio, se ci sono dei difetti di registrazione e se la qualità della registrazione in generale è valida.
Per quanto riguarda i contenuti, spero che vi possano interessare, soprattutto a chi si approccia per la prima volta a questa tecnologia. Abbiate pietà per la qualità dell’esposizione, visto che questi sono i miei primi timidi passi verso gli ScreenCast (al momento trovo ancora abbastanza innaturale a parlare al computer, se non per indirizzargli insolenze e vituperi vari!).
Buona visione! 
Nota: questo screencast non è nell’area webcast di DotNetWork perché l’ho registrato un bel po’ di tempo fa. Mi riprometto di rifarlo con un po’ di informazioni in più, nella nuova versione di Visual Studio 2010.
Mi riallaccio al post di Renato Marzaro proprio su questo argomento (http://community.visual-basic.it/renato/archive/2009/02/25/24984.aspx) per aggiungere qualche informazione che è possibile estrapolare dall’articolo segnalato e dai alcuni dei numerosi commenti che i lettori gli hanno inviato.
Jason Zander, General Manager di Microsoft per Visual Studio – Developer Division, ha pubblicato nel suo blog un articolo sulla nuova interfaccia visuale del futuro Visual Studio 2010 (http://blogs.msdn.com/jasonz/archive/2009/02/20/a-new-look-for-visual-studio-2010.aspx).
Potete vedere alcuni screenshot all’indirizzo che ho riportato qui sopra.
La cosa tra tutte più impressionante è il fatto che l’IDE di Visual Studio 2010 è stato riscritto interamente in WPF!
Un’altra caratteristica interessante che ha trovato parecchi consensi è la possibilità di sganciare la finestra di un documento e di spostarla su un altro monitor, qualora dovessimo avere la disponibilità di più monitor.
Nella barra a sinistra dell’editor di codice (quella dove clicchiamo per attivare dei breakpoint, per intenderci), avremo alcuni nuovi segnalini:
- un triangolino nero, per indicare sezioni di codice che possono essere fatte collassare (come le Region)
- un triangolino bianco, per indicare sezioni di codice collassate che possono essere ripristinate
- delle barrette colorate per indicare quali righe di codice sono state modificate.
La finestra di dialogo New Project è stata ridisegnata con migliori funzionalità di ricerca, anteprima di template online e una navigazione più facile. Visual Studio mantiene la caratteristica multi-target, cioè la capacità di utilizzare versioni diverse del Framework .NET cioè 2.0, 3.0 e 3.5, con in più l’aggiunta della versione 4.0.
Ora c’è anche il nuovo Extension Manager per trovare e gestire più facilmente le estensioni a Visual Studio prodotte da terze parti (partner o anche appassionati).
Non è previsto in questo momento di estendere il supporto del Framework .NET 4.0 per Visual Studio 2008. Comunque, Visual Studio 2010, potrà essere installato senza problemi anche su Windows XP.
Al momento non è ancora stata fissata una data di rilascio della Beta 1 di Visual Studio 2010, ma il Team ci sta lavorando ed è probabile che sentiremo presto notizie in merito!
Nel mio post precedente (tip #50) ho spiegato come si configura un nuovo strumento esterno da Visual Studio 2008 per aprire direttamente Expression Blend sul progetto corrente. Expression Blend lavora su progetti WPF e quindi non può essere avviato con un progetto web o Windows Forms.
Per utilizzare Microsoft Expression con (pressappoco) gli stessi strumenti, anche su un progetto web, possiamo utilizzare Expression Web.
La configurazione è molto simile a quella che ho illustrato per Expression Blend, con qualche piccola variante. Anzi, a parte il titolo dello strumento esterno (Expression Web anziché Expression Blend), cambia solo il Comando:
- C:\Program Files\Microsoft Expression\Web 2\WebDesigner\EXPRWD.EXE (per la versione a 32 bit)
- C:\Program Files (x86)\Microsoft Expression\Web 2\WebDesigner\EXPRWD.EXE (per la versione a 64 bit).
Ecco qui la finestra di dialogo:

Molti di voi sapranno che è possibile compilare un progetto o una soluzione di Visual Basic 2008 in due modalità distinte: DEBUG e RELEASE.
Nella modalità DEBUG vengono mantenuti i simboli interni, al fine di poter disporre di un riferimento di supporto alla verifica del codice inserito. Nella modalità RELEASE, invece, vengono eliminati tutti questi simboli e l’applicazione compilata è pronta alla distribuzione.
Distribuire un’applicazione in modalità DEBUG non solo è inutile ma è anche dannoso: infatti le informazioni possono essere utilizzate per un’operazione di reverse engineering per recuperare il nostro codice VB.NET, ma anche le prestazioni dell’applicazione ne possono risentire in senso negativo. E’ quindi importante, prima di distribuire un’applicazione, passare alla modalità RELEASE e ricompilare il progetto o la soluzione.
Premesso questo, talvolta è importante sapere se un assembly sia stato compilato in modalità DEBUG o RELEASE, per evitare di distribuire l’applicazione dimenticando il passaggio dalla modalità DEBUG alla modalità RELEASE.
Possiamo ottenere questo in modo estremamente semplice, con questi semplici passi:
- nella finestra Esplora Soluzioni, attivare il pulsante “Mostra tutti i file”;
- nel livello inferiore contenuto nel nodo “My Project” troveremo così il file AssemblyInfo.vb; aprire questo file per visualizzare il codice;
- in tale file troveremo una “istruzione” simile alla seguente:
<Assembly: AssemblyTitle(“WindowsApplication2″)> - commentare tale istruzione con il simbolo di apice oppure eliminare l’intera riga;
- inserire il seguente codice:
#If DEBUG Then
<Assembly: AssemblyTitle("MyApplication *** Debug ***")>
#Else
<Assembly: AssemblyTitle("MyApplication *** Release ***")>
#End If
A questo punto possiamo compilare in entrambe le modalità per ottenere gli eseguibili (exe) in entrambe le sottocartelle del progetto (debug e release).
Per verificare se un eseguibile (assembly) sia stato compilato in modalità DEBUG o RELEASE, possiamo semplicemente passare con il puntatore del mouse sopra al nome del file eseguibile nella finestra di Esplora risorse, come mostrato nella seguente figura:

Quando si lavora con un progetto di tipo WPF Application in Visual Studio 2008, potrebbe essere interessante passare a Microsoft Expression Blend (se installato sul nostro PC) per gestire in modo più flessibile la parte grafica dell’applicazione stessa.
Per chi non dovesse saperlo, Visual Studio 2008 permette di personalizzare il menu Strumenti, aggiungendo gli strumenti esterni che si preferiscono. Procederemo quindi alla personalizzazione dell’IDE di Visual Studio 2008 per aggiungere una voce Expression Blend.
Nota: per questo compito ho utilizzato Visual Studio 2008 Team System e Expression Blend 2, entrambi installati in Windows Vista Ultimate a 64 bit.
I passi da seguire sono questi:
- dal menu Strumenti, cliccare su Strumenti esterni
- nella finestra di dialogo che apparirà, fare clic sul pulsante Aggiungi
- nella casella Titolo inserire Expression Blend
- nella casella Comando inserire il percorso e il nome dell’eseguibile di Expression Blend (nel mio caso è C:\Program Files (x86)\Microsoft Expression\Blend 2\Blend.exe)
- nella casella Argomenti inserire $(SolutionDir)$(SolutionFileName)
- lasciare vuota la casella Directory iniziale
- fare clic sul pulsante Applica.
Questa procedura non solo permette di aprire Expression Blend ma, dopo aver aperto questa applicazione, apre il file XAML su cui stavamo lavorando in Visual Studio 2008.
La prima volta che utilizzeremo questa procedura, Expression Blend ci avvertirà che c’è un problema di sicurezza. Per evitare questo messaggio, possiamo spuntare la casellina che permette di non ricevere più il messaggio e confermare l’apertura del file.
Nota: il percorso del comando che è possibile trovare su Vista a 32 bit (installato sul portatile da cui sto scrivendo) è il seguente:
C:\Program Files\Microsoft Expression\Blend 2\Blend.exe
Sul blog del Team di MSDN Italia è stata annunciata la pubblicazione di alcuni video di Corrado Cavalli sulla nuova piattaforma video MSDN.
Questa serie di video forma un tutorial su WPF (Windows Presentation Foundation). Ovviamente il tutorial è estremamente consigliato a cui volesse avvicinarsi a questa tecnologia, come anche a chi si è già avvicinato ma vuole imparare qualcosa di più, perché non c’è niente di meglio che poter vedere in pratica cosa si può fare e sentire la spiegazione dalla viva voce di uno dei più esperti italiani in materia.
I primi video pubblicati sono i seguenti, ma vi consiglio di dare sempre un’occhiata alla piattaforma video MSDN, perché ci saranno molte altre novità:
Introduzione a WPF Nuovi concetti per lo sviluppatore Windows Forms (prima parte) Nuovi concetti per lo sviluppatore Windows Forms (seconda parte) Databinding WPF nel mondo reale: architettura e pattern Model-View-ViewModel
Supponiamo di avere un’applicazione inserita nel menu “Esecuzione automatica” e che tale applicazione abbia la necessità di accedere automaticamente a un database collegato a un’istanza di SQL Server 2008 Express locale.
Nel caso in cui il computer sia appena stato acceso, potrebbe verificarsi un ritardo di avvio del servizio di SQL SERVER e quindi potremmo ottenere un errore di connessione dalla nostra applicazione.
Dobbiamo quindi verificare che il servizio MSSQL$SQLEXPRESS sia già stato avviato, così da permettere alla nostra applicazione di restare in attesa o, addirittura, di avviare il servizio prima di procedere alle operazioni programmate.
Per verificare che il servizio sia stato avviato, possiamo utilizzare il seguente frammento di codice che include sia la direttiva di importazione dell’opportuno namespace, sia il codice del metodo che legge lo stato del servizio, sia il codice del metodo principale che testa il metodo di lettura dello stato.
Imports System.ServiceProcess
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Dim nomeServizio As String = "MSSQL$SQLEXPRESS"
Dim risposta As Boolean = StatoServizio(nomeServizio)
MessageBox.Show("Servizio " & nomeServizio & " = " & risposta)
End Sub
Private Function StatoServizio(ByVal nomeServizio As String) As Boolean
Dim risultato As Boolean = False
Dim mySCMs() As ServiceController
mySCMs = ServiceController.GetServices()
Dim mySCMTemp As ServiceController
For Each mySCMTemp In mySCMs
If mySCMTemp.ServiceName = nomeServizio Then
If mySCMTemp.Status = ServiceControllerStatus.Running Then
risultato = True
Else
risultato = False
End If
mySCMTemp.Close()
Exit For
End If
Next
Return risultato
End Function
End Class
Naturalmente è sufficiente cambiare il nome del servizio da verificare per avere la possibilità di conoscere lo stato (“Avviato” oppure no) di qualsasi servizio installato.
Il significato dei valori della proprietà ‘Status‘ sono i seguenti:
1 – Stopped = Il servizio non è in esecuzione
2 – StartPending = Il servizio si sta avviando
3 – StopPending = Il servizio si sta fermando
4 – Running = Il servizio è in esecuzione
5 – ContinuePending = Il servizio si sta riavviando
6 – PausePending = Il servizio si sta ponendo in pausa
7 – Paused = Il servizio è in pausa
Come sicuramente sa chi ha studiato gli algoritmi (indipendentemente dal linguaggio utilizzato), uno dei problemi più interessanti è quello di trovare tutte le soluzioni del “problema delle 8 Regine”.
Per chi non conoscesse il gioco degli scacchi, la Regina si può spostare orizzontalmente o diagonalmente per un numero di caselle pari alle caselle che trova libere, quindi anche da un’estremità all’altra della scacchiera. La scacchiera è formata da 8 x 8 caselle e su tale scacchiera devono poter trovare posto 8 Regine, senza che ciascuna Regina sia posta sulla stessa riga, sulla stessa colonna o sulla stessa diagonale di un’altra Regina.
Su CodeProject è disponibile il codice sorgente di un programma scritto in VB.NET che risolve il problema delle 8 Regine: http://www.codeproject.com/KB/vb/EightQueensProblem.aspx.
Il programma permette di visualizzare tutte le soluzioni possibili oppure di provare a trovare la propria personale soluzione.
domenica 31 gennaio 2010
Per chi non fosse stato informato o non si fosse accorto dei numerosi avvisi, l’account di Windows Azure fornito gratuitamente (CTP) scade oggi (ved. immagine qui di seguito):
Chi fosse interessato a mantenere l’account deve necessariamente passare a un account a pagamento.
Se avete un abbonamento MSDN, verificate se avete un ulteriore periodo di benefit gratuito (salvo “sforamento” dei limiti previsti, oltre i quali si paga per la parte eccedente).
Personalmente non ho voluto usufruire dell’ulteriore possibilità di utilizzo gratuito e quindi da domani farò nuovamente a meno di Windows Azure.
sabato 30 gennaio 2010
Con l’autorizzazione di Stefano (che non vuole essere citato anche con il cognome), pubblico uno scambio di e-mail tra me e lui su un problema che ha riscontrato nell’eseguire gli esempi del mio libro su VB 2008.
Non capisco ancora come mai lui non sia riuscito a utilizzare gli esempi così come sono, soprattutto per il fatto che è incorso in errori già nei primi esempi, quelli semplici senza particolari controlli visuali e senza particolari tecniche di programmazione (il classico “Hello World”…).
Comunque se qualcuno dovesse avere lo stesso problema, utilizzando VB 2005, con le informazioni incluse in questo “scambio” dovrebbe risolvere.
In ogni caso, può essere interessante la soluzione con la modalità di compilazione a riga di comando che in certi casi può essere molto utile.
1-Stefano) Buongiorno.
Intanto complimenti per il suo libro "Visual Basic 2008 spiegato a
mia nonna": il linguaggio è davvero "frendly" e i primi 4 capitoli sono
"volati" via velocemente...
Sono alle prime armi con la programmazione e mi trovo già in difficoltà:
ho scaricato e salvato (in C) i primi 2 file d'esempio ma non riesco ad utilizzarli.
Utilizzo un pc con Windows XP home ed sp3 e Visual basic 2005 express edition.
Come indicato nel suo libro ho modificato il file di soluzione con blocco note,
inserendo ".... ,Format Version 9.0", ma VB2005ExEd mi restituisce l'errore in
allegato (veda error1.jpg). Sono entrato nel file .vbproj ma non riesco a
capire cosa modificare: forse il progetto non è supportato da VB2005ExEd?
Devo necessariamente installare la versione 2008 express edition?
Eventualmente è possibile utilizzare il compilatore interno (vbc.exe)?
Grazie fin d'ora per le informazioni che potrà darmi.
Cordiali saluti.
2-Mario) Buongiorno!
Grazie per i complimenti, mi fa piacere sapere che i miei libri vengono apprezzati :-)
Venendo al problema, credo che dipenda dall'indicazione del Framework .NET 3.5.
Aprendo il progetto (per esempio il file Cap02_01.vbproj) si dovrebbero sostituire
tutte le voci "3.5" con "2.0", per esempio nei tag
"<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>"
oppure in "<RequiredTargetFramework>3.5</RequiredTargetFramework>".
Mi sembrava di averli testati anche con VB 2005 e quindi mi appare strano di
vedere indicato il Framework .NET 3.5, ma evidentemente li ho modificati prima
della pubblicazione.Mi scuso per questo disguido...
In quanto alla versione di VB Express, consiglio vivamente a tutti di passare
alla versione 2008 perché contiene molte nuove caratteristiche molto interessanti.
Ovviamente è un requisito minimo indispensabile per fruire correttamente degli
esempi del libro.
Tra qualche mese uscirà la versione 2010, per cui ti consiglio (vivamente!) di
scaricare e di installare appena disponibile la versione Express in italiano
(verso Maggio-Giugno, credo).
Ho giusto ieri concordato con l'editore di partire con la scrittura del nuovo libro
su questa versione, per documentare tutte le novità che usciranno.
Colgo l'occasione per segnalare che il mio blog su VB T&T è chiuso e quindi si
può fare riferimento ai blog indicati qui sotto, in firma.
Fammi sapere se cambiando il riferimento al Framework .NET hai risolto...
3-Stefano) Non ho risolto.In allegato trovi i file così come li ho modificati.
Sbaglio in qc...ma cosa?
Ps.Il salto alle versioni più aggiornate mi costringerà a una sostituzione del pc
... e comunque la mia macchina è effettivamente piuttosto datata...
Grazie. Saluti.
[ allegato: Cap02_01.vbproj]
4-Mario) Mi sembra a posto e quindi non saprei proprio perché non si apre, anche perché di
solito bisogna cambiare solo il file di soluzione (.sln), mentre i file di progetto
restano uguali, se non ci sono delle caratteristiche relative a Framework diversi.
Potresti provare a creare una soluzione vuota, aggiungendo poi il progetto,
oppure creare un progetto e poi aggiungere i form dei miei esempi...
5-Stefano) Ok . Verificherò meglio anche negli altri file, altrimenti partirò da
progetti nuovi: ciò che è essenziale è "capire" il codice.
Se ci saranno sviluppi ti farò sapere, intanto ancora grazie della disponibilità.
6-Stefano) Ho provato a sostituire TUTTE le voci "3.5" con "2.0" modificando TUTTI
i file che compongono il progetto (li ho aperti ad uno ad uno, individuando per
ognuno di essi la voce 3.5 e sostituendola), ma la prova è fallita lo stesso.
Ho avuto un riscontro interessante perseguendo quell'altra strada, cioè quella
del compilatore interno a Windows. Attraverso esso sono riuscito a processare e
a ottenere il mio meritato "Ciao mondo". Ecco come ho fatto:
A) ho aggiunto nel file Form1.vb
come prima istruzione il seguente imports:
Imports System.Windows.Forms
Public Class Form1
...
AA) poi ho creato un file Compila.txt dentro la cartella contenente il progetto
allo stesso livello dei file vb
B) ho scritto le seguenti due righe dentro il file Compila.txt:
set PATH=%PATH%;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727
vbc /reference:Microsoft.VisualBasic.dll,System.dll,System.Windows.Forms.dll /out:Form1.exe /main:Form1 *.vb
C) ho rinominato Compila.txt in Compila.bat
D) ho fatto doppio click su Compila.bat
Basta attendere qualche secondo:il compilatore, elabora e genera il file
Form1.exe
E) con un doppio click si avvia il debug e appare la message box di Ciao Mondo!.
Credo che le cose si spieghino più o meno così:
- Con la prima riga si dice a Windows dove andare a cercare il file vbc.exe
- Con la seconda si compilano tutti i file vb per farne un unico eseguibile Form1.exe.
- Con la direttiva /reference indichiamo al compilatore di includere le librerie
del VB.NET che stanno alla base di ogni eseguibile (quando compiliamo con l'IDE
ci pensa lui ad includerle) e la direttiva /main con la quale
specifichiamo quale è la classe che avvierà il programma..
Ho trovato diverse informazioni all'indirizzo: http//msdn.
microsoft.com/it-it/library/ms229597.aspx
e decisiva è stata una "dritta" passatami dall'amico Alessandro..
Per dirla tutta ho provato a processare altri esempi del libro: spesso la
procedura fallisce e le motivazioni mi rimangono più o meno sconosciute.
Forse questa è una modalità per utenti avanzati, oppure
per chi, per vari motivi, non può installare sulla propria macchina l'IDE.
Alla fine io sono passato alla 2008 express edition e per ora il mio vecchio PC
sta reggendo bene.
martedì 26 gennaio 2010
Segnalo un altro interessante articolo per l’uso di token nei documenti Office, pubblicato su CodeProject a questo indirizzo:
http://www.codeproject.com/KB/office/OfficeTokenReplacement.aspx
Immaginate questo scenario: avete dei documenti Word e volete integrare tali documenti con i dati provenienti da un database. Un tipico esempio è il caso di una fattura prodotta in formato Word.
Ovviamente in questo caso non vogliamo utilizzare la stampa unione di Word, anche perché tale modalità permette, sì, di stampare anche una singola fattura, ma richiede all’operatore qualche manovra in più che potrebbe non saper fare e quindi vogliamo automatizzare il più possibile tutto il processo.
L’unica particolarità che il documento Word deve contenere, oltre al testo fisso, è un insieme di uno o più “token“, cioè un “gettone”, un segnalino. Ognuno di questi token corrisponderà a un’unità elementare di dato, allo stesso modo dei codici di campo di Word per la stampa unione.
Il codice presentato è in Visual Basic .NET ed è adatto sia all’uso con MS Office (versione 2007), sia con OpenOffice (versione 2.4 e successive).
Segnalo un articolo abbastanza interessante sulla migrazione da VB6 a VB.NET, pubblicato su CodeProject al seguente indirizzo:
http://www.codeproject.com/KB/vb/VB6ToVBNET.aspx
L’articolo affronta alcuni aspetti che possono dare dei problemi durante la migrazione e in particolare quelli riguardanti le seguenti aree:
- l’uso di Visual Studio 2008 Upgrade Wizard
- cambio del Framework .NET di riferimento
- cancellare il report generato automaticamente durante l’upgrade
- correzione degli errori
- codice riguardante l’uso delle stringhe, degli operatori logici e per la gestione dei file
- DoEvents
E’ un breve testo in inglese, ma potrebbe essere una sufficiente base per iniziare a testare la migrazione di un semplice progetto VB6 verso VB.NET.