giovedì 21 settembre 2017

Si è verificato un errore di rete o specifico dell'istanza mentre si cercava di stabilire una connessione con SQL Server

Può capitare che al login del programma Microsoft Sql Server Management Studio visualizza il seguente messaggio:

Si è verificato un errore di rete o specifico dell'istanza mentre si cercava di stabilire una connessione con SQL Server. Il server non è stato trovato o non è accessibile. Verificare che il nome dell'istanza sia corretto e che SQL Server sia configurato in modo da consentire connessioni remote. (provider: SQL Network Interfaces, error: 26 - Errore nell'individuazione del server/dell'istanza specificata) (Microsoft SQL Server, errore: -1)

Questo errore si verifica perché il servizio "Sql Server (SqlExpress)" è fermo.
Per avviarlo, andare nei servizi di Windows, ed una volta selezionato fare click sul pulsante "Avvia Servizio" in alto.

martedì 19 settembre 2017

Chrome Clickonce

Per chi utilizza la tecnologia di ClickOnce per la distribuzione di applicazioni per .Net, utilizzando il browser Chrome, riscontrerà dei problemi nello scaricare il file di tipo ".application".
Il problema, è che il browser scarica senza eseguire tale applicativo.
Per ovviare a tale problema, bisogna scaricare il componente gratuito presente nello store, e precisamente qui https://chrome.google.com/webstore/detail/clickonce-for-google-chro/kekahkplibinaibelipdcikofmedafmb


lunedì 18 settembre 2017

Minaccia informatica mappa in tempo reale

Dal seguente sito https://cybermap.kaspersky.com/it/ è possibile consultare la mappa delle minacce informatiche di tutto il mondo.
Nel sito, in lingua italiana, sono riportate le statistiche di tutti i pericoli del web.
Un sito con contiene interessanti informazioni.

domenica 17 settembre 2017

C# Creare un file da un stream

Nel caso che vogliamo creare un file da un oggetto di tipo "Stream" nel linguaggio di programmazione C#, tramite la classe FileStream, ed il metodo Copyto dell'oggetto Stream possiamo salvare sul proprio pc un file proveniente da uno stream
Qui di seguito un esempio di codice


  Stream streamNuovoFile;

streamNuovoFile = GetDati();

 using (FileStream outputFileDaGenerare = File.Create("C:\Cartella\NomeFile.jpg"))
                {
                    streamNuovoFile .CopyTo(outputFileDaGenerare );
                   
                }



sabato 16 settembre 2017

Adding Custom WCF header to Endpoint code C#

Nel caso che si vuole aggiungere a runtime delle impostazioni nel header di un WCF da codice, il frammento di codice qui di seguito ne illustra una tecnica.
Tramite la classe EndopointAddressBuilder si crea un oggetto che poi andremo ad utilizzare per impostare la chiave con il relativo valore.
Tramite il metodo ToEndoPointAddress lo passiamo alla proprietà Address del servizio WCF



 WcfServizio ClientWcf = new WcfServizio ();

 var endopointAddress = new EndpointAddressBuilder(ClientWcf .Endpoint.Address);

                endopointAddress.Headers.Add(AddressHeader.CreateAddressHeader("Chiave", // Header chiave
                                                                    string.Empty,           // Namespace
                                                                    "Valore"));  // Header valore



ClientWcf .Endpoint.Address = endopointAddress .ToEndpointAddress();

venerdì 15 settembre 2017

free download ebook PHP

PHP Succinctly

Dal seguente sito https://www.syncfusion.com/resources/techportal/details/ebooks/PHP_Succinctly la possibilità di scaricare gratuitamente un ebook che fornisce le basi sul linguaggi di programmazione PHP.
Il file in formato pdf o per dispositivi mobili, in lingua inglese, fornisce le basi di questo linguaggio.

giovedì 14 settembre 2017

free office 2016 alternativa a Microsoft Office 2016



Le alternative gratuite a Microsoft Office, c'è ne sono diverse che in questi ultimi anni sempre più si stanno diffondendo.
Altra alternativa gratuita però non in lingua italiana è il programma WPF 2016, scaricabile da qui https://www.wps.com/office-free in lingua inglese, francese, spagnolo, tedesco, portoghese, polacco e russo (no italiano) .
Un programma che offre videoscrittura, foglio di calcolo e presentazione, certo non ha le funzionalità e prestazioni di Microsoft Office, che resta al momento il miglior programma di automazione d'ufficio (office automation) ma può tornare sempre utile saperlo.
Per il download e maggiori informazioni visitate il sito indicato.

mercoledì 13 settembre 2017

free metro icons

Se state cercando delle icone gratuite stile metro da utilizzare nei vostri siti e/o applicazioni, dal seguente sito https://www.syncfusion.com/downloads/metrostudio/iconpackage/application/1ba1e2 potete scaricarne tantissime, suddivisi per categoria.
Le icone, sono ben fatte e si possono utilizzare nei propri programmi.
Per il download e maggiori informazioni visitate il sito indicato.

martedì 12 settembre 2017

Sfondi gratuiti bing

Come riportato qui https://blogs.bing.com/search/2017-08/14-relaxing-bing-nature-photos-because-you-earned-it-by-buzzfeed la possibilità di scaricare alcune immagini del motore di ricerca Bing.
Immagini molto belle, sulla natura e paesaggi.
Ricordo inoltre che qui http://emanuelemattei.blogspot.it/2015/07/download-sfondo-bing.html potete scaricare un programma gratuito per scaricare lo sfondo del giorno di bing.


lunedì 11 settembre 2017

free ebook Bing Maps

Go Succinctly

Dal seguente sito https://www.syncfusion.com/resources/techportal/details/ebooks/Bing_Maps_V8_Succinctly potete scaricare un ebook gratuito di circa 106 pagine, in lingua inglese e formato Pdf o per dispositivi mobili, riguardante la programmazione Bing.
Il manuale fornisce interessanti spunti di come utilizzare il motore di ricerca Bing nei propri siti.


domenica 10 settembre 2017

Motore di ricerca per offerte di lavoro

Jooble

Per tutti coloro che vogliono migliorare la propria posizione lavorativa oppure trovare lavoro, possono affidarsi ai motori di ricerca, in particolare quelli dedicati al lavoro.

Il seguente sito https://it.jooble.org/ offre una valida funzionalità nel quale è possibile ricercare il lavoro desiderato tramite la casella in alto e/o indicare la città di proprio interesse.

Un sito in lingua italiana ben fatto, semplice e con buone prestazioni.



sabato 9 settembre 2017

.Net collegarsi al database Microsoft Access 2016 connectionstring

Se stiamo utilizzando il database Microsoft Access 2016 e nel realizzare la nostra applicazione .Net in qualsiasi linguaggio, può capitare che visualizza il seguente errore "Il provider 'Microsoft.ACE.OLEDB.12.0' non è registrato nel computer locale." Anche se mettiamo al posto di 12 il valore 15 o 16, l'errore è sempre quello.
Per risolvere tale problematica bisogna installare "Microsoft Access Database Engine 2010 Redistributable" scaricabile da qui https://www.microsoft.com/it-IT/download/details.aspx?id=13255 in lingua italiana e la versione a 32 bit .
 A questo punto riavviare il pc.

venerdì 8 settembre 2017

free ebook WPF

WPF Debugging and Performance Succinctly

Per coloro che sono alla ricerca di libri tecnici, in particolare su Windows Presentazion Foundation, dal seguente sito https://www.syncfusion.com/resources/techportal/details/ebooks/WPF_Debugging_and_Performance possono scaricare un file Pdf in lingua inglese di circa 80 pagine, nel quale sono presenti indicazioni su come effettuare debug su applicazioni WPF .

giovedì 7 settembre 2017

Evento gratuito sulla grafica 3D

Dopo la pausa estiva, riprendono gli eventi gratuiti sul programma di grafica più utilizzato al mondo  e di ottime prestazione sulla grafica 3D, parliamo di Lumion.
Come riportato qui http://www.lumion3d.it/lumion-reload-tour/ per il mese di settembre 2017, in diverse città italiane, si svolgeranno diversi seminari di mezza giornata sull'utilizzo di questo prodotto.

Tutti possono partecipare, l'evento è gratuito ed aperto a tutti, una formazione per avvicinarsi a questo settore o migliorare le proprie conoscenze con uno dei migliori programmi.
Per iscrizioni e maggiori informazioni visitate il sito indicato.

mercoledì 6 settembre 2017

Asp.Net gridview con checkbox nelle colonne tramite VB.Net e C#

Si riporta l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_aspnet-applicare-un-checkbox-nel-gridvie_1528.aspx

In questo articolo vedremo come applicare ad un controllo gridview, una colonna di tipo Checkbox e gestire fino ad un massimo di due selezioni.
Vedremo come con Javascript, e codice .Net possiamo estendere il controllo griglia, con interessanti colonne personalizzate.
Si crea un nuovo progetto in Visual Studio, di tipo web selezionando il linguaggio di programmazione di proprio interesse.
Aggiungiamo alla nostra pagina web, un controllo gridView, a questo punto dobbiamo scrivere il codice.

Stesura del codice

Ora non ci resta che scrivere il codice relativo alla gestione dei controlli.
Nella parte markup, ossia nel codice Html, impostiamo le colonne al controllo griglia, in particolare, avremmo tre colonne, una di tipo checkbox e due con i dati.
Qui di seguito un esempio di codice.



<asp:GridView ID="GridView1" runat="server"  AutoGenerateColumns="False"

                <Columns

                    <asp:TemplateField HeaderText="Descrizione"

                        <ItemTemplate
                             input type="checkbox" name="chkProdotto" <%#DataBinder.Eval(Container.DataItem, "ISVISIBLE")%> value="<%#DataBinder.Eval(Container.DataItem, "ID")%>"

                                onclick="CheckSelezionati();" /><%#DataBinder.Eval(Container.DataItem, "DESCRIZIONE")%

                        

                                                                            -

                            <%#DataBinder.Eval(Container.DataItem, "DESCRIZIONE")%

                        </ItemTemplate

                    </asp:TemplateField

                    <asp:BoundField DataField="NOME" HeaderText="Nome" /

                    <asp:BoundField DataField="COGNOME" HeaderText="Cognome" /

                </Columns

 

 

            </asp:GridView


Aggiungiamo anche un pulsante alla nostra pagina, come riportato qui di seguito.



 asp:Button ID="BtnEsegui" runat="server" Text="Ottieni valori" OnClick="BtnEsegui_Click" />

Il pulsante avrà l’obiettivo di visualizzare i dati selezionati o meglio il codice ID del checkbox selezionato.
Ora dobbiamo scrivere il codice Javascript, che controlla se abbiamo selezionato più di un controllo.
Si riporta qui di seguito la funzione Javascript, che verrà utilizzata nell’evento onclick del pulsante Checkbox situato nella griglia.


<script language="javascript"

 

        function CheckSelezionati() {

 

            var count = 0;

            for (i = 0; i < document.forms[0].elements.length; i++) {

                

                if ((document.forms[0].elements[i].type == 'checkbox') && (document.forms[0].elements[i].name.indexOf('chkProdotto') > -1)) {

                    if (document.forms[0].elements[i].checked == true) {

                        count++;

                        if (count > 2) {

 

                            document.forms[0].elements[i].checked = false;

                            alert("Si possono selezionare massimo 2 scelte.");

                            break;

                        }

                    }

                }

               

            }

            if (count > 2) {

 

                return false;

            }

            else { return true; }

        }

 

    </script

Il codice Javascript precedente, verifica se i vari oggetti checkbox, in particolare quelli che hanno il nome chkprodotto, sono selezionati, in tal caso, verifica che il numero non sia superiore a 2.
Ora dobbiamo scrivere il codice per valorizzare la griglia.
Qui di seguito, si riporta un frammento di codice, che crea un datatable, con tre record, per entrambi i linguaggi.



VB.Net

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Dim DttDati As New DataTable

        Dim ColonnaID As New DataColumn("ID")

        Dim ColonnaDescrizione As New DataColumn("DESCRIZIONE")

        Dim ColonnaNome As New DataColumn("NOME")

        Dim ColonnaCognome As New DataColumn("COGNOME")

        Dim ColonnaCheccato As New DataColumn("ISVISIBLE")

 

        DttDati.Columns.Add(ColonnaID)

        DttDati.Columns.Add(ColonnaDescrizione)

        DttDati.Columns.Add(ColonnaNome)

        DttDati.Columns.Add(ColonnaCognome)

        DttDati.Columns.Add(ColonnaCheccato)

        Dim DtrRiga As DataRow = DttDati.NewRow()

        DtrRiga("ID") = 1

        DtrRiga("DESCRIZIONE") = "MELA"

        DtrRiga("NOME") = "Emanuele"

        DtrRiga("COGNOME") = "Mattei"

        DtrRiga("ISVISIBLE") = "checked"

        DttDati.Rows.Add(DtrRiga)

        DtrRiga = DttDati.NewRow()

        DtrRiga("ID") = 2

        DtrRiga("DESCRIZIONE") = "PERA"

        DtrRiga("NOME") = "Manuel"

        DtrRiga("COGNOME") = "Maffei"

        DtrRiga("ISVISIBLE") = "checked"

        DttDati.Rows.Add(DtrRiga)

        DtrRiga = DttDati.NewRow()

        DtrRiga("ID") = 3

        DtrRiga("DESCRIZIONE") = "BANANE"

        DtrRiga("NOME") = "Maria"

        DtrRiga("COGNOME") = "Bianchi"

        DtrRiga("ISVISIBLE") = ""

        DttDati.Rows.Add(DtrRiga)

 

        GridView1.DataSource = DttDati

        GridView1.DataBind()

 

 

 

 

 

 

 

    End Sub

 

C#

   protected void Page_Load(object sender, EventArgs e)

        {

            DataTable DttDati = new DataTable();

            DataColumn ColonnaID = new DataColumn("ID");

            DataColumn ColonnaDescrizione = new DataColumn("DESCRIZIONE");

            DataColumn ColonnaNome = new DataColumn("NOME");

            DataColumn ColonnaCognome = new DataColumn("COGNOME");

            DataColumn ColonnaCheccato = new DataColumn("ISVISIBLE");

 

            DttDati.Columns.Add(ColonnaID);

            DttDati.Columns.Add(ColonnaDescrizione);

            DttDati.Columns.Add(ColonnaNome);

            DttDati.Columns.Add(ColonnaCognome);

            DttDati.Columns.Add(ColonnaCheccato);

            DataRow DtrRiga = DttDati.NewRow();

            DtrRiga("ID") = 1;

            DtrRiga("DESCRIZIONE") = "MELA";

            DtrRiga("NOME") = "Emanuele";

            DtrRiga("COGNOME") = "Mattei";

            DtrRiga("ISVISIBLE") = "checked";

            DttDati.Rows.Add(DtrRiga);

            DtrRiga = DttDati.NewRow();

            DtrRiga("ID") = 2;

            DtrRiga("DESCRIZIONE") = "PERA";

            DtrRiga("NOME") = "Manuel";

            DtrRiga("COGNOME") = "Maffei";

            DtrRiga("ISVISIBLE") = "checked";

            DttDati.Rows.Add(DtrRiga);

            DtrRiga = DttDati.NewRow();

            DtrRiga("ID") = 3;

            DtrRiga("DESCRIZIONE") = "BANANE";

            DtrRiga("NOME") = "Maria";

            DtrRiga("COGNOME") = "Bianchi";

            DtrRiga("ISVISIBLE") = "";

            DttDati.Rows.Add(DtrRiga);

 

            GridView1.DataSource = DttDati;

            GridView1.DataBind();

        }

Ora scriviamo il codice da inserire nell’evento click del pulsante, che verifica tutti i controlli checkbox selezionati e ne riporta il valore.
Qui di seguito tali dichiarazioni per entrambi i linguaggi.




VB.Net

Protected Sub BtnEsegui_Click(sender As Object, e As EventArgs) Handles BtnEsegui.Click

 

        If Not Request.Form("chkProdotto") Is Nothing Then

 

            For Each lIdProdotto As Object In Request.Form("chkProdotto").Split(",")

 

                Response.Write("ID Prodotto: " & lIdProdotto)

 

            Next

 

        End If

    End Sub

 

C#

  protected void BtnEsegui_Click(object sender, EventArgs e)

        {

            if ((Request.Form("chkProdotto") != null))

            {

 

                foreach (object lIdProdotto in Request.Form("chkProdotto").Split(","))

                {

                    Response.Write("ID Prodotto: " + lIdProdotto);

 

                }

 

            }

        }





Conclusioni

L’articolo ha voluto riportare una delle tante tecniche di come estendere il controllo GridView, dotandolo di una colonna di tipo controllo checkbox.
L’utilizzo di Javascript per verificare il numero delle selezioni, fornisce all’utente un controllo sulla gestione dei dati più mirata.