Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1907, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

gennaio 2008 Blog Posts

P/Invoke Interop Assistant

Leggendo questo post di Corrado Cavalli, sono venuto a conoscenza di uno strumento realizzato da Microsoft, chiamato P/Invoke Interop Assistant che è uno tool che permette di generare la dichiarazione API, attraverso l'attributo .NET DllImport, di tutte le funzioni non gestite. Così sono andato a scaricarlo per vedere da vicino come funziona. In pratica, è possibile scorrere l'elenco delle funzioni unmanaged e selezionare il linguaggio (VB o C#) per il quale generare la dichiarazione tramite DllImport. Una volta selezionata la funzione unmanaged, è sufficiente utilizzare l'apposito pulsante di generazione per veder comparire in una TextBox il code snippet. Non è male,...

posted @ giovedì 31 gennaio 2008 16:20 | Feedback (2) | Filed Under [ .NET Framework Visual Basic C# ]

Iniziato il rilascio di Visual Studio 2008 in italiano (Trial ed Express)

Questa notte sono state rilasciate le localizzazioni italiane di Visual Studio 2008 Express, alcune edizioni Trial (della durata di 90 giorni) e alcuni language pack, mentre altre edizioni saranno rilasciate a breve Tutti i dettagli e i link si possono reperire nel blog di MSDN Italia, facendo clic qui. So che molti preferiscono la localizzazione inglese, io personalmente preferisco la italiana... e poi ognuno è libero di scegliere! :-) Buon download! Alessandro

posted @ giovedì 31 gennaio 2008 14:19 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation ]

Un controllo Ribbon per WPF

Per gli amanti del noto controllo Ribbon, che caratterizza l'interfaccia grafica delle applicazioni della suite Office 2007, segnalo la disponibilità di questo controllo destinato (finalmente) a WPF. Lo potete scoprire leggendo questo articolo su CodeProject e, sebbene sia ripetuto più volte che lo sviluppo del controllo è in fase Alpha, mi sembra un ottimo tentativo di fornire qualcosa di open source nell'ambito dei tanti Ribbon disponibili. Ne esistono già diversi per WPF, ma tutti commerciali quindi si apprezza il gesto! :-) Mi sembra comunque di aspetto gradevole. Alessandro

posted @ lunedì 28 gennaio 2008 21:27 | Feedback (1) | Filed Under [ Windows Presentation Foundation ]

Microsoft Expression Blend 2 - December 2007 Preview

Se volete provare un potente strumento realizzato appositamente per la creazione di interfacce utente avanzate in Windows Presentation Foundation, potete scaricare la preview di Expression Blend 2 di Microsoft, rilasciata nel dicembre scorso e che funzionerà, se non vado errato, fino a metà di quest'anno per poi scadere. Sebbene sia ancora in versione preview, si tratta di un'ottima opportunità di provare gratuitamente uno strumento dalle caratteristiche davvero eccezionali e che Microsoft ha realizzato specificatamente per la realizzazione di interfacce grafiche avanzate basate su Windows Presentation Foundation, sia per applicazioni Windows che Web (leggi: Silverlight). Tenete conto che Blend è lo...

posted @ sabato 26 gennaio 2008 18:25 | Feedback (5) | Filed Under [ Windows Presentation Foundation ]

Microsoft SandCastle si sposta su CodePlex

L'ormai noto tool per la generazione di documentazione compilata per il proprio codice sorgente, Microsoft SandCastle, è ora ospitato su un apposito Workspace su CodePlex. Precedentemente era disponibile dall'area download di Microsoft. La release disponibile è la January 2008 CTP e, tra le novità, si annovera la disponibilità di una piccola interfaccia grafica per l'utilizzo di questo fantastico strumento che, come molti di voi sapranno, funziona dalla riga di comando. Trattandosi di una interfaccia piuttosto essenziale, vi consiglio di utilizzare il consueto SandCastle HelpFile Builder, che potete trovare sempre su CodePlex a questo indirizzo, e che ha un'interfaccia decisamente più ricca...

posted @ sabato 26 gennaio 2008 13:55 | Feedback (1) | Filed Under [ Help Authoring ]

KaXaml e il suo codice sorgente

Se avete letto questo precedente post su KaXaml, l'editor di codice XAML avanzato e che si propone come notevole alternativa a XAMLPad di Windows SDK, vi potrebbe interessare dare un'occhiata al suo codice sorgente. Si tratta di un'applicazione scritta interamente in WPF ed è, a mio avviso, una ghiotta possibilità di studiare tecniche molto interessanti (non da ultima la possibilità di implementare un Intellisense custom). KaXaml è ospitato anche su CodePlex e potete raggiungere il suo Workspace facendo clic qui. Dategli un'occhiata, ne vale la pena. Alessandro

posted @ sabato 26 gennaio 2008 13:23 | Feedback (1) | Filed Under [ Windows Presentation Foundation ]

WPF: Esempio di oggetti riflessi

In Windows Presentation Foundation, il termine "Reflection" si usa anche per un altro motivo, oltre a quello ben noto ai programmatori .NET. Si tratta, infatti, di una tecnica che consente di riflettere gli oggetti dell'interfaccia grafica. Pensate, ad esempio, all'immagine di una persona o di un oggetto riflesso nell'acqua. Ecco, si tratta di una cosa simile :-) In WPF questo si ottiene utilizzando l'oggetto VisualBrush, che appartiene a quella categoria di oggetti che si occupano del riempimento di altri oggetti. Il VisualBrush è molto particolare, poichè, al contrario di altri Brush, permette di riempire un elemento dell'interfaccia con un altro elemento...

posted @ mercoledì 23 gennaio 2008 21:19 | Feedback (4) | Filed Under [ Windows Presentation Foundation ]

WPF: Animazioni su video in riproduzione

Riprendendo l'esempio illustrato in un post di qualche giorno fa, nel quale avevamo visto come animare un'ellisse facendola ruotare in un contenitore, oggi vediamo che animare un controllo MediaElement facendogli fare due cose carine: ruoterà su se stesso e in più si muoverà all'interno di un contenitore, il tutto mentre è in corso la riproduzione di un video. Per praticità, utilizzeremo la modalità dichiarativa (quindi XAML). Qualunque sia il vostro linguaggio di interesse, avviatelo e create un nuovo progetto per WPF. In primo luogo sostituiamo ancora l'elemento Grid con un Canvas. Quindi, implementiamo subito il MediaElement, al cui interno specificheremo anche...

posted @ lunedì 21 gennaio 2008 23:17 | Feedback (0) | Filed Under [ Windows Presentation Foundation ]

Creare un modello di progetto WCF per Visual Basic e C# Express 2008

Come probabilmente sapete (se poi avete preso il mio nuovo libro lo sapete già :-) ), le edizioni Express di Visual Basic e Visual C# 2008 non espongono un modello di progetto per creare librerie di servizi basate su Windows Communication Foundation, a differenza di quanto avveniva nella versione 2005. L'unico strumento Express che prevede questa funzionalità è Visual Web Developer 2008, che comunque svolge egregiamente il suo compito. In realtà, VWD 2008 non genera una Dll, bensì un'applicazione Web pubblicabile su Internet Information Services. In effetti questo può essere un risultato soddisfacente, tuttavia può esserci la necessità di preferire una libreria vera...

posted @ domenica 20 gennaio 2008 19:13 | Feedback (2) | Filed Under [ Visual Basic C# Visual Studio Express Editions Windows Communication Foundation ]

La British Library on-line: della serie, cosa non si fa con WPF

Traggo spunto da un articolo del numero di settembre 2007 di MSDN Magazine per segnalarvi che la Britsh Library, dopo aver digitalizzato i più importanti libri antichi, li ha resi disponibili per la navigazione on-line sotto forma di XAML Browser Application realizzata con Windows Presentation Foundation. Un vero spettacolo. Si possono selezionare i libri, sfogliare le pagine, che hanno l'aspetto antico originale, con il mouse (l'effetto che si vede è proprio quello della pagina che gira), ingrandire, aggiungere note.. veramente fantastico. Questo è un grande esempio di ciò che si può fare con WPF. Vi lascio i riferimenti: facendo clic qui, potrete...

posted @ sabato 19 gennaio 2008 19:31 | Feedback (6) | Filed Under [ Windows Presentation Foundation ]

I primi 1.000 download di Vsi Builder

Sono molto contento perchè il mio tool Vsi Builder, a 40 giorni dal suo lancio, ha appena superato quota 1.000 download per l'edizione italiana! Per chi non lo conosce ancora, Vsi Builder è un tool gratuito per sviluppatori che usano Visual Studio 2005/2008 (anche Express) che consente di creare pacchetti di installazione in formato .Vsi (Visual Studio Content Installer) per la ridistribuzione di contenuti aggiuntivi per Visual Studio (code snippet, macro, add-in, modelli). Perciò, un ringraziamento caloroso a tutti coloro che lo hanno scaricato e provato! Mi rallegra anche il numero di download in lingua inglese (circa 145). Mi sembra tutto sommato...

posted @ sabato 19 gennaio 2008 11:06 | Feedback (1) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 Visual Studio Extensibility Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation ]

Un articolo su SQL Server Management Objects

Segnalo questo articolo di Renato Gentile, di UGI Sql Server, che riguarda l'utilizzo di oggetti SQL Server Management Objects per la gestione di database, in alternativa all'utilizzo di ADO.NET. Mi sembra un buon pezzo e l'argomento è di sicuro interesse per la maggior parte dei lettori. Se volete dargli un'occhiata, lo trovate qui: http://www.ugiss.org/Content/Article/SMO+questo+sconosciuto+.aspx Alessandro

posted @ sabato 19 gennaio 2008 10:39 | Feedback (1) | Filed Under [ .NET Framework ]

Disponibile la .NET Framework Library Source Code

A ottobre era stato annunciato che sarebbe stato reso disponibile il codice sorgente della libreria di classi base di .NET Framework. E' di ieri la notizia che finalmente quanto annunciato è diventato realtà! ;-) Il codice sorgente di .NET Framework sarà visualizzabile tramite il debugger di Visual Studio 2008 ed è rilasciato tramite una licenza di tipo read-only. L'annuncio e tutti i dettagli li potete trovare in questo post di Scott Guthrie, mentre in questo post di Shawn Burke (di MSDN) vengono fornite le istruzioni per abilitare Visual Studio 2008 a sfogliare i sorgenti del Framework! Non è una splendida...

posted @ giovedì 17 gennaio 2008 21:15 | Feedback (5) | Filed Under [ .NET Framework ]

WPF: Esempio di doppia animazione

Una delle caratteristiche peculiari di Windows Presentation Foundation è quella costituita dalle animazioni. Le animazioni sono di diverso tipo e possono riguardare i controlli, le figure geometriche e i colori. In questo post vedremo due esempi di animazioni che si intrecciano tra loro. Vedremo, infatti, come animare un cerchio (riempito con un gradiente circolare) e come animare uno dei suoi colori mentre il cerchio stesso si muove. Dopo aver aperto Visual Basic o Visual C# e creato un nuovo progetto WPF, attivate l'editor di codice XAML. Eliminate i tag <Grid></Grid> ed aggiungete un elemento Canvas, che meglio si presta allo scopo, poichè...

posted @ mercoledì 16 gennaio 2008 23:29 | Feedback (1) | Filed Under [ Windows Presentation Foundation ]

WPF: utilizzare codice gestito all'interno di XAML

Una fantastica caratteristica del linguaggio XAML è quella che consente di inserire interi blocchi di codice Visual Basic e C# al suo interno, utilizzando delle sezioni XML di tipo CDATA, a loro volta contenute in appositi elementi <x:code> (dove x è l'identificatore predefinito per il namespace nello schema XML Microsoft). Considerate il seguente snippet: <Window x:Class="Window1"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     Title="Window1" Height="300" Width="300" Loaded="Window1_Loaded">     <Grid Name="Grid1">         <x:Code>             <![CDATA[                 Private Sub Window1_Loaded(ByVal sender As Object, e As RoutedEventArgs)                                     Dim myButton As New Button                         With myButton                             .Height= 30                             .Width= 100                             .Content = "Ciao WPF!"                             .Margin = New...

posted @ martedì 15 gennaio 2008 00:59 | Feedback (3) | Filed Under [ Windows Presentation Foundation ]

WPF: KaXAML, l'alternativa avanzata a XAMLPad

Molti di coloro che sviluppano con Windows Presentation Foundation avranno utilizzato (o sentito parlare di) XAMLPad, lo strumento incluso in Windows SDK che consente di provare in anteprima codice XAML e vederne in tempo reale il risultato. XAMLPad è un editor di codice XAML e consente esclusivamente di operare in modalità dichiarativa, in parole povere consente solo di "disegnare" oggetti WPF. Tra l'altro, si parla nel dettaglio di XAMLPad anche nel mio nuovo libro su .NET Framework 3.x nei capitoli dedicati a WPF. Per quanto utile, XAMLPad ha alcune limitazioni: non offre alcun supporto Intellisense, non ha colorazione della sintassi e...

posted @ lunedì 14 gennaio 2008 19:43 | Feedback (3) | Filed Under [ Windows Presentation Foundation ]

Proteggere gli assembly .NET dalla decompilazione

Gironzolando nel blog del grande Francesco Balena, ho scoperto questo interessantissimo articolo nel quale illustra una interessante tecnica di "obfuscation" degli assembly .NET senza ricorrere a strumenti di terze parti, utilizzando solo alcuni frammenti di codice non documentati e le opzioni di generazione della soluzione e dei compilatori. Sono convinto che la lettura di questo articolo interesserà moltissime persone! :-) Lo trovate a questo indirizzo. Alessandro

posted @ lunedì 14 gennaio 2008 18:14 | Feedback (5) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions ]

Aggiungere Windows Live Messenger al proprio sito/blog

Forse qualcuno lo avrà già notato, ma da qualche giorno ho aggiunto al blog la possibilità di essere contattato tramite Windows Live Messenger quando sono in linea. Se anche voi siete interessati ad aggiungere questa funzionalità, potete leggere le istruzioni nel blog di Pietro Brambati a questo indirizzo. Vi anticipo, però, che dovrete abilitare i contatti anonimi. Se questo non vi garba... dovrete rinunciare! ;-) Alessandro

posted @ lunedì 14 gennaio 2008 18:09 | Feedback (2) | Filed Under [ Varie ]

Il mio nuovo libro su .NET Framework 3.0/3.5

Sono davvero felice di poter annunciare finalmente l'uscita del mio nuovo libro dal titolo "Programmare con .NET Framework 3.x - Guida per programmatori", dedicato alle nuove tecnologie introdotte da Microsoft a partire da .NET Framework 3.0. Il libro, edito ancora da Edizioni FAG Milano e con prefazione del grande MVP Corrado Cavalli, è un manuale per imparare ad utilizzare tecnologie come Windows Presentation Foundation, Windows Communication Foundation e Windows Workflow Foundation con esempi sia in Visual Basic che in Visual C#!! Tra gli argomenti trattati: Il .NET Framework 3.0 e il suo ruolo in Windows Vista, affrontato nell’ottica del programmatore, con introduzione alle novità...

posted @ lunedì 7 gennaio 2008 18:35 | Feedback (6) | Filed Under [ .NET Framework Visual Basic C# Visual Studio Express Editions Visual Studio 2008 Windows Presentation Foundation Windows Workflow Foundation Windows Communication Foundation Windows 7 ]

Inclusione del pacchetto ridistribuibile di .NET Framework 2.0 nelle distribuzioni ClickOnce

Scrivo questo post a seguito di discussioni sorte in questi giorni nel forum DotNet di VB T&T e di e-mail ricevute in privato (per chi mi ha scritto in privato, liberate la casella di posta prima di scrivermi tre volte..altrimenti la mia risposta non vi arriva mai! :D ) Il tema del post riguarda la distribuzione di applicazioni create con Visual Basic 2005 tramite la tecnologia ClickOnce. Alcuni lamentano il fatto che, una volta avviata la procedura di installazione sulla macchina di destinazione, ClickOnce vada a scaricare da internet dati per diversi megabyte (si tratta del .NET Framework e in taluni...

posted @ lunedì 7 gennaio 2008 00:40 | Feedback (3) | Filed Under [ Setup & Deployment ]

Syncronization Locks: un alternativa per Visual Basic

Se vi siete cimentati nella programmazione orientata al multithreading, vi sarà sicuramente capitato di sentire parlare di synchronization locks, ossia quella fase in cui un thread blocca un oggetto su cui sta lavorando finchè non finisce il lavoro, onde evitarne l'accesso da parte di altri thread. In Visual Basic questo obiettivo si può raggiungere utilizzando il blocco SyncLock..End SyncLock, come nell'esempio che segue: Class Prova       Sub Salva()         SyncLock Me             My.Computer.FileSystem.WriteAllText("C:\MioFile.txt", "Testo di prova", False)         End SyncLock     End Sub End Class L'utilizzo della scrittura di un file di testo come esempio è, ovviamente, volutamente banale per meglio capire...

posted @ domenica 6 gennaio 2008 17:13 | Feedback (0) | Filed Under [ .NET Framework ]

Ancora sulla concatenazione efficiente di stringhe

.NET Framework mette a disposizione, già dalla versione 2.0, diverse metodologie per effettuare concatenazioni di stringhe in maniera efficiente, nel rispetto delle prestazioni. Molto utilizzati sono l'oggetto StringBuilder e il metodo statico Concat della classe String. Esiste un ulteriore metodo, forse meno conosciuto, ma estremamente efficiente: l'utilizzo della classe StringWriter. Anche se può sembrare strano, questa classe è esposta dal namespace System.IO poichè eredita da TextWriter. Ciò posto, ecco un piccolo esempio di utilizzo della classe sia in Visual Basic che in C# (ricordando di prevedere direttive Imports o using per il namespace System.IO): Visual Basic:         Dim concatenazione As New StringWriter

posted @ venerdì 4 gennaio 2008 00:10 | Feedback (3) | Filed Under [ .NET Framework Visual Basic C# ]

WPF: utilizzare immagini nelle risorse

Approfitto del blog per illustrare una piccola tecnica che mi è stata richiesta via e-mail. In Windows Presentation Foundation è possibile aggiungere immagini alle risorse dell'applicazione, analogamente a quanto facevamo in Windows Forms, e poi utilizzarle anche in fase di design via XAML. Ipotizziamo di voler assegnare al nostro oggetto Window un'immagine come sfondo (caso specifico dell'e-mail ricevuta). Aggiungiamo l'immagine alle risorse dell'applicazione (in Visual Basic utilizzeremo la scheda Resources della finestra My Project). Fatto questo, nella finestra Esplora Soluzioni espandiamo la cartella Resources appena aggiunta e facciamo clic sul file di immagine, al fine di attivare la Finestra delle Proprietà. Facciamo...

posted @ giovedì 3 gennaio 2008 23:47 | Feedback (0) | Filed Under [ Windows Presentation Foundation ]

Rilasciato Microsoft FxCop 1.36 Beta 2

Per coloro che si interessano all'analisi del codice managed, segnalo il rilascio della versione 1.36 Beta 2 di Microsoft FxCop, il tool che analizza gli assembly alla ricerca di incompatibilità con le Common Language Specifications di Microsoft, cui si dovrebbero attenere tutti gli assembly che si desidera siano utilizzabili da tutti i linguaggi .NET. Coloro che hanno letto il mio libro su VB 2005 sanno già di cosa stiamo parlando. La v. 1.36, seppure ancora in Beta, introduce specifici algoritmi di analisi per i tipi anonimi e le espressioni lambda di .NET Framework 3.5. Potete leggere informazioni di dettaglio e scaricare...

posted @ mercoledì 2 gennaio 2008 18:30 | Feedback (1) | Filed Under [ .NET Framework ]

VB 2008: i tipi anonimi

Una interessante novità del .NET Framework 3.5 è costituita dai tipi anonimi. In pratica, quando si istanzia un oggetto, non se ne specifica il tipo ma è possibile popolarlo con elementi di proprio interesse. Da non confondere con il concetto di Local Type Inference (in cui il tipo di un oggetto è determinato automaticamente dal compilatore), i tipi anonimi trovano il loro naturale utilizzo nelle query expression di LINQ. Vediamo un paio di esempi in Visual Basic 2008. Il seguente frammento:         'Anonymous type         Dim tipoAnonimo1 = New With {.Name = "Alessandro", .Age = 30} istanzia un...

posted @ mercoledì 2 gennaio 2008 16:27 | Feedback (9) | Filed Under [ Visual Basic ]

VB 2008 e l'inizializzazione degli oggetti

Tra le novità sintattiche di Visual Basic 2008, ne troviamo una definita Object Initialization Expression e che riguarda l'inizializzazione degli oggetti nel momento in cui vengono dichiarati, utilizzando la keyword With e una coppia di parentesi graffe. Vediamo un piccolo esempio pratico. Considerate la seguente, banalissima classe Person, che espone due proprietà nome e cognome: Class Person       Private _name As String     Private _surName As String       Public Property Name() As String         Get             Return _name         End Get         Set(ByVal value As String)             _name = value         End Set     End Property       Public Property SurName() As String         Get             Return _surName        ...

posted @ mercoledì 2 gennaio 2008 14:30 | Feedback (5) | Filed Under [ Visual Basic ]

Powered by:
Powered By Subtext Powered By ASP.NET