Press "Enter" to skip to content

Tag: Tutorial

Convertire un foglio di Excel in JSON

Nel precedente post, abbiamo visto come convertire un foglio di Excel in XML, ma considerato che il formato JSON sta diventando lo standard per lo scambio di dati, soprattutto quando si parla di servizi Web, e di applicazioni di ogni genere e tipo, credo sia una cosa buona vedere come svolgere lo stesso tipo di conversione creando un file JSON. Per farlo, oltre ad utilizzare la libreria open source EPPlus, la trovate all’inidirizzo:  epplus.codeplex.com per leggere i dati dal foglio di Excel, utilizzeremo JSON.Net ovvero la libreria Newtonsoft Json che è divenuta ormai lo standard utilizzato da tutte le applicazioni .net per creare il file in formato JSON.

Anche in questo caso, l’esempio vuole illustrare come convertire un file in formato generico, senza dover per forza creare una classe .Net in cui memorizzare i dati della tabella Excel per poi convertirla. Serve per le conversioni Una-Tantum o quando vi venissero inviati dati generici che magari devono divenire una Tabella di dati di configurazione per una applicazione che non avrà bisogno di essere riconvertita in seguito.

Vediamo anche in questo caso l’applicazione WPF, che con eccessiva fantasia stavolta ho chiamato FromExcelToJson.

mainwindow_01

Comments closed

Convertire un foglio di Excel in XML

Un collega mi ha chiesto un suggerimento su come fare un programma per leggere dati da un foglio di Excel e convertirli in un file XML, considerato che è qualcosa che potrebbe accadere anche spesso, visto che soprattutto i non informatici hanno una propensione per utilizzare i fogli di Excel come database. O come formato standard di scambio dati, ho deciso di fare un esempio che mostra come utilizzare la libreria Open Source EPPlus, la trovate all’inidirizzo:  epplus.codeplex.com per leggere un file di Excel e scrivere un documento XML senza utilizzare per questo una specifica classe.

Perché questo esempio? perché è semplice da utilizzare per ricevere dati di tipo One Shot ovvero ci arriveranno una sola volta, quindi non vale la pena di costruire una classe entity e una collection per leggere una sola volta un foglio di Excel.

Vediamo come è fatta l’applicazione, si tratta di una applicazione WPF che ho chiamato con molta fantasia FromExcelToXml che contiene una sola Window, MainWindow:

MainWindow_01

Comments closed

Sql Server 2012 Installazione su Windows 10

Installare SQL Server non è una operazione che si fa quotidianamente, ma in questo periodo l’ho fatto per due volte passando a Windows 10 le macchine di sviluppo pertanto ho deciso di scrivere un po’ di appunti perché per installare una versione che ormai possiamo definire “vecchia” di SQL Server come la 2012 ci sono un paio di cose da sapere e saper fare. L’installazione di SQL è una cosa ricorsiva nei miei blog, perché succede spesso che venga interpellata in luoghi ove l’installazione è stata effettuata senza ricordare i 3 o 4 passaggi fondamentali e per questo si deve perdere del tempo per rimetterla a posto perciò visto che prevenire è sempre meglio che curare ecco come si fa.

Perchè installare SQL Server 2012 e non 2014 o 2016? Perché al momento, SQL Server 2012 è ancora quello più utilizzato da tutti i miei clienti, pertanto per essere in grado di ricevere i loro database, elaborarli e restituirli (nel tipo di lavoro che faccio io accade spesso) non posso utilizzare un server più recente del loro perché l’operazione di Attach del database ad un server più recente ne modifica la struttura e quindi in seguito non è più compatibile con quello del cliente. Ci sono sicuramente dei mezzi per aggirare il problema, ma nel mio caso, evitare è meglio che aggirare.

Comments closed

Generare Dinamicamente Controlli da codice

Si tratta di un esempio in risposta ad una richiesta sul forum Microsoft,  Questo è il link al thread in cui un principiante ha dapprima postato un problema e una volta risolto il problema contingente, ha spiegato che vorrebbe realizzare un programma per fare quiz in cui inserire i quiz su dei file di testo e da questi creare al volo i controlli sulla form per fare le domande.

La mia risposta è stata che non si tratta della soluzione migliore, quella di creare tutti i controlli al volo, e in questo articolo vediamo un esempio di come si fa e perché non la considero la soluzione più usabile per creare una applicazione.

In seguito posterò un esempio di come risolverei la cosa in modo meno complicato.

Comments closed

Come acquisire data e ora su due controlli diversi memorizzandola sullo stesso campo

Qualche giorno fa sul forum WPF di Microsoft Italia, è stata fatta una domanda da parte di uno sviluppatore che aveva la necessità di acquisire sia una data che un ora e voleva farlo su due controlli distinti.

I controlli standard WPF comprendono solo il controllo DateTime, che non permette di avere dei formati che diano modo di acquisire solo la data o solo l’ora.

E’ abbastanza primitivo da essere adatto solo a permettere l’acquisizizone utilizzando il calendario. Una acquisizione piuttosto lenta e priva del valore dell’ora.

Comments closed

Aggiungere un immagine di sfondo ad una TreeView WPF

Oggi, sul forum Microsoft un utente ha rivolto la seguente domanda:

Dovrei mettere un’immagine di sfondo alla mia treeview, il problema è che la proprietà non esiste Qui trovate il link al thread.

La mia risposta è stata la seguente:

Il controllo TreeView WPF non possiede una property BackgroundImage, ma è piuttosto semplice aggiungere un immagine di sfondo, inserendo un controllo Image nello stesso contenitore della TreeView nell’esempio qui pubblicato mostro uno dei metodi con cui si può fare.

Comments closed

Common Libraries – Due metodi helper per la crittografia AES

In risposta a Questo thread postato oggi sul forum Microsoft C# in cui un utente vuole implementare una chat crittografata utilizzando il metodo AES e ha trovato delle difficoltà.

Rispondo pubblicando un esempio di codice con i metodi che utilizzo io per questo tipo di crittografia.

Comments closed

Come passare un dato da una form ad un altra e aggiornare un valore a video nella form ricevente

In risposta ad una domanda fatta sul Form Microsoft C# (dove invito chiunque visiti il mio sito a porre quesiti per avere risposte) posto un piccolo esempio che mostra come creare una form da una esistente e aggiornare un valore in modo temporizzato.

Il thread originale sul forum non riguarda direttamente l’aggiornamento dei dati fra form, ma la prima risposta a cui questo esempio fa seguito, riguarda la correzione degli errori primari nel codice, poi, parleremo di multithreading e magari posterò un esempio in quel senso.

Il problema

Il programma in questione ha una form principale che permette una serie di attività, ed ha una form secondaria che deve visualizzare in modo temporizzato i valori derivati da una lettura sulla porta seriale. Il codice originale scritto da chi ha posto la domanda aveva un errore fondamentale, ovvero creava una form nuova ogni volta che doveva aggiornare il valore letto dalla seriale.

Vi invito a non fare smorfie dicendo “Ma come, è una cosa banale dai!” perché tutti da principianti siamo passati da questo problema, e chiunque neghi è un bugiardo patentato, anche io ho avuto questo problema, nel lontano 2003 quando ho scritto la mia prima applicazione con le form e sono la prima ad alzare la mano per indicare che sfortunatamente, le cose banali sono quelle che ti bloccano come muri, diventano davvero banali solo dopo che qualcuno ti ha spiegato come fare.

Comments closed

Implementare un Data Provider SQL Server usando ADO.Net

Nei post di quest’anno, iniziando ad aprile, ho creato un piccolo database SQL Server per dimostrare come utilizzare gli script T-SQL per generare gli oggetti dentro a SQL Server, poi ho proseguito, creando un sistema composto da un Servizio Windows e da una Console WPF che permettono di simulare una versione minimale dell’Agent di SQL Server per eseguire operazioni schedulate su SQL Server ed ho usato lo sviluppo di queste due applicazioni per spiegare una serie di concetti, spero utili, costruendo mattone per mattone l’applicazione WPF ed il Servizio Windows funzionanti ed installabili su qualsiasi PC o Server. Adesso è venuto il momento di riprendere in mano il Database definito nella serie iniziale di Post di quest’anno, e implementare per prima cosa una interfaccia WPF che ci permetta di inserire e modificare il suo contenuto.

Comments closed

Utility e User Experience in WPF

In questo progetto implementeremo una semplice utility per verificare la target platform delle Dll e degli Exe memorizzati su una cartella e ne approfitteremo per mostrare come utilizzare la classe AutoSettingsManager già  implementata nella console del MiniSqlAgent, per migliorare la User Experience. Inoltre, visto che è un utility che possiamo “utilizzare” creiamo anche il setup della stessa utilizzando InnoSetup e mostriamo come utilizzare Visual Studio per effettuare la build del setup grazie ai Post Build Events.

Comments closed