mercoledì 27 luglio 2016

Download Free ebook The Security Development Lifecycle



Un nuovo ebook da Microsoft Press, questa volta riguarda la sicurezza nei nostri sistemi.
Il libro è in formato pdf o per dispositivi mobili in lingua inglese, ed è scaricabile gratuitamente al seguente sito https://blogs.msdn.microsoft.com/microsoft_press/2016/04/19/free-ebook-the-security-development-lifecycle/

lunedì 25 luglio 2016

Free download ebook Microsoft Press

Ligman_Free_eBooks_Sm

Per tutti gli appassionati di tecnologia Microsoft, da qualche giorno è on line un post nel quale sono riepilogati tutti i manuali ebook scaricabili gratuitamente segnalati ad oggi.

Il sito nel quale si trovano ebook su sql Server, dynamics, SharePoint, programmazione, Office ed altro è consultabile qui https://blogs.msdn.microsoft.com/mssmallbiz/2016/07/10/free-thats-right-im-giving-away-millions-of-free-microsoft-ebooks-again-including-windows-10-office-365-office-2016-power-bi-azure-windows-8-1-office-2013-sharepoint-2016-sha/

domenica 24 luglio 2016

.Net Rilevare i dati meteo tramite VB.Net e C#

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_net-rilevare-informazioni-sul-meteo-vbne_1447.aspx


In questo articolo vedremo come realizzare un semplice applicativo che permette di rilevare i dati del tempo del giorno stesso in cui viene eseguito.
Possiamo ottenere anche le previsioni per i giorni a seguire, ma ci limiteremo a vedere quelle del giorno stesso.
Per rilevare tali informazioni, utilizzeremo le API esposte dal sito open weathermap http://openweathermap.org/api il quale offre un servizio gratuito molto interessante.
In questa parte vedremo come utilizzare quelle del giorno, e come interpetrare i valori, qui http://openweathermap.org/current la pagina con le informazioni.

Creazione della form

Si crea un progetto di tipo Windows Application, selezionando il linguaggio di proprio interesse.
Inseriamo nella form che viene presentata alcuni controlli in particolare tre controlli di tipo cornice, un controllo pulsante 12 controlli label e 12 controlli textbox ed infine un controllo di tipo WebBrowser, il tutto come mostrato in figura 1.



Figura 1 – la form con i campi valorizzati

Dopo aver posizionato i vari controlli, impostiamo i nomi alle caselle di testo e pulsante.

Stesura del codice

Ora passiamo in visualizzazione codice per scrivere le istruzioni per rilevare i valori ed impostali nei singoli controlli.
Se facciamo doppio click sul pulsante, passeremo alla visualizzazione codice dell’evento click del pulsante.
A questo punto dobbiamo inserire lo spazio dei nomi, nei quali utilizzeremo le classi per la gestione dei siti web (System.Net) lo spazio dei nomi per la gestione dello streaming (system.io) ed infine per la gestione del formato (system.text).
Qui di seguito si riporta il frammento di codice relativo alla dichiarazione dello spazio dei nomi per entrambi i linguaggi di programmazione.


Vb.Net

Imports System.Net

Imports System.IO

Imports System.Text

 
C#

using System.Text;

using System.Net;

using System.IO;


Ritorniamo all’evento click del pulsante, nel quale andremo ad utilizzare le classi per la gestione del sito web.
Il sito web che richiameremo ci tornerà dei valori con i quali andremo ad impostare le varie caselle di testo.
Utilizzeremo la classe Webrequest, webresponse e streamreader, le quali avranno il compito di ottenere e gestire i dati che restituisce il sito.
Qui di seguito si riporta il sito che rileva i dati in formato (xml) per la città di Roma, ed in lingua italiana. Per quest’ultimo parametro, va ricordato che solo il tipo di previsione è scritto in italiano, altrimenti tutti i valori sono in lingua inglese.
Altro parametro è l’unità di misura della temperatura.
Il sito da richiamare è il seguente
http://api.openweathermap.org/data/2.5/weather?q=Rome,it&mode=xml&units=metric&lang=it
Come si può vedere, il parametro, q è valorizzato con la città (Rome) e la nazione tramite (it), il parametro mode, indica in quale formato ci restituisce i dati (xml) ma possiamo ottenere anche json e html, il parametro units indica l’unità di misura ed infine il parametro lang il tipo di lingua.
I parametri sono tutti facoltativi, possiamo utilizzare altri parametri, per esempio per code, oppure per coordinate GPS.
Ma vediamo ora come ottenere i dati dal sito appena citato.
Qui di seguito si riporta il frammento di codice per entrambi i linguaggi.


VB.Net

Private Sub BtnRilevaTemp_Click(sender As System.Object, e As System.EventArgs) Handles BtnRilevaTemp.Click

        Dim url As String = "http://api.openweathermap.org/data/2.5/weather?q=Rome,it&mode=xml&units=metric&lang=it"

        Dim request As WebRequest = WebRequest.Create(url)

        Using response As WebResponse = DirectCast(request.GetResponse(), HttpWebResponse)

            Using reader As New StreamReader(response.GetResponseStream(), Encoding.UTF8)

                Dim dsResult As New DataSet()

                dsResult.ReadXml(reader)

                txtMinima.Text = dsResult.Tables(4).Rows(0)(1).ToString()

                txtMassima.Text = dsResult.Tables(4).Rows(0)(2).ToString()

                txtAttuale.Text = dsResult.Tables(4).Rows(0)(0).ToString()

                txtSorge.Text = DateTime.Parse(dsResult.Tables(3).Rows(0)(0).ToString()).ToString("dd/MM/yyyy hh:mm:ss")

                txtTramonta.Text = DateTime.Parse(dsResult.Tables(3).Rows(0)(1).ToString()).ToString("dd/MM/yyyy HH:mm:ss")

                txtumidita.Text = dsResult.Tables(5).Rows(0)(0).ToString() + dsResult.Tables(5).Rows(0)(1).ToString()

                txtventoVelocita.Text = dsResult.Tables(8).Rows(0)(0).ToString() + " " + dsResult.Tables(8).Rows(0)(1).ToString()

                txtDirezioneVento.Text = dsResult.Tables(9).Rows(0)(1).ToString() + "     " + dsResult.Tables(9).Rows(0)(2).ToString()

                txtPrecipitazione.Text = dsResult.Tables(11).Rows(0)(0).ToString()

                txtStato.Text = dsResult.Tables(12).Rows(0)(1).ToString()

                webBrowser1.Navigate("http://openweathermap.org/img/w/" + dsResult.Tables(12).Rows(0)(2).ToString() + ".png")

            End Using

        End Using

    End Sub
 

C#

private void BtnRilevaTemp_Click(object sender, EventArgs e)

        {

            string url = "http://api.openweathermap.org/data/2.5/weather?q=Rome,it&mode=xml&units=metric&lang=it";

            WebRequest request = WebRequest.Create(url);

            using (WebResponse response = (HttpWebResponse)request.GetResponse())

            {

                using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))

                {

                    DataSet dsResult = new DataSet();

                    dsResult.ReadXml(reader);

                   txtMinima.Text =  dsResult.Tables[4].Rows[0][1].ToString();

                   txtMassima.Text = dsResult.Tables[4].Rows[0][2].ToString();

                   txtAttuale.Text = dsResult.Tables[4].Rows[0][0].ToString();

                   txtSorge.Text = DateTime.Parse(dsResult.Tables[3].Rows[0][0].ToString()).ToString("dd/MM/yyyy hh:mm:ss");

                   txtTramonta.Text = DateTime.Parse(dsResult.Tables[3].Rows[0][1].ToString()).ToString("dd/MM/yyyy HH:mm:ss");

                   txtumidita.Text = dsResult.Tables[5].Rows[0][0].ToString() + dsResult.Tables[5].Rows[0][1].ToString();

                   txtventoVelocita.Text = dsResult.Tables[8].Rows[0][0].ToString() + " " +  dsResult.Tables[8].Rows[0][1].ToString();

                   txtDirezioneVento.Text = dsResult.Tables[9].Rows[0][1].ToString() + "     " + dsResult.Tables[9].Rows[0][2].ToString();

                   txtPrecipitazione.Text = dsResult.Tables[11].Rows[0][0].ToString();

                   txtStato.Text = dsResult.Tables[12].Rows[0][1].ToString();

                   webBrowser1.Navigate("http://openweathermap.org/img/w/" + dsResult.Tables[12].Rows[0][2].ToString() + ".png");

 

                }

            }

        }



Per ottenere l’icona dobbiamo utilizzare il link, indicando l’immagine il valore situato nel codice ID.
Alcune informazioni, codice e tipologia di immagine, si trovano al seguente sito http://openweathermap.org/weather-conditions nel quale troviamo anche l’esempio di come visualizzare l’immagine del tempo.
Nella pagina sono indicati tutti i codici di riferimento, non solo per le immagini.
Se invece vogliamo ottenere i giorni successivi, dobbiamo utilizzare il seguente link
http://api.openweathermap.org/data/2.5/forecast/daily?q=Rome,it&mode=xml&units=metric&lang=it&cnt=14
mettendo come riferimento “forecast” e non weahter, e come paramtri daily e cnt, dove il primo indica di ottenere i giorni successivi, in base al numero dei giorni impostati nel secondo parametro (cnt).


Conclusioni

L’articolo ha voluto fornire al lettore come dotare i nostri applicativi (Windows application in questo caso ma poteva essere anche una web application o mobile) della visualizzazione delle previsioni meteo.
Un sistema semplice e gratuito che possiamo aggiungere ai nostri programmi oppure realizzando programmi inerenti tale tematica.
Lasciamo al lettore l’interesse di scoprire le altre funzionalità offerte da questo sito, e le numerose api messe a disposizione.

sabato 23 luglio 2016

Evento gratuito SICUREZZA ICT

Sicurezza ICT Torino


Sempre più in Italia si sta scoprendo l'importanza della sicurezza informatica, negli ultimi mesi diversi eventi gratuiti e non, hanno affrontato questo tema, con esperti nazionali ed internazionali, che forniscono interessanti scenari che si possono verificare.
L'evento Sicurezza ICT, organizzato SOIEL, fornirà indicazioni interessanti sul mondo big data, cloud, e sicurezza di base dati.
L'evento si terrà a Torino il 28 settembre 2016, per maggiori informazioni ed iscrizioni visitate il seguente sito http://www.soiel.it/eventi/2016/sicurezza-ict-torino-2016/area-visitatori/contenuti/#menu

mercoledì 20 luglio 2016

Download Free ebook Configuring Microsoft SharePoint Hybrid Capabilities




Un nuovo ebook tecnologico gratuito, offerto da Microsoft Press, che questa volta riguarda la configurazione di SharePoint.
Il manualetto di circa 200 pagine, in formato pdf e sistemi mobili, fornisce interessanti indicazioni sul mondo SharePoint.
Il manuale è in lingua inglese e si può scaricare dal seguente sito https://blogs.msdn.microsoft.com/microsoft_press/2016/07/06/free-ebook-configuring-microsoft-sharepoint-hybrid-capabilities/

domenica 17 luglio 2016

WPF NotifyIcon

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_wpf-notifyicon-in-application-create-run_1446.aspx

 In questo articolo vedremo come realizzare in un progetto di tipo “Windows Presentation Foundation” (WPF) con la possibilità di dotare l’applicativo con una funzionalità che permette di nasconderlo all’avvio e visualizzare una icona nella traybar per visualizzarlo nuovamente oppure nasconderlo, proprio come si fa nelle “Windows Application” con il controllo NotifyIcon.
Procedimento
Si crea un nuovo progetto di tipo “WPF”, selezionando il linguaggio di proprio interesse.
A questo punto aggiungere nei riferimenti il puntato alle librerie “System.Drawing” e “System.Windows.Forms” per la gestione dei controlli, il tutto come mostrato in figura 1.


Figura 1 – L’aggiunta dei riferimenti.

Prima di passare alla stesura del codice, dobbiamo inserire nella cartella “Bin” dove si troverà il file eseguibile, l’icona (file .ico) che sarà visibile nella traybar, per intenderci accanto all’orologio.


Figura 2 - L’icona che utilizzeremo.

A questo punto non ci resta che scrivere il codice.
Stesura del codice
Passiamo in visualizzazione codice, la prima cosa da fare è quella di andare nel file “XAML” ed in particolare nel file “Application.xaml” per VB.Net e “App.xaml” per il linguaggio di programmazione C#.
A questo punto nella parte markup, togliere il seguente tag.


StartupUri="MainWindow.xaml"


Ora passiamo in visualizzazione codice, dove scrivere il codice relativo al linguaggio di programmazione VB.Net e C#, per i file “App.xaml.cs” e “Application.xaml.cs”.
A questo punto dobbiamo inserire lo spazio dei nomi per la gestione delle classi per la notifica (notifyIcon) e per la grafica (drawing).
Qui di seguito si riporta il frammento di codice delle suddette dichiarazioni.


VB.Net

Imports System.Windows

Imports System.ComponentModel

 
C#

using System.Windows;

using System.ComponentModel;


Dichiariamo a livello di classe un oggetto di tipo NotifyIcon, il quale avrà il compito di visualizzare l’icona nella traybar ed le varie funzionalità, ed una variabile di tipo bolean per decidere se visualizzare o no l’icona.
Qui di seguito si riporta il frammento di codice.


VB.Net

Private Notifica As System.Windows.Forms.NotifyIcon

    Private Uscita As Boolean

 C#

private System.Windows.Forms.NotifyIcon Notifica;

        private bool Uscita;


Ora non ci resta che creare i metodi per gestire i vari eventi che si verificano.
Ed in particolare, le funzioni per visualizzare il form quando si clicca una determinata e dal momento in cui si esce dall’applicativo.
Qui di seguito si riporta il frammento di codice.


VB.Net

Private Sub Esci()

        Uscita = True

        MainWindow.Close()

        Notifica.Dispose()

        Notifica = Nothing

    End Sub

 

    Private Sub VisualizzaForm()

        If MainWindow.IsVisible Then

            If MainWindow.WindowState = WindowState.Minimized Then

                MainWindow.WindowState = WindowState.Normal

            End If

            MainWindow.Activate()

        Else

            MainWindow.Show()

        End If

    End Sub

 
C#

private void Esci()

        {

            Uscita = true;

            MainWindow.Close();

            Notifica.Dispose();

            Notifica = null;

        }

 

        private void VisualizzaForm()

        {

            if (MainWindow.IsVisible)

            {

                if (MainWindow.WindowState == WindowState.Minimized)

                {

                    MainWindow.WindowState = WindowState.Normal;

                }

                MainWindow.Activate();

            }

            else

            {

                MainWindow.Show();

            }

        }



Dobbiamo creare altri due metodi o meglio una funzione per la creazione del menu contestuale, quando si fa click con il tasto destro del mouse sull’icona, e la gestione dell’evento “Closing” della form.
Qui di seguito si riporta le suddette operazioni per i linguaggi VB.Net e C#



VB.Net

Private Sub CreazioneMenu()

        Notifica.ContextMenuStrip = New System.Windows.Forms.ContextMenuStrip()

        AddHandler Notifica.ContextMenuStrip.Items.Add("Apri").Click, AddressOf VisualizzaForm

        AddHandler Notifica.ContextMenuStrip.Items.Add("Esci").Click, AddressOf Esci

    End Sub

Private Sub MainWindow_Closing(sender As Object, e As CancelEventArgs)

        If Not Uscita Then

            e.Cancel = True

            MainWindow.Hide()

        End If

    End Sub

 

 

C#

  private void CreazioneMenu()

        {

            Notifica.ContextMenuStrip = new System.Windows.Forms.ContextMenuStrip();

            Notifica.ContextMenuStrip.Items.Add("Apri").Click += (s, e) => VisualizzaForm();

            Notifica.ContextMenuStrip.Items.Add("Esci").Click += (s, e) => Esci();

        }

 

    private void MainWindow_Closing(object sender, CancelEventArgs e)

        {

            if (!Uscita)

            {

                e.Cancel = true;

                MainWindow.Hide();

            }

        }


Ora non ci resta che scrivere il codice nell’evento “Startup” che riguarda il momento in cui viene avviata il programma.
In questo evento, vengono creati i vari gestori di evento ed inizializzato l’oggetto per la notifica.
Qui di seguito il frammento di codice.


VB.Net

  Protected Overrides Sub OnStartup(e As StartupEventArgs)

        MyBase.OnStartup(e)

        MainWindow = New MainWindow()

        AddHandler MainWindow.Closing, AddressOf MainWindow_Closing

 

        Notifica = New System.Windows.Forms.NotifyIcon()

        AddHandler Notifica.DoubleClick, AddressOf VisualizzaForm

        Notifica.Icon = New System.Drawing.Icon("accept.ico")

        Notifica.Visible = True

 

        CreazioneMenu()

    End Sub


C#

  protected override void OnStartup(StartupEventArgs e)

        {

            base.OnStartup(e);

            MainWindow = new MainWindow();

            MainWindow.Closing += MainWindow_Closing;

 

            Notifica = new System.Windows.Forms.NotifyIcon();

            Notifica.DoubleClick += (s, args) => VisualizzaForm();

            Notifica.Icon = new System.Drawing.Icon("accept.ico");

            Notifica.Visible = true;

 

            CreazioneMenu();

        }





Figura 3 - L'icona nella traybar

Conclusioni
In questo articolo si è fornito al lettore una tecnica di come aggiungere alla propria applicazioni la possibilità di gestire il proprio programma la funzionalità di ridurlo a icona nella barra dell’orologio, dando così all’utilizzatore di Windows, di avere poche finestre aperte ed al tempo stesso il programma già attivo.
Tecnica usata in passato per lo sviluppo di applicazioni di tipo “Windows Application” ora applicabile anche per i progetti di tipo Windows Presentation Foundation”.

sabato 16 luglio 2016

download Free ebook Creating Mobile Apps with Xamarin.Forms



Un buon ebook gratuito in formato PDF o per dispositivi mobile, per lo sviluppo tramite lo strumento Xamarin, per la creazione di programmi per smartphone e tablet.
L'ebook è scritto in lingua inglese è si può scaricare dal seguente sito https://blogs.msdn.microsoft.com/microsoft_press/2016/03/31/free-ebook-creating-mobile-apps-with-xamarin-forms/

giovedì 14 luglio 2016

Asp.Net visualizzare i dati di un file Excel in una gridview tramite .Net

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_aspnet-visualizzare-un-file-excel-in-una_1443.aspx

In questo articolo vediamo come realizzare una semplice procedura che permette di visualizzare i dati di un file Excel in una pagina web ASP.NET, le informazioni saranno contenute in un controllo GridView.
Una tecnica semplice che può tornare utile nelle varie procedure di gestione dati su file Excel.
Prima di tutto bisogna creare un file Excel, nel nostro caso si creano tre colonne, una con il nome ID, un’altra colonna con l’intestazione impostato a “Nome” ed infine l’ultima colonna, la terza con l’intestazione con valore “Cognome”.
Riempiamo a nostro piacimento le righe successive.

L’immagine 1 illustra il file Excel.


Figura 1 – Visualizza dati Excel

A questo punto salviamo il nostro file Excel.
Si creare un progetto di tipo web, nel linguaggio di proprio interesse.
Inseriamo nella pagina web, un controllo label, un controllo di tipo button che permetterà il caricamento dei dati, un controllo upload ed infine un controllo Gridview.
La pagina sarà come mostrata in figura 2.


Figura 2 – la pagina con i vari controlli

Qui di seguito si riporta il codice HTML.


<
asp:FileUpload ID="FileUpload1" runat="server"
/>

    <
asp:Button ID="BtnCarica" runat="server" Text="Carica"

        onclick="BtnCarica_Click" 
/>

    <br />

    <br />

    <
asp:GridView ID="GridView1" runat="server"
>

    </asp:GridView
>

    <a
 
sp:Label ID="lbltesto" runat="server" Text=""></asp:Label
 
>

Stesura del codice

Passiamo in visualizzazione codice, o tramite il pulsante “visualizza codice” oppure tramite doppio click sul pulsante.
Inseriamo lo spazio dei nomi per gestire i file ed i dati, qui di seguito si riportano tali dichiarazioni per i linguaggi di programmazione VB.Net e C#


VB.Net

Imports System.IO

Imports System.Data.OleDb

Imports System.Data

 

C#

using System.IO;

using System.Data.OleDb;

using System.Data;


Nell’evento click andremo a scrivere il codice, che permette di salvare il file in una cartella (temp) in cui viene eseguito l’applicazione web, e tramite le classi oledb, andiamo ad effettuare una select nel file Excel come se fosse una tabella.
Il risultato che otteniamo nel dataset sarà caricato in un controllo Gridview.
Qui di seguito si riporta il frammento di codice dell’evento click del pulsante per i linguaggi di programmazione VB.Net e C#


VB.Net

Protected Sub BtnCarica_Click(sender As Object, e As EventArgs) Handles BtnCarica.Click

        If FileUpload1.HasFile Then

            Dim fileEstenzione As String = System.IO.Path.GetExtension(FileUpload1.FileName)

            If fileEstenzione = ".xls" OrElse fileEstenzione = ".xlsx" Then

                Dim NomeFile As String = System.IO.Path.GetFileName(FileUpload1.FileName)

                FileUpload1.SaveAs(Server.MapPath(Convert.ToString("~/temp/") & NomeFile))

                Dim NomePathFileExcel As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath(Convert.ToString("~/temp/") & NomeFile) + ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=1"""

                Dim connessione As New OleDbConnection(NomePathFileExcel)

                Dim sql As String = "Select * from [Foglio1$];"

                Dim DtaDati As New OleDbDataAdapter(sql, connessione)

                Dim DtsDati As New DataSet()

                DtaDati.Fill(DtsDati)

                If DtsDati.Tables(0).Rows.Count > 0 Then

                    GridView1.DataSource = DtsDati.Tables(0)

                    GridView1.DataBind()

                End If

            Else

                lbltesto.Text = "Selezionare un file Excel"

            End If

        End If

    End Sub

 

C#

protected void BtnCarica_Click(object sender, EventArgs e)

        {

            if (FileUpload1.HasFile)

            {

                string fileEstenzione = System.IO.Path.GetExtension(FileUpload1.FileName);

                if (fileEstenzione == ".xls" || fileEstenzione == ".xlsx")

                {

                    string NomeFile = System.IO.Path.GetFileName(FileUpload1.FileName);

                    FileUpload1.SaveAs(Server.MapPath("~/temp/" + NomeFile));

                    string NomePathFileExcel = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Server.MapPath("~/temp/" + NomeFile) + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"";

                    OleDbConnection connessione = new OleDbConnection(NomePathFileExcel);

                    string sql = "Select * from [Foglio1$];";

                    OleDbDataAdapter DtaDati = new OleDbDataAdapter(sql, connessione);

                    DataSet DtsDati = new DataSet();

                    DtaDati.Fill(DtsDati);

                    if (DtsDati.Tables[0].Rows.Count > 0)

                    {

                        GridView1.DataSource = DtsDati.Tables[0];

                        GridView1.DataBind();

                    }

                }

                else

                {

                    lbltesto.Text = "Selezionare un file Excel";

                }

            }

        }





Conclusioni
L’articolo ha voluto illustrare una tecnica di come visualizzare i dati presenti in un file Excel, in una pagina web, in maniera molto semplice e veloce.
Le potenzialità offerte dalla tecnologia Asp.Net e dell’applicativo Microsoft Excel offre al programmatore scenari ampi e di facile utilizzo, permettendo di ottenere notevoli risultati con semplicità.
Utilizzare Excel come fonte base è una tecnica che viene usata in diverse circostanze in ambito consumer e business, proprio per la flessibilità offerta da questo applicativo.