venerdì 22 giugno 2018

Giochi gratuiti per PC, XBOX e Playstation



Da diverso tempo è possibile scaricare legalmente dei giochi offerti in forma gratuita dalla Ubisoft.
I giochi sono completi o in alcuni casi delle trial oppure delle versioni beta, a seconda della tipologia del gioco.
Per maggiori informazioni e download visitate il seguente sito https://free.ubisoft.com/ dove tramite il tipo di casa, è possibile scaricare il gioco per Xbox, PC o Playstation.

Invio email sicure

Interessante il servizio gratuito che offre il sito https://protonmail.com/it/ per l'invio di email protette.
Il sito offre due piani, uno gratuito, con limitate funzionalità, mentre un'altro a pagamento con ulteriori opzioni e funzionalità.
Un servizio, che fornisce un indirizzo email protetto.
Per maggiori informazioni e registrazione, visitate il sito indicato.



giovedì 21 giugno 2018

Sito Microsoft documentazione sullo IOT

Man standing working in a factory.

Il seguente sito https://developer.microsoft.com/en-us/windows/iot/ permette a tutte le persone di trovare informazioni e documentazione sulla programmazione delle internet delle cose (IOT) con la tecnologia .Net

Nel sito si trovano manuale, ed esempi per avvicinarsi alla programmazione di questo settore.

Il portale è in lingua inglese.

Sito ufficiale della documentazione di Sql Server

Il seguente sito https://docs.microsoft.com/it-it/sql è quello ufficiale in lingua italiana della documentazione sul database Microsoft Sql Server.
Nel sito si trova tutto ciò che riguarda il database Microsoft anche a livello di programmazione.

mercoledì 20 giugno 2018

download gratuito Kaspersky Anti-Ransomware Strumento per le aziende




Interessante il tools gratuito che ha rilasciato pochi giorni fa Kaspersky per le aziende come protezione contro i Ransomware.
Il programma, con importanti novità anche in fatto della nuova normativa sulla privacy si può scaricare da qui https://www.kaspersky.it/blog/kaspersky-anti-ransomware-tool-for-business/ in lingua italiana.


Software gratuito per la realizzazione del DPIA sulla protezione dei dati

Come riportato dal sito del garante per la protezione dei dati personali qui http://www.garanteprivacy.it/regolamentoue da qualche settimana è possibile scaricare un software in italiano gratuito per la realizzazione del DPIA.
Il software è scaricabile in versione portatile per diversi sistemi operativi dal seguente sito https://www.cnil.fr/fr/outil-pia-telechargez-et-installez-le-logiciel-de-la-cnil

martedì 19 giugno 2018

Rilasciato Windows Template Studio 2.2

Windows Template Studio 2.2


Come riportato dalla seguente notizia, qui https://blogs.windows.com/buildingapps/2018/06/13/windows-template-studio-2-2-released/ è stata rilasciata la versione 2.2 di Windows Template Studio.

Novità interessanti in questa versione, come riportate nella notizia.
Per maggiori informazioni e download visitate il sito indicato.

.Net impostare un font personalizzato ai controlli label in Windows in VB.Net e C#

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/programmazione/art_net-impostare-un-font-personalizzato-ai-_1571.aspx

In questo articolo vedremo come tramite il linguaggio di programmazione Visual Basic Net e C# a run time un font personalizzato non presente nella lista dei caratteri.
Spesso può capitare che dobbiamo impostare nelle nostre Windows Application, un font particolare ai vari controlli, in questo articolo vedremo come personalizzare controlli di tipo label.
Prima i tutto bisogna avere un font personalizzato, nel caso che non si ha uno a portato di mano, dal seguente sito http://www.1001fonts.com/open-sans-font.html si può scaricarne uno gratuitamente.
Stesura codice
Si crea un nuovo progetto di tipo Windows Application, tramite il linguaggio di proprio gradimento.
Nella finestra o meglio nella form, inseriamo 4 label. In un controllo impostiamo il font di tipo “TeamViewer11” a carattere 16 di grandezza ed in formato grassetto.
A questo punto entriamo nella proprietà del progetto, tramite la finestra “Esplora Soluzione” facciamo click sul tasto destro sul nome del progetto, ed alla voce “Proprietà” facciamo click con il pulsante sinistro.
Nella finestra delle proprietà, selezionare la voce “Risorse” e nei menu posti nella parte superiore, fare click sul pulsante “Aggiungi risorsa” e nel sottomenu selezionare la voce “Aggiungi file esistente…” il tutto come mostrato in figura 1.



Figura 1 – La finestra delle proprietà

In questo modo abbiamo aggiunto al progetto una risorsa.
Facciamo click sulla nostra form (che può chiamarsi form1) e facciamo doppio click su un qualunque punto della form, in modo che si passa in visualizzazione codice nell’evento load.
Inseriamo lo spazio dei nomi per gestire le varie classi, in alto sopra ad ogni dichiarazione, scriviamo i namespace per gestire il testo, e la interoperabilità.
Qui di seguito tale dichiarazioni.


VB.Net

Imports System.Drawing.Text

Imports System.Runtime.InteropServices

C#

using System.Runtime.InteropServices;

using System.Text;

Ora ritorniamo nell’evento load della nostra form, è scriviamo il codice per modificare a runtime il font di tutti i controlli label che sono presenti nella form con il font aggiunto come risorsa.
Il codice, eseguirà un ciclo in tutti i controlli della form, e nel caso che il controllo è di tipo label, dalla risorsa aggiunta (font) ottiene un binario per generare un oggetto di tipo “Privatefontcollection” per creare poi un oggetto di tipo font.
Qui di seguito il codice per impostare in ogni label il font aggiunto come risorsa.



VB.Net

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

 

        For Each elemento In Me.Controls

            If (TypeOf elemento Is Label) Then

                Dim MiaLabel As Label = CType(elemento, Label)

                Dim pFontCollection As PrivateFontCollection = New PrivateFontCollection

                'Il totale dei byte

                Dim fontLength As Integer = My.Resources.OpenSans_Bold.Length

                'Buffer

                Dim fontBufferData() As Byte = My.Resources.OpenSans_Bold

                'Alloco la memoria

                Dim datiMemoria As System.IntPtr = Marshal.AllocCoTaskMem(fontLength)

                'Copio i dati nel blocco di memoria

                Marshal.Copy(fontBufferData, 0, datiMemoria, fontLength)

                'aggiungo alla collezione

                pFontCollection.AddMemoryFont(datiMemoria, fontLength)

                'Imposto il font

                MiaLabel.Font = New Font(pFontCollection.Families(0), Label1.Font.Size)

            End If

 

        Next

    End Sub

C#

        private void Form1_Load(object sender, EventArgs e)

        {

 

 

            foreach (var elemento in this.Controls)

            {

 

                if (elemento is Label)

                {

                    Label MiaLabel = (Label)elemento;

                    PrivateFontCollection pFontCollection = new PrivateFontCollection();

 

                    //Il totale dei byte

                    int fontLength = Properties.Resources.OpenSans_Bold.Length;

 

                    //Buffer

                    byte[] fontBufferData = Properties.Resources.OpenSans_Bold;

 

                    //Alloco la memoria

                    System.IntPtr datiMemoria = Marshal.AllocCoTaskMem(fontLength);

 

                    //Copio i dati nel blocco di memoria

                    Marshal.Copy(fontBufferData, 0, datiMemoria, fontLength);

 

                    //aggiungo alla collezione

                    pFontCollection.AddMemoryFont(datiMemoria, fontLength);

                    //Imposto il font

                    MiaLabel.Font = new Font(pFontCollection.Families[0], label1.Font.Size);

                    

                }

 

            }

 

          

        }





A questo punto non dobbiamo altro che eseguire la nostra applicazione, tramite “F5” o “Esegui” vedremo che la form ha tutti i controlli impostati con il font da noi indicato. Anche quello che avevamo in precedenza impostato un determinato font.

Conclusioni

L’articolo ha voluto fornire al lettore una tecnica di come impostare a runtime il font dei controlli, in questo caso di tipo “Label” in ambito Windows Forms.
Al momento non è possibile impostare a design time, ossia in modalità grafica, il tipo di font di un carattere personalizzato.

lunedì 18 giugno 2018

Eseguire codice .Net online

Interessante il tools online visibile qui https://dotnetfiddle.net/ che permette di eseguire codice .Net online ed eventualmente condividerlo con altri utenti tramite il pulsante Shared.

domenica 17 giugno 2018

VSTO Clickonce Installare e pubblicare un componente aggiuntivo di Office

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/programmazione/art_clickonce-installare-e-pubblicare-un-com_1568.aspx


In questo articolo vedremo come installare o meglio creare un pacchetto di installazione tramite ClickOnce per l’installazione di Componenti aggiuntivi per Microsoft Office.
A differenza dello store, che permette di raggiungere un ampio pubblico pubblicando in esso il proprio programma, con il pacchetto di installazione ,abbiamo la possibilità di effettuare una vera e propria installazione.
Utilizzeremo il progetto creato negli articoli progetti (esempio https://www.iprogrammatori.it/articoli/programmazione/art_vsto-creazione-componente-per-outlook-20_1565.aspx ), in cui è stata illustrata la tecnica della creazione di un componente.

Impostazioni di pubblicazioni

Tramite il tasto destro sul nome del progetto, nella finestra esplora soluzione, facciamo click sulla voce “Proprietà” a questo punto verrà aperta una finestra. In figura 1, presenta la pagina relativa alla creazione del pacchetto di installazione.


Figura 1 – La pagina proprietà della pubblicazione.

Vediamo passo per passo, le impostazione da applicare.
La casella “Posizione Cartella di pubblicazione” (server FTP o percorso Fil) indica il percorso dove verrà pubblicato o meglio creato il pacchetto di installazione ossia la serie di file di setup.
Facciamo click sul pulsante dei tre punti, e selezioniamo una nostra cartella. Nel nostro caso è stata creata una cartella nel progetto con il nome “Installazione”.
Naturalmente possiamo scrivere il nome della cartella direttamente nella finestra che viene aperta o prima.
Facciamo click sul pulsante “Prerequisiti” e se non facciamo uso di particolari componenti, lasciamo quelli di default, ossia “Microsoft Framework 4.5”e “Microsoft Visual Studio 2010 Tools for Office Runtime” il tutto come mostrato in figura 2.


Figura 2 – Le impostazione di default.

Lasciamo le opzioni, quali la spunta su “Crea programma di installazione per installare componenti dei prerequisiti” e l’opzione “Scarica prerequisiti dal sito web del fornitore del componente”.
In questo modo se mancano tali requisiti verranno scaricati automaticamente. ”OK”.
Ora facciamo click sul pulsante “Aggiornamenti”, se non abbiamo la necessità di aggiornarlo costantemente o con periodicità, possiamo impostare l’opzione “Non controllare mai” come mostrato in figura 3.

Figura 3 – L’opzione per non controllare mai gli aggiornamenti

Dopo aver cambiato l’opzione in “Non controllare mai” facciamo click sul pulsante “OK”.
Facciamo click sul pulsante “opzioni” dove verrà aperta una finestra “figura 4” che riporterà nelle impostazioni di installazione e nell’elenco dei programmi installati, informazioni sul componenti, come autore del programma, la descrizione, url del sito del produttore ed altre informazioni.

Figura 4 – la finestra per le impostazioni del componente

Ora prima di fare click sul pulsante “Pubblica”, verifichiamo che la spunta sulla voce “Incrementa automaticamente revisione a ogni versione” (figura 5) permettendo in questo modo di avere il versionamento del nostro programma, che può tornare utile nei vari rilasci.



Figura 5 – L’opzione per il versionamento

Ora non ci resta che fare click sul pulsante “Pubblica” per avviare la creazione del pacchetto di installazione.
Dopo aver pubblicato nella cartella che abbiamo impostato. Andiamo in esplora risorse di Windows, e troveremo una serie di file, tra cui il famoso file per l’installazione, quello denominato “setup.exe” come mostrato in figura 6 dove sono presenti altri file che riguarderanno l’installazione.


Figura 6 – La cartella dei file di installazione

Conclusione

L’articolo ha voluto fornire i passi per la creazione di un pacchetto di installazione dei componenti aggiuntivi creati con VSTO tramite il linguaggio di programmazione VB.Net e C#. Con l’uscita di Microsoft Office versione 2013 e 2016, è possibile creare anche componenti con tecnologia web e quindi pubblicarli direttamente nello store.
Questa utilità dei componenti, offre appunto la possibilità di estendere le applicazioni per Microsoft Office, anche se abbiamo visto per il programma di posta elettronica.

sabato 16 giugno 2018

postgresql close active connections

Nel caso che vogliamo cancellare tutte le connessioni appese del database Postgresql, lo script qui di seguito illustra come eseguire dal programma di gestione dati di PostgreSql, la cancellazione delle connessioni appese.

SELECT  pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
where datname = 'NomeDatabase' and state <> 'idle' and  pid <> pg_backend_pid()

Eseguendo lo script, rimarrà solo la connessione attiva per cui si sta eseguendo la query.

venerdì 15 giugno 2018

html td e th width not working

Nel caso che dobbiamo impostare una larghezza a delle colonne, può capitare che l'attributo width non ha effetto.
Per impostare una larghezza utilizzare min-with nel seguente frammento codice, in modo che imposta una larghezza minima sia alle colonne che alle intestazioni.


<style type="text/css">
    td {
        min-width: 250px;
        width: 250px;
        border: 1px solid black;
    }

    th {
         min-width: 250px;
        width: 250px;
        border: 1px solid black;
    }
</style>


Nell'esempio viene impostato anche il border.

giovedì 14 giugno 2018

Partecipare al programma di test di Microsoft Office 2019 preview

Fare clic su lascia


Come riportato dal seguente sito https://support.microsoft.com/it-it/help/4133311/how-to-participate-in-the-office-2019-commercial-preview-program è possibile partecipare al programma di test della nuova versione di Microsoft Office 2019.
Per informazioni ed altro visitate il sito indicato.

FT: motore di ricerca che incentiva la piantumazione

Il fuori tema di questa settimana, riguarda il motore di ricerca Ecosia qui  https://www.ecosia.org/  che oltre ad effettuare ricerche su internet, per ogni ricavo che deriva dalla pubblicità, si impegnerà a piantare alberi, in varie parti del mondo.
Un modo simpatico per salvaguardare l'ambiente.

mercoledì 13 giugno 2018

copia gratuita di For Honor Starter Edition su PC





Interessante l'iniziativa di regalare una copia della versione del gioco For Honor Starter Edition per pc, versione competa.
La disponibilità di avere il gioco gratuito è fino al 18 giugno 2018, per riceverla e maggiori informazioni visitate il seguente sito https://free.ubisoft.com/promotions/for_honor/26/

Motore di ricerca per file

Se state cercando un motore di ricerca che effettua ricerca di file presenti nei vari siti cloud o di file sharing o altri, dove poterli scaricare questo sito http://megasearch.co/ fa al caso vostro.
Dopo aver digitato il file o titolo di ciò che si vuole cercare, verranno forniti risultati di file, di diverso tipo, sul testo digitato.

martedì 12 giugno 2018

client posta elettronica Zimbra



Se state cercando un software gratuito ed eventualmente open source, per gestire la posta elettronica, Zimbra https://www.zimbra.com/ offre un versione desktop da utilizzare sul proprio pc, sia per Windows che per Linux.

Qui https://www.zimbra.com/downloads/zimbra-desktop/ si può scaricare l'ultima versione.


lunedì 11 giugno 2018

C# Schema URI fornito 'https' non valido. Previsto 'http'. Nome parametro: via

Nel caso che stiamo utilizzando un servizio web, che richiede credenziali e soprattutto una connessione progetto di tipo https, il file di configurazione va impostato con i parametri di tale connessione. In particolare il securitymode e le credential.


Qui di seguito il frammento di codice.

<bindings>
      <basicHttpBinding>
        <binding name="NomeWebServicePortBinding" receiveTimeout="00:10:00" sendTimeout="00:10:00"
            maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
                maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
          <security mode="Transport">
            <transport clientCredentialType="Basic" proxyCredentialType="None" realm="" />
            <message clientCredentialType="Certificate" algorithmSuite="Default" />
          </security>
        </binding>
      </basicHttpBinding>
    </bindings>

domenica 10 giugno 2018

tools online generate hashcode SHA256 hex encoded

Dal seguente sito https://www.fileformat.info/tool/hash.htm potete generare il codice Hash partendo da un testo, binary o file.
Il sito fornisce diversi risultati di Hash, un buon sito per questo tipo di attività.


sabato 9 giugno 2018

free ebook Ionic

Ionic Succinctly


Un ebook gratuito introduttivo al framework Ionic, che permette la realizzazione di applicazioni multi piattaforma.
L'ebook, di circa 90 pagine in lingua inglese e formato PDF, affronta in maniera introduttiva tale tecnologia.
Per il download e maggiori informazioni visitate il seguente sito https://www.syncfusion.com/ebooks/ionic_succinctly

venerdì 8 giugno 2018

.Net 4.6 Alcune novità del debug di Visual Studio 2017

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/programmazione/art_alcune-novita-del-debug-di-visual-studio_1567.aspx


In questo articolo vedremo alcune delle novità in ambito di debug dell’ambiente di sviluppo Visual Studio 2017.
Il debug, è quella fase in cui il programmatore, deve verificare che il funzionamento del codice è corretto ma soprattutto nel momento in cui alcune attività non avvengono in maniera corretta o vengono sollevati delle eccezioni.
L’ambiente di sviluppo offre diversi strumenti che permettono al programmatore di trovare in breve tempo l’errore di codice, in gergo tecnico bug, ma ci sono alcuni nuovi aspetti che il programmatore deve conoscere.

Stesura del codice

Si crea un nuovo progetto, con il linguaggio C# anche se qualcosa vedremo con il linguaggio VB.Net in ambito web o windows application o console application.
Nell’evento click del pulsante per esempio o funzione scriviamo il seguente codice.


VB.Net

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

        Dim arrayCitta As String() = {"Roma", "Milano", "Mantova", "Pisa", "Catania"}

        Dim testo As String = "Il valore del contatore è: "

        Task.Run(Sub()

                     For Contatore As Integer = 0 To 19

                         testo &= Contatore

 

                         System.Threading.Thread.Sleep(2500)

                     Next

 

                 End Sub)

 

        For Each elemento As String In arrayCitta

            Dim testo2 As String = elemento

        Next

    End Sub

 

 

C#

 

  private void button1_Click(object sender, EventArgs e)

        {

            string[] arrayCitta = { "Roma", "Milano", "Mantova", "Pisa", "Catania" };

            string testo = "Il valore del contatore è: ";

            Task.Run(() =>

            {

                for (int Contatore = 0; Contatore < 20; Contatore++)

                {

                    testo += Contatore;

                    System.Threading.Thread.Sleep(2500);

 

                }

            }

                );

 

            foreach (var elemento in arrayCitta)

            {

                string testo2 = elemento;

            }

 

 

        }



Mettiamo un blocco, ossia dove si ferma il codice per effettuare il debug, nel secondo ciclo.
Dove viene dichiarata testo2 per intenderci.
Nell’eseguire il codice, facciamo click sulla variabile testo e testo2 e l’aggiungiamo nella finestra “Espressione di controllo” (tasto destro, aggiungi ad espressione di controllo).
Se mettiamo nella variabile testo l’attributo ac, ossia in questo modo “testo,ac”, come mostrato in figura 1, vedremo che ad ogni step del secondo ciclo, terrà conto del cambiamento della variabile in cui abbiamo messo l’attributo ac.


Figura 1 – La finestra espressione di controllo

In questo modo, abbiamo modo di controllare il valore di oggetti, variabili e proprietà in altre fasi di codice, ogni qualvolta che cambia, passo dopo passo.
Vediamo altre novità di C#.
Si crea una classe denominata persona, con due proprietà, nome, cognome ed un’altra chiamata NomeCognome che contiene il valore di tutte e debug.
Il codice di suddette dichiarazione è riportato qui di seguito.


C#

private void button2_Click(object sender, EventArgs e)

        {

            List<Persona> persone = new List<Persona>()

            {

                new Persona("Emanuele","Mattei"),

                new Persona("Olga", "Foti"),

                new Persona("Luigi", "Cristaldi")

 

 

            };

               

               

           

        }


Si valorizzi una lista di oggetti di tale classe, come riportato qui di seguito



C#

private class Persona

        {

             

            public string Nome { get; set; }

 

            public string Cognome { get; set; }

            public Persona(string nome, string cognome)

            {

                this.Nome = nome;

                this.Cognome = cognome;

 

 

            }

 

            public string NomeCognome => this.Nome + " " + this.Cognome;

 

 

        }


Nella finestra dell’espressione di controllo vedremo che Il valore sarà il tipo di oggetto, come mostrato in figura 2 .


Figura 2 – il risultato di debug della classe

Questo avviene in tutte le versione di Visual Studio.
Se applichiamo alla classe l’attributo [DebuggerDisplay("Nominativo: {NomeCognome,nq}")]
Dove la parola “Nominativo” è il testo che verrà visualizzato nella colonna valore, mentre Nocognome la proprietà di riferimento che riporterà il valore.
Qui di seguito la dichiarazione di tale classe.


[DebuggerDisplay("Nominativo: {NomeCognome,nq}")]

        private class Persona

        {

            [DebuggerBrowsable(DebuggerBrowsableState.Never)]

            public string Nome { get; set; }

            [DebuggerBrowsable(DebuggerBrowsableState.Never)]

            public string Cognome { get; set; }

            public Persona(string nome, string cognome)

            {

                this.Nome = nome;

                this.Cognome = cognome;

 

 

            }

 

            public string NomeCognome => this.Nome + " " + this.Cognome;

 

 

        }

Se andiamo in debug, vedremo che nella finestra espressione di controllo, la colonna Valore, riporterà la dicitura “Nominativo” con il valore della proprietà “NomeCognome”.


Figura 3 – La finestra Espressione di controllo con i dati

Se invece vogliamo evitare che vengono visualizzati in debug le singole proprietà o determinate proprietà dobbiamo applicare l’attributo alle variabili o proprietà l’attributo [DebuggerBrowsable(DebuggerBrowsableState.Never)]
Qui di seguito il frammento di codice


[DebuggerDisplay("Nominativo: {NomeCognome,nq}")]

        private class Persona

        {

            [DebuggerBrowsable(DebuggerBrowsableState.Never)]

            public string Nome { get; set; }

            [DebuggerBrowsable(DebuggerBrowsableState.Never)]

            public string Cognome { get; set; }

            public Persona(string nome, string cognome)

            {

                this.Nome = nome;

                this.Cognome = cognome;

 

 

            }

 

            public string NomeCognome => this.Nome + " " + this.Cognome;

 

 

        }

Come mostrato in figura 4 le proprietà Nome e Cognome, che sono state impostate con tale attributo nella finestra “Espressione di controllo” non sono visualizzate.


Figura 4 - Le finestra espressione di controllo senza le proprietà

Conclusioni

L’articolo ha voluto fornire alcuni spunti sulle novità del debug di Visual Studio 2017 e del linguaggio di programmazione C#.
Il debug è una fase molto importante, non solo per scrivere il codice in maniera ottimizzata, ma anche nel momento in cui si verificano errori.