Blog Stats

  • Blogs - 41
  • Posts - 4031
  • Articles - 185
  • Comments - 23000
  • Trackbacks - 934

Bloggers (posts, last update)

Powered By:
Powered by Subtext

Latest Posts

MVP Open Days 2014 - Barcellona

Lo scorso weekend si sono svolti gli MVP Open Days, l'annuale ritrovo dei Microsoft MVP, nella splendida cornice di Barcellona. La scelta di una location in Spagna è legata principalmente alla recente riorganizzazione del programma, che vede Italia, Portogallo e Spagna far parte dello stesso gruppo.

Come sempre è stata l'occasione per ritrovare amici vecchi e nuovi, con l'opportunità di seguire svariate sessioni tecniche interessanti. Tra l'altro, l'occasione è stata utile anche per presentare io stesso una sessione su LightSwitch e il client HTML, da cui traggo la seguente foto ricordo (grazie all'amico Andrea Boschin).



Un sincero ringraziamento a Cristina Herrero e Marjorie Di Clemente per la perfetta organizzazione dell'evento e per aver consentito a tutti noi MVP di ritrovarci tutti insieme, oltre che di approfondire tematiche tecniche.

Alessandro

posted @ 26/03/2014 17:11 by Alessandro Del Sole

WPF: recuperare il primo fotogramma di un video

Su suggerimento di un amico, segnalo questo articolo su CodeProject che mostra come ottenere un fotogramma all'interno di un video mediante il controllo MediaElement. Tale procedura può essere molto utile per creare delle anteprime in formato immagine, senza appesantire l'utilizzo di risorse di sistema.

Alessandro

posted @ 25/03/2014 13:33 by Alessandro Del Sole

Il mio nuovo ebook: Visual Studio 2013 Succinctly

È stato pubblicato il mio nuovo ebook, gratuito, dal titolo Visual Studio 2013 Succinctly, edito e prodotto dalla Syncfusion, azienda leader nella realizzazione di eccezionali controlli utente per varie piattaforme come WPF, Windows Phone, Windowa Store.

È stata la mia prima esperienza con la Syncfusion e mi sono trovato molto bene, inoltre mi è sempre piaciuta la formula della collana Succinctly: un numero limitato di pagine (per uno che proviene dalle 1400 di VB 2012 Unleashed, 100 è stato come bere un caffè ) per riassumere in modo semplice e preciso le caratteristiche di una tecnologia o di un'ambiente di lavoro.

Visual Studio 2013 Succinctly vi guiderà, in tutta comodità, attraverso le novità dell'ultima versione dell'IDE di casa Microsoft, ponendo l'attenzione su tutti i nuovi strumenti volti a migliorare la produttività, senza tralasciare alcuna piattaforma applicativa.

L'ebook è gratuito e si scarica da questo indirizzo del sito Web di Syncfusion, previa registrazione (gratuita) al sito; questo è necessario perchè è previsto dalla licenza d'uso del manuale.

Sono certo che ci troverete dentro qualcosa di utile, in più è gratis!

Alessandro

posted @ 19/03/2014 17:11 by Alessandro Del Sole

LightSwitch: aggiornamento di marzo 2014 degli Office Developer Tools

Qualche giorno fa è stato rilasciato un aggiornamento, denominato March 2014 Update, degli Office Developer Tools che influenzano, tra l'altro, anche il nostro caro LightSwitch.

Con questo aggiornamento, annunciato in questo post del Team, ci sono importanti novità:
  • possibilità di connessione alla famosa piattaforma SAP;
  • Common Screen Set per il client HTML, che consente di aggiungere una serie di screen tra quelli di default (es. Browse, Add/Edit) quando si collegano i dati alla UI senza doverli aggiungere a mano;
  • integrazione con la Document Library di un portale SharePoint.

Ovviamente SharePoint Online rimane il destinatario prediletto di ulteriori novità, ma almeno le prime due elencate sono a beneficio di tutti i tipi di progetto. Un altro grande investimento da Redmond che dimostra, per l'ennesima volta, come questo prodotto sia ancora al centro dei pensieri di Microsoft.

Alessandro

posted @ 13/03/2014 19:46 by Alessandro Del Sole

Trovare record duplicati con script T-SQL

Se avete necessità di un modo semplice e rapido per trovare record contenenti valori duplicati in una (1) tabella di un db SQL Server, potete usare questo semplice script che funziona anche nell'editor di codice T-SQL di Visual Studio 2013:
SELECT CompanyName,COUNT(CompanyName) FROM Northwind.dbo.Customers
GROUP BY CompanyName HAVING COUNT(CompanyName) > 1

Il codice non fa altro che raggruppare tutti i record in base alla colonna specificata e determina se il conteggio è > 1.

Alessandro

posted @ 13/03/2014 19:39 by Alessandro Del Sole

Nuovo eBook sullo sviluppo per Windows Phone

L'amico Matteo Pagani, grande MVP per Windows Phone, ha appena pubblicato un nuovo eBook dal titolo Windows Phone 8 Development Succinctly, edito da Syncfusion, per la nota collana di eBook gratuiti.

Un bell'eBook che fornisce informazioni per muovere i passi necessari nello sviluppo su Windows Phone e adatto a vari livelli di esperienza, ovviamente gratis.

Scaricatelo da qui. E rimanete sintonizzati, perché al prossimo giro tocca al mio

Alessandro

posted @ 13/03/2014 19:33 by Alessandro Del Sole

Controlli Syncfusion per Windows Phone a 1$

Syncfusion, azienda molto nota per la produzione di eccellenti controlli per varie piattaforme .NET, da oggi offre una licenza per sviluppatori individuali (quindi no aziende) dei loro ottimi controlli per Windows Phone al prezzo simbolico di 1$.

La licenza, si legge, è valida anche per fini commerciali e l'unica condizione è che sia utilizzata da un singolo individuo.

Ottima iniziativa! Maggiori info e download qui.

Alessandro

posted @ 13/03/2014 19:30 by Alessandro Del Sole

eBook gratuito sulle Windows Store app

Segnalo la pubblicazione di un ebook gratuito dal titolo "Location Intelligence for Windows Store Apps", in cui vengono discusse svariate tecniche di programmazione per utilizzare i servizi di posizione nelle app per Windows 8, sia sfruttando i sensori sia le API REST di Bing Maps. In realtà c'è molto di più e, tenuto conto che è gratis, è veramente un'ottima risorsa.

Scaricabile dal sito Lulu a questo indirizzo.

Alessandro

posted @ 06/03/2014 22:17 by Alessandro Del Sole

WPF: salvare e caricare il contenuto di un InkCanvas

Il controllo InkCanvas fornisce, alle applicazioni WPF, una superficie su cui è possibile disegnare e scrivere sia col mouse, che col touch che con una penna capacitiva.

E' quindi un fedele compagno se scrivete applicazioni desktop che girano su dispositivi come i tablet con Windows 8.1.

Salvare il suo contenuto su disco e ricaricarlo è un'operazione piuttosto semplice, dal momento che la collezione di "tratti" definita Strokes espone un metodo Save e che al contrario può essere popolata con il contenuto di uno stream. Ecco il codice Visual Basic, con relativi commenti:

    Private Sub SaveButton_Click(sender As Object, e As RoutedEventArgs)
        
'Istanza di una dialog di salvataggio
        
Dim SaveFileDialog1 As New Microsoft.Win32.SaveFileDialog()
        
'Il filtro è a propria discrezione
        SaveFileDialog1.Filter = 
"File Ink (*.ink)|*.ink"

        
If SaveFileDialog1.ShowDialog() Then

            
'Si apre uno stream binario in scrittura
            
Using fs As New System.IO.FileStream(SaveFileDialog1.FileName, _
                          System.IO.
FileMode.Create)

                
'Si invoca il metodo Save della collection Strokes sullo stream
                
Me.Ink1.Strokes.Save(fs)
            
End Using
        
End If
    
End Sub

    
Private Sub LoadButton_Click(sender As Object, e As RoutedEventArgs)
        
'Istanza di una dialog di apertura
        
Dim OpenFileDialog1 As New Microsoft.Win32.OpenFileDialog()
        
'Il filtro è a propria discrezione
        OpenFileDialog1.Filter = 
"File Ink (*.ink)|*.ink"

        
If OpenFileDialog1.ShowDialog() Then
            
'Si apre uno stream binario in lettura
            
Using fs As New System.IO.FileStream(OpenFileDialog1.FileName, _
                          System.IO.
FileMode.Open)
                
'Si popola la collezione dell'InkCanvas con
                
'una StrokeCollection popolata col contenuto dello stream
                
Me.Ink1.Strokes = New Ink.StrokeCollection(fs)
            
End Using
        
End If
    
End Sub
Alessandro

posted @ 03/03/2014 19:06 by Alessandro Del Sole

Richiamare un metodo asincrono dal metodo Main in Visual Basic

Come sapete, l'utilizzo del pattern Async/Await impone alcune limitazioni architetturali quando lavorate con un'applicazione Console. Ci sono tanti motivi per lavorare con questo tipo di applicazioni, banalmente per creare demo o per realizzare tool dalla riga di comando quindi il punto non è questo.
Il problema è che nelle Console application potreste avere dei metodi asincroni da lanciare all'avvio, ma purtroppo il metodo Main non può essere marcato come Async, quindi non può contenere l'operatore Await per attendere il risultato di metodi asincroni.

Fortunatamente c'è un piccolo workaround. Considerate il seguente metodo asincrono, che scarica solamente il contenuto degli RSS di questo blog:
    Private Async Function GetBlog() As Task
        
Dim client As New WebClient
        
Dim content = Await client.DownloadStringTaskAsync("http://community.visual-basic.it/Alessandro/Rss.aspx")
        
'Proseguire qui l'analisi del risultato ottenuto....
    
End Function
Immaginate ora di volerlo invocare dal metodo Main di una Console app. Non potete utilizzare l'operatore Await, fortunatamente il tipo Task espone un metodo chiamato Wait che forza l'attesa del completamento dell'operazione asincrona prima di continuare il flusso applicativo. Ecco come usarlo:

    Sub Main()
        GetBlog.Wait()
    
End Sub

Ovviamente questo approccio può sfruttare i benefici di async/await solo nel primo metodo, ma nel caso aveste bisogno di farlo, questa è una soluzione.

Alessandro

posted @ 03/03/2014 01:54 by Alessandro Del Sole