sabato 22 luglio 2017

Asp.Net Jquery visualizzare un accordion

Nel frammento di codice qui di seguito, illustra una tecnica che riguarda la possibilità di visualizzare il terzo pannello a scomparsa di Jquery tramite il metodo show.
Il nome della classe content indica l'oggetto sul quale applicare il metodo, mentre eq(2) il singolo elemento, in questo caso, il terzo.


 $(".content").eq(2).show();

venerdì 21 luglio 2017

Asp.Net Jquery addclass e removeclass element html

Nel caso che vogliamo impostare la classe di uno stile ad un tag html tramite Jquery, utilizzando i metodi removeclass ed addclass ci permettono di rimuovere e togliere la classe di CSS.

L'esempio qui di seguito, illustra una tecnica che rilevato il terzo elemento di una serie di div con una classe denominata "frame" imposta uno stile.


 $(".frame").eq(2).removeClass('frame active').addClass('frame active');

giovedì 20 luglio 2017

Evento gratuito NIDAYS 2017

Torna l'evento più importante dell'anno riguardante i prodotti National Instruments.
A Milano, il 14 novembre 2017, si svolgerà l'edizione 2017 di NIDays, nel quale saranno presenti le novità dei prodotti Labview ed altri, oltre che casi di successo, laboratori e fare rete. Insomma un evento di grande importanza per tutti coloro che utilizzano o si vogliono avvicinare ai prodotti National Instruments.
Per iscrizioni e maggiori informazioni visitate il seguente sito https://events.ni.com/profile/web/index.cfm?PKwebID=0x23124b8d8&varPage=home

mercoledì 19 luglio 2017

UWP aggiungere un controllo dinamicamente XAML C#

Quando si realizzano applicazioni di tipo Universal Windows Platform, nel caso che si vuole aggiungere nella pagina XAML un controllo dinamicamente il frammento di codice qui di seguito illustra tale tecnica, aggiungendo un controllo di tipo texblock.

Il nome GridMaster, è il nome del controllo Grid della pagina XAML.


C#
   TextBlock txbTesto = new TextBlock();
            txbTesto.Margin = new Thickness(200, 500, 0, 0);
            txbTesto.Text = "Prova controllo runtime";
            gridMaster.Children.Add(txbTesto);

martedì 18 luglio 2017

Download free ebook More UWP Succinctly

More UWP Succinctly

Un nuovo libro gratuito in formato pdf o per dispositivi mobili in lingua inglese riguardante lo sviluppo delle Universal Windows Platform.
L'ebook di circa 140 pagine, illustra alcuni aspetti di tale architettura come per esempio accedere ai dati o la navigazione.
L'ebook scaricabile gratuitamente da questo sito https://www.syncfusion.com/resources/techportal/details/ebooks/More_uwp_succinctly

lunedì 17 luglio 2017

Programma gratuito di grafica Krita

Krita Logo

Se state cercando un valido programma gratuito per il disegno, il software di grafica Krita è un valido alleato.
Il software  è anche opensource e versione portatile sia per la versione a 32 bit che a quella 64 bit.
Per maggiori informazioni e download vedere il seguente sito https://krita.org/en/

domenica 16 luglio 2017

Software per la creazione di cloud per la condivisione dei file

Se state cercando una versione gratuita per la realizzazione di sistema cloud per la gestione dei file, storage, utilizzando i propri pc, il software qui https://owncloud.org/ di seguito, permette la realizzazione di sistema cloud per la condivisione e salvataggio dei file.

sabato 15 luglio 2017

.Net comprimere i file tramite la libreria DotNetZip in VB.net e C#

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_net-comprimere-e-decomprimere-i-file-tra_1512.aspx

In questo articolo vedremo come utilizzare la libreria DotNetZip, scaricabile gratuitamente da questo sito http://dotnetzip.codeplex.com/ per comprimere e decomprimere i file.
La libreria, come in molti progetti presenti in Codeplex è gratuita ed utilizzabile in vari scenari.
Vedremo alcuni esempi di codice da utilizzare con il linguaggio di programmazione VB.Net e C# sia in ambito Windows Application e webapplication.
Dopo aver scaricare il componente dal seguente sito http://dotnetzip.codeplex.com/ decomprimere la cartella, nella quale troviamo, esempi di codice, librerie per diversi ambienti e dll.

Stesura del codice

Si crea un nuovo progetto con Visual Studio di tipo “Windows Application”, per il linguaggio VB.Net e C#.
Aggiungete quattro pulsanti, come riportato in figura 1


Figura 1 – la form

Ogni pulsante eseguirà un determinato frammento di codice per comprimere o decomprimere.
Aggiungiamo al nostro progetto, un riferimento alla libreria presente nella cartella “zip-v1.9” dove v1.9 indica la versione della libreria (possiamo trovare altre versione nei prossimi mesi) selezionando dalla cartella “Release” la libreria “Ionic.Zip”
Dopo aver aggiunto tale riferimento, inseriamo lo spazio dei nomi, qui di seguito la dichiaraizone per il linguaggio di programmazione VB.Net e C#.


 

VB.Net

Imports Ionic.Zip


C#

using Ionic.Zip;


Dopo aver aggiunto lo spazio dei nomi,  abbiamo a disposizione le classi per comprimere e decomprimere i file o intere cartelle.
Per il pulsante con la dicitura “Zip”, il primo di destra della figura 1, nell’evento click scriviamo il seguente codice.



VB.Net

Private Sub BtnZip_Click(sender As Object, e As EventArgs) Handles BtnZip.Click

 

        Using fileZip As New ZipFile()

            fileZip.AddFile("E:\Filetest1Zip.jpg")

            fileZip.AddFile("E:\Filetest2Zip.jpg")

            fileZip.AddFile("E:\Filetest3Zip.jpg")

             fileZip.Save("E:\FileCompresso.zip")

        End Using

 

C#

private void BtnZip_Click(object sender, EventArgs e)

        {

            using (ZipFile fileZip = new ZipFile())

            {

                fileZip.AddFile("E:\\Filetest1Zip.jpg");

                fileZip.AddFile("E:\\Filetest2Zip.jpg");

                fileZip.AddFile("E:\\Filetest3Zip.jpg");
                fileZip.Save("E:\\FileCompresso.zip");

            }

 

        }



Come si vede dal frammento di codice precedente, tramite la classe ZipFile, si crea un oggetto con il quale si crea un file compresso.
Il metodo “AddFile”, permette di aggiungere il singolo file, impostando il percorso e nome del file da comprimere.
Con il metodo “Save” si crea il file Compresso, passando come parametro, il percorso e nome file compresso.
Ora facciamo doppio click sul secondo pulsante partendo da destra, quello con la dicitura “Zip multi file directory”. Nell’evento click di questo pulsante, abbiamo la possibilità di creare un file compresso, dove al suo interno avremmo delle cartelle che contengono dei file.
Qui di seguito il frammento di codice di esempio.


VB.Net

Private Sub btnFileConDirectory_Click(sender As Object, e As EventArgs) Handles btnFileConDirectory.Click

        Using fileZip As New ZipFile()

            fileZip.AddFile("E:\Filetest1Zip.jpg", "immagine")

            fileZip.AddFile("E:\Filetest2Zip.jpg", "files")

            fileZip.AddFile("E:\Filetest3Zip.jpg")

 

            fileZip.Save("E:\FileCompresso.zip")

        End Using

    End Sub

C#

private void btnFileConDirectory_Click(object sender, EventArgs e)

        {

            using (ZipFile fileZip = new ZipFile())

            {

                fileZip.AddFile("E:\\Filetest1Zip.jpg", "immagine");

                fileZip.AddFile("E:\\Filetest2Zip.jpg", "files");

                fileZip.AddFile("E:\\Filetest3Zip.jpg");

              

                fileZip.Save("E:\\FileCompresso.zip");

            }

        }



Come si vede dal frammento di codice, utilizzando il metodo “AddFile” con il secondo parametro indichiamo la cartella all’interno del file compresso che dobbiamo creare ed aggiungerci il file.
Adesso vediamo un altro esempio di codice, con il quale comprimere un’intera cartella con al suo interno dei file.
Facciamo doppio click sul secondo pulsante, partendo da sinistra, quello con la dicitura “Zip directory”.
Nell’evento click scriviamo il frammento di codice riportato qui di seguito.


VB.Net

Private Sub BtnCompressDirectory_Click(sender As Object, e As EventArgs) Handles BtnCompressDirectory.Click

        Using fileZip As New ZipFile()

            fileZip.AddDirectory("E:\TestCartellaDaZippare")

            fileZip.Save("E:\FileCompresso.zip")

        End Using

    End Sub

C#

private void BtnCompressDirectory_Click(object sender, EventArgs e)

        {

            using (ZipFile fileZip = new ZipFile())

            {

                fileZip.AddDirectory("E:\\TestCartellaDaZippare");

                fileZip.Save("E:\\FileCompresso.zip");

            }

        }


Come si vede dal precedente codice, tramite il metodo “AddDirectory” passando come parametro il percorso della cartella, aggiungiamo nell’archivio del file compresso tutti i file presenti in quella cartella.
Ora che abbiamo visto la parte per comprimere i file, vediamo invece come decomprimere i file compressi.
Facciamo doppio click sul primo pulsante di sinistra, quello con scritto “Decomprimere”, nell’evento click di tale pulsante scriviamo il codice per decomprimere.


VB.Net

Private Sub BtnDecomprimere_Click(sender As Object, e As EventArgs) Handles BtnDecomprimere.Click

        Using fileZip As ZipFile = ZipFile.Read("E:\FileCompresso.zip")

 

            For Each DecomprimiZip As ZipEntry In fileZip

                DecomprimiZip.Extract("E:\CartellaFileDecompressi")

 

            Next

        End Using

    End Sub

 

C#

 

  private void BtnDecomprimere_Click(object sender, EventArgs e)

        {

            using (ZipFile fileZip = ZipFile.Read("E:\\FileCompresso.zip"))

            {

                 

                foreach (ZipEntry DecomprimiZip in fileZip)

                {

                    DecomprimiZip.Extract("E:\\CartellaFileDecompressi");

                }

 

            }

        }


Come si è visto dal precedente codice, tramite il metodo “Read” passando come paramentro, il percorso e nome del file compresso della classe ZipFile, andiamo a rilevare i file e cartelle contenuti al suo interno, tramite la classe ZipEntry, con il metodo “Extract” passando come parametro il pecorso e cartella in cui estrae tutti i file presenti nel file compresso.
Vediamo come utilizzare la libreria anche in ambiente web, in particolare tramite pagina asp.Net.
Dopo aver creato un nuovo progetto Asp.net ed aggiunto ad una pagina un pulsante, aggiungiamo nel progetto web, il riferimento alla libreria DotNetZip, a questo punto, inseriamo lo spazio dei nomi che abbiamo visto in precedenza.
Nell’evento click del pulsante web, dobbiamo prima di tutto creare un file compresso, tramite la classe Zipfile, e tramite il metodo save, passare la classe response, in particolare la proprietà “outputstream”.
Qui di seguito il frammento di codice per entrambi i linguaggi.


VB.Net

Using fileZip As New ZipFile()

            fileZip.AddDirectory("E:\TestCartellaDaZippare")

 

            Response.Clear()

            Response.AddHeader("Content-Disposition", "attachment; filename=DownloadedFile.zip")

            Response.ContentType = "application/zip"

            fileZip.Save(Response.OutputStream)

            Response.End()

 

        End Using

C#

protected void BtnDownloadZip_Click(object sender, EventArgs e)

        {

            using (ZipFile fileZip = new ZipFile())

            {

                fileZip.AddDirectory("E:\\TestCartellaDaZippare");

 

                Response.Clear();

                Response.AddHeader("Content-Disposition", "attachment; filename=DownloadedFile.zip");

                Response.ContentType = "application/zip";

                fileZip.Save(Response.OutputStream);

                Response.End();

            }

        }


Conclusioni

In questo articolo, abbiamo visto come tramite la libreria gratuita DotnetZip possiamo creare applicazioni, anche di una certa complessità, che con poche righe di codice, ci permettono di comprimere file e cartelle.
L’utilizzo delle classi messe a disposizione da questa libreria è molto semplice ed i vari metodi permettono di scrivere con poche righe di codice, operazioni anche complesse.
Nell’articolo sono state affrontate in maniera basilare, come comprimere e decomprimere file sia in ambiente Windows Application e sia in ambiente Web, naturalmente il lettore potrà approfondire tale funzionalità ed eventualmente condividere la sua esperienza, inserendo i commenti in questo articolo.