Visual Basic .Net
Documentazione "Work in Progress" della prossima release di Entity Framework : http://ef.readthedocs.org/en/latest/
Nuovo articolo della serie pubblicato su DomusDotNet, comprensivo di sorgenti in C# e VB.NET. Al solito, critiche e suggerimenti sono sempre ben accetti.
Qualche foto della tappa Romana del Microsoft Community Tour, DomusDotNet e Visual Basic Tip & Tricks: In ordine da sinistra verso destra: Foto di gruppo dopo la sessione “Async CTP: async and iterator methods” for VB tenuta da Lucian Wischik (VB Spec Lead - Microsoft Corporation) . Sessione fantastica, ricca di spunti per il futuro, ma non solo. (nella foto Alessandro del Sole, Diego Cattaruzza, Nicolò Carandini e Lucian Wischik ) Massimo, Speaker di DomusDotNet per la sessione “IE9 & HTML5 for developers” Una foto della sessione “IE9...
Pubblicato sul portale di DomusDotNet l'ultima parte degli articoli introduttiva alla tecnologia WCF 4. L'argomento trattato è l'hosting dei servizi. Articolo e sorgenti (in C# e VB.NET) sono disponibili qui . Al solito, critiche e suggerimenti sono sempre ben accetti.
Pubblicato sul portale di DomusDotNet la terza parte della serie introduttiva su WCF 4. L'argomento trattato è la gestione degli errori. Articolo e sorgenti (in C# e VB.NET) sono disponibili qui . Critiche e suggerimenti sono sempre ben accetti.
Pubblicato sul portale di DomusDotNet la seconda parte della mini serie introduttiva su WCF 4. Articolo e sorgenti (in C# e VB.NET) sono disponibili qui. Al solito, critiche e suggerimenti sono sempre ben accetti.
E' uscito il primo di una mini-serie di articoli riguardanti la nuova versione di WCF. Per chi fosse interessato potete trovare l'articolo su DomuDotNet: Introduzione a WCF 4 . Lo scopo della serie è partire dalle basi e affrontare successivamente tematiche più avanzate. Al solito, critiche e suggerimenti sono sempre ben accetti. La prossima settimana la seconda puntata.
Con la versione 2.0 del .Net Framework è stata aggiunta al namespace System.Configuration, la classe RegexStringValidator che permette di eseguire rapidatamente la validazione di stringhe utilizzando espressioni regolari. Supponendo di avere un'espressione del tipo ^\d+,\d{2}$, che permette di verificare se una stringa rappresenta un valore numerico con due cifre dopo la virgola, per validare una stringa, possiamo scrivere una funzione molto semplice: 1 Private Function IsValid(ByVal value As String) As Boolean
2
3 Dim regexValidator As New RegexStringValidator("^\d+,\d{2}$")
4
5 ...
Se abbiamo bisogno di una soluzione veloce per visualizzare l'avanzamento di un controllo ProgressBar durante il caricamento di un DataTable, possiamo gestire l'evento RowChanded in questo modo: 1 Private Sub CustomRowChanged(ByVal sender As Object, ByVal e As DataRowChangeEventArgs)
2
3 If (e.Action = DataRowAction.Commit) Then
4 'Avanziamo il valore della progress bar
5 ProgressBar1.Value += 1
6 ...
Supponiamo di avere una semplice applicazione Windows Form il cui unico (e stupido) compito è quello di eseguire una divisione, qualcosa del tipo
Se non eseguiamo nessuna validazione sui campi, potrebbe accadere che vengano eseguiti calcoli sbagliati (ad esempio una divisione per zero) e di conseguenza che vengano sollevate le corrispondenti eccezioni. Per catturarle, possiamo utilizzare dei blocchi Try...Catch...Finally oppure gestire l'evento Application.ThreadException. Così facendo, oltre alla possibilità di memorizzare un log delle eccezioni a livello di applicazione o eseguire del codice di pulizia, possiamo visualizzare una Windows Form User-Friendly, senza interrompere bruscamente l'applicazione. Per registrare il gestore dell'evento ThreadException, possiamo...
Post nato da una discussione su forum. Se utilizziamo un componente Backgroundworker per l'esecuzione di codice in
background, bisogna stare attenti alle operazioni "cross-thread", ad esempio quando il codice interagisce con i controlli
di una Windows Form. Se abbiamo ad esempio un controllo ListView, per popolarlo senza provocare eccezioni durante
l'esecuzione dell'applicazione, possiamo costruire ed utilizzare un delegate come nel codice seguente:
Private Delegate Sub ScriviSuListViewDelegate()Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, _ ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork If (Not (ListView1.InvokeRequired)) Then For i As Integer = 0 To 20 ListView1.Items.Add(String.Format("Item #{0}",...
Implementando l'interfaccia ISerializable nelle nostre classi, possiamo personalizzare il processo di serializzazione/deserializzazone dei tipi.
Ad esempio, un istanza di oggetto potrebbe contenere dei dati (ad esempio una password) che non vogliamo che risulti visibile
tramite editor di testo (come notepad) dopo aver serializzato l'oggetto come file su disco.
Nel codice di esempio è presente una classe Persona (onnipresente :-) ), che implementa il metodo GetObjectData (per la fase di serializzazione) con il codice necessario a cifrare il valore del campo "password", ed il costruttore con opportuna firma (per la fase...
Spesso mi capita di leggere nei forum domande relative all'utilizzo dei parametri nei report locali. Sperando che il progetto possa essere di aiuto, un esempio concreto per la visualizzazione di stringhe ed immagini.
Codice sorgente progetto
Se volessimo, ad esempio, cambiare il carattere di separatore decimale in una nostra applicazione, è sufficiente utilizzare
la classe System.Globalization.CultureInfo. Esempio:
Dim culture As New System.Globalization.CultureInfo("it-IT")Dim numberFormat As New System.Globalization.NumberFormatInfo()'Visualizza il separatore decimale corrente MessageBox.Show(numberFormat.NumberDecimalSeparator)'Imposta la chiocciola come separatore decimale numberFormat.NumberDecimalSeparator = "@" culture.NumberFormat = numberFormat'Visualizza il separatore decimale corrente MessageBox.Show(numberFormat.NumberDecimalSeparator)'Imposta l'oggetto Culture System.Threading.Thread.CurrentThread.CurrentCulture = cultureDim valore As Double = 0 valore = 10 / 30 'Visualiza 0@33333333 MessageBox.Show(valore)
Technorati Tag: CultureInfo
Supponiamo di avere un file (html) contenente una lista non ordinata del tipo
<ul>
<li id="Eventi"><a href="#"><span>Eventi</span></a></li>
<li id="Notizie"><a href="#"><span>Notizie</span></a></li>
<li id="NewsLetter"><a href="#"><span>NewsLetter</span></a>
<ul>
<li id="Sottomenu"><a href="#"><span>Sottomenu</span></a></li>
</ul>
</li>
<li id="Agenzie"><a href="#"><span>Agenzie</span></a></li>
</ul>
e di voler modificare (a run-time) il contenuto di uno degli elementi "<li>" . Supponiamo di voler trovare l'elemento con "id" uguale a "Eventi",
di voler aggiungere un nuovo attributo (class) con valore "Selected" e di voler eliminare il nodo <a href....></a> e lasciare il nodo
<span>Evento</span>.E' possibile fare quanto detto in modo molto semplice utilizzando l'oggetto COM Microsoft XML (Versione 3.0 o superiore)
e scrivendo il seguente codice:
Dim doc As New MSXML2.DOMDocument
...
Girovagando tra i vari siti di programmazione ed affini ho trovato questi due link:
1) Convertire un file PDF in semplice testo (in tre righe!) in .Net
Converting PDF to Text in C#
2) Utilizzare librerie java in .Net con IKVM.NET
Uses for IKVM.NET
Piccolo esempio (nato da una discussione su di un forum) di come utilizzare una risorsa incorporata (file XML) per popolare un oggetto AutoCompleteStringCollection per usufruire della funzione di completamento automatico di un controllo TextBox.
AutoCompleteSourceEmbedded.zip
Piccola applicazione che si pone come alternativa al metodo GetThumbnailImage della classe System.Drawing.Image.
Utilizzando gli EncoderParameter, oltre alle dimensioni dell'immagine di anteprima è possibile scegliere la qualità finale
della stessa.
Una volta scelta la cartella contenente le immagini di cui si vogliono creare i Thumbnail, è sufficiente premere su "Genera" e
"per magia" verrà creata una cartella "Dest" (all'interno di quella sorgente) contenente le anteprime.
Codice sorgente: Thumbnail_generator.zip