lunedì 31 maggio 2021

Immagine gratuite per programmi gratuiti o commerciali

Un sito che farà piacere e soprattutto di utilità a molti programmatori e web master nel reperire immagini gratuite senza registrazione e senza inserire una email.

Dal seguente sito https://iconduck.com/ è possibile scaricare gratuitamente icone suddivise in varie categorie.


domenica 30 maggio 2021

C# Estrapolare il file firmato digitalmente .p7m con .Net

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-net-50-estrapolare-il-file-firmato-digitalmente-p7m-_1742.aspx


 In questo articolo vedremo come rilevare i file firmato digitalmente che viene generato con l’estensione “.p7m” senza utilizzare componenti di terze parti ma le classi messe a disposizione dal Framework 5.0.

L’articolo si basa in ambito di Windows application con il linguaggio di programmazione C#, tramite Visual Studio 2019 community.

Vediamo come poter estrapolare dal file firmato digitalmente, con estensione p7m il relativo file originale.

Creazione del progetto

Si crea un nuovo progetto di tipo “Windows Application” selezionando come versione del Framework 5

Dopo aver creato il progetto, aggiungiamo nella form un controllo di tipo “Label” con il quale andremo a scrivere una descrizione, due controlli di tipo “Button” ed un controllo di tipo “Casella di testo”.

Un pulsante avrà la funzionalità di aprire una finestra per la selezione dei file di tipo “.p7m” mentre un altro pulsante, permetterà di estrapolare il contenuto nel file nella cartella in cui gira l’applicativo.

La form sarà simile come quella mostrata in figura 1.

Figura 1 – I controlli posizionati nella form



Il controllo Label avrà il testo con scritto “Percorso e nome file:” mentre il pulsante dei tre puntini, avrà la proprietà Name impostata su “BtnSelezionaFile”. Il controllo TextBox avrà impostata la proprietà “Name” con il valore “TxtPercorsoNomeFile” ed infine il pulsante posizionato in basso con il testo “Esporta File” avrà impostata la proprietà “Name” con il valore “BtnEsporta”.


Stesura del codice

Passiamo ora alla stesura del codice, facciamo doppio click sul pulsante dei tre punti, in questo modo passiamo in visualizzazione codice.


Nell’evento click del pulsante, scriviamo il codice per visualizzare a video una finestra che permette di selezionare i file che sono di tipo “.p7m”, il tutto tramite la classe “openFileDialog”.

Qui di seguito le suddette operazioni.


C#

private void BtnSelezionaFile_Click(object sender, EventArgs e)

        {

            OpenFileDialog fileDialog = new OpenFileDialog();

            fileDialog.Filter = "File p7m (*.p7m)|*.p7m";

            if (fileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)

            {

                TxtPercorsoNomeFile.Text = fileDialog.FileName;

            }

        }




Ora passiamo in visualizzazione grafica, e proviamo a fare una prova per vedere se la finestra di selezione file funziona.

Facciamo doppio click sul pulsante con la dicitura “Esporta File”, in questo modo viene visualizzata la parte di codice relativo all’evento click, sopra, nella parte dei namespace, dobbiamo aggiungere quelli per la gestione dei file e della crittografia.

Qui di seguito le suddette operazioni.


C#

using System.IO;

using System.Security.Cryptography.Pkcs;


Restando sempre in visualizzazione codice, andiamo nella parte del codice relativo all’evento click del pulsante per esportare i file, e scriviamo il codice per leggere nei file p7,.

Faremo uso della classe “SignedCMS” che tramite metodi e proprietà possiamo ottenere il file.

Qui di seguito il frammento di codice, che estrapola dal file di tipo “p7m” il suo contenuto e lo salva nella cartella dove viene eseguito il programma.

C#
private void BtnEsporta_Click(object sender, EventArgs e)
        {
            try
            {
                if (TxtPercorsoNomeFile.Text.Trim() == "")
                {
                    MessageBox.Show("Selezionare un file firmato digitalmente, di tipo p7m");
                }
                byte[] FileFirmatoP7m = File.ReadAllBytes(TxtPercorsoNomeFile.Text);
                if (FileFirmatoP7m == null)
                    throw new ArgumentNullException("Errore nel file firmato selezionato.");
                //Uso la classe per estrapolare il fle
                SignedCms cmsFirmato = new();
                cmsFirmato.Decode(FileFirmatoP7m);
                if (cmsFirmato.Detached)
                    throw new InvalidOperationException("Errore nella fase di estrapolazione del contenuto dal file firmato.");
                //Estrapola l'array byte del file firmato
                byte[] FileRilevato = cmsFirmato.ContentInfo.Content;

                //Nome del file che viene generato
                string NomeFileDaCreare = new FileInfo(TxtPercorsoNomeFile.Text).Name.Replace(new FileInfo(TxtPercorsoNomeFile.Text).Extension, "");

                File.WriteAllBytes(Environment.CurrentDirectory + "\\" + NomeFileDaCreare, FileRilevato);


            }
            catch (Exception ex)
            {
                MessageBox.Show("Errore: " + ex.Message);
            }
        }



Conclusioni

In questo articolo abbiamo visto come possiamo dotare le nostre applicazioni della possibilità di estrapolare in un file firmato digitalmente il suo contenuto, e quindi rilevare il file e poterlo aprire con il programma installato sul proprio pc. Può tornare utile anche nell’eventualità che si vuole realizzare un programma per la gestione della firma elettronica.

sabato 29 maggio 2021

Download ebook gratuito Porting existing ASP.NET Apps to .NET Core e-book

 



Interessante ebook da scaricare gratuitamente o leggere online sul porting di applicazioni realizzate in Asp.Net in .Net Core.

Per la lettura online l'ebook è consultabile in lingua italiana a questo indirizzo https://docs.microsoft.com/it-it/dotnet/architecture/porting-existing-aspnet-apps/?WT.mc_id=dotnet-17847-nanil mentre per il download del file in formato pdf ed in lingua inglese, il sito è questo https://dotnet.microsoft.com/download/e-book/porting-aspnet-apps/pdf .


Che dirvi, buona lettura.


venerdì 28 maggio 2021

download gratuito gioco Among Us

 



Disponibile gratuitamente e senza limitazioni il gioco di strategia Among Us per sistemi operativi Windows.

Il download è disponibile gratuitamente fino al 3 giugno 2021.

Per maggiori informazioni e download visitate il seguente Among Us | Acquistalo e scaricalo subito sull'Epic Games Store

giovedì 27 maggio 2021

Download gratuito ebook Migrate .NET apps to Azure e-book

 



Disponibile gratuitamente in lingua italiana qui https://docs.microsoft.com/it-it/dotnet/architecture/modernize-with-azure-containers/?WT.mc_id=dotnet-17847-nanil un ebook sulla migrazione di applicazioni .net in Azure, oppure in formato pdf in lingua inglese, scaricabile qui https://dotnet.microsoft.com/download/e-book/modernizing-existing-net-apps/pdf

mercoledì 26 maggio 2021

Rilasciata la versione .NET 6 Preview 4

 Come riportato dal seguente post https://devblogs.microsoft.com/dotnet/announcing-net-6-preview-4/ rilasciata la versione preview 4 del Framework .Net 6.

Si ricorda che l'installazione di questa versione del framework è consigliata da farla su macchine da test e non di produzione, onde evitare problemi.

Per maggiori informazioni visitate il sito indicato.

martedì 25 maggio 2021

Download ebook gratuito ASP.NET Core gRPC for WCF developers

 









Altro nuovo ebook dal sito Microsoft questa volta riguardante la programmazione .Net con particolare attenzione ai servizio WCF.

Dal seguente sito https://docs.microsoft.com/it-it/dotnet/architecture/grpc-for-wcf-developers/?WT.mc_id=dotnet-17847-nanil si può consultare il libro Asp.Net Core gRPC for WCF in lingua italiana e online, mentre dal seguente sito https://dotnet.microsoft.com/download/e-book/grpc-for-wcf-devs/pdf il file pdf da scaricare in lingua inglese.


lunedì 24 maggio 2021

Un blog sulla programmazione IOT con C#

 Un blog davvero interessante e molto aggiornato soprattutto con articoli riguardante la programmazione IOT, internet delle cose, tramite C# e tecnologia .Net.

Tante le schede, come Arduino, Raspberry utilizzate negli articoli.

Il blog è visibile qui https://wellsb.com/csharp/ 

domenica 23 maggio 2021

Download gratuito ebook DevOps: Docker app lifecycle

 




Un buon ebook sull'utilizzo di DevOps ed il ciclo di vita delle applicazioni con architettura Docker, quello disponibile gratuitamente offerto dal sito Microsoft.

L'ebook è possibile consultarlo in lingua italiana dal seguente sito https://docs.microsoft.com/it-it/dotnet/architecture/containerized-lifecycle/?WT.mc_id=dotnet-17847-nanil oppure scaricare il file pdf in lingua inglese dal seguente sito https://dotnet.microsoft.com/download/e-book/microservices-devops/pdf

sabato 22 maggio 2021

Download gratuito gioco NBA 2K21

 



Disponibile gratuitamente e senza limitazioni di tempo e funzionalità il bellissimo gioco di basket NBA 2k21 per sistemi operativi Windows.

Il gioco è in lingua italiana. Fino al 27 maggio 2021 sarà possibile scaricarlo gratuitamente dopo tale data non sarà possibile scaricarlo gratuitamente.

Anche dopo tale data per chi l'ha scaricato continuerà a funzionare senza limitazioni.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/p/nba-2k21

venerdì 21 maggio 2021

.Net Meadow componente gratuito per la programmazione IOT

 



Interessante il componente Nuget Meadow http://developer.wildernesslabs.co/Meadow/ per lo sviluppo di progetti riguardante l'internet delle cose IOT.

Diversi i vari componenti che semplificano lo sviluppo software, qui https://www.nuget.org/packages/Meadow.Foundation.Servo/ quello per la gestione del servomotore. 

Per maggiori informazioni visitate il sito indicato.

giovedì 20 maggio 2021

Download ebook Serverless apps

 


Un ebook per spiegare passo dopo passo l'architettura Azure e come realizzare sistemi quanto più possibile stabili, l'ebook Serveless apps: Architecture, patterns and Azure implementation fornisce interessanti spunti.

Per la versione online ed in italiano, visitate il seguente sito https://docs.microsoft.com/it-it/dotnet/architecture/serverless/?WT.mc_id=dotnet-17847-nanil mentre per scaricare il file pdf, visitate il seguente sito https://dotnet.microsoft.com/download/e-book/serverless-apps-architecture/pdf

mercoledì 19 maggio 2021

Esempi .Net di video giochi

 




Dal seguente sito https://social.technet.microsoft.com/wiki/contents/articles/51186.vb-net-tetris-net.aspx è possibile scaricare il sorgente per creare in .Net o meglio VB.Net il gioco "Tetris" .

Nella parte bassa inoltre sono presenti altri sorgenti in VB.Net e C#, di video giochi.


martedì 18 maggio 2021

Download gratuito ebook .NET Microservices



Interessante ebook gratuito quello rilasciato da Microsoft sui micro servizi.

Un ebook scaricabile gratuitamente e senza registrazione e senza lasciare un email.

L'ebook fornisce al lettore interessanti informazioni sullo sviluppo .Net in ambito microservizi.

Per la consultazione online ed in lingua italiana, visitare il seguente sito https://docs.microsoft.com/it-it/dotnet/architecture/microservices/?WT.mc_id=dotnet-17847-nanil mentre per il formato pdf ed in lingua inglese, visitate il seguente sito https://dotnet.microsoft.com/download/e-book/microservices-architecture/pdf





lunedì 17 maggio 2021

C# - Leggere l’email di Outolook (file eml e msg) tramite il componente gratuito MsgReader

 Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-net-5leggere-l%E2%80%99email-di-outolook-file-eml-e-msg-tramite-msgreade_1741.aspx 


In questo articolo vedremo come leggere il contenuto e le informazioni di un file di tipo posta elettronica Microsoft Outlook, in ambiente Windows Application con C#.


Tramite la libreria MSGReader, vedremo come rilevare informazioni nei file di tipo “.msg” e “.eml” che possono essere anche di tipo “PEC” ossia posta elettronica certificata.

L’articolo si basa sulla versione del framework .Net 5.0 e Visual Studio 2019 community.


Creazione del progetto

Si crea un nuovo progetto di tipo Windows Application, tramite versione Framework 5.0 che è l’ultima versione appena rilasciata.

Dopo aver creato il progetto, aggiungiamo due pulsanti, uno che permetterà la lettura di file di tipo “.msg” e l’altro di tipo “.eml”, al primo pulsante impostiamo la proprietà name in “BtnLeggiMsg” e la proprietà “Text” con “Leggi file .msg”, mentre nell’altro pulsante impostiamo la proprietà “Name” con il valore “BtnLeggiEml” e la proprietà “Text” con il valore “Leggi file .eml”.

Ora dobbiamo aggiungere al nostro progetto il riferimento a MsgReader, un componente gratuito da Nuget che ci permette di gestire le email.

Per l’installazione possiamo procedere in due modi, o tramite la voce di menu “Console di Gestione pacchetti “ digitando il seguente comando:



Install-Package MSGReader -Version 3.12.4


Dove la versione indica quella al momento disponibile, oppure tramite la voce “Gestisci pacchetti per la soluzione…” e digitale nella casella il valore “MsgReader” il tutto come mostrato in figura 1.



Figura 1 – L’installazione del pacchetto.


Stesura del codice

Dopo aver aggiunto il componente non resta che scrivere il codice per leggere le nostre email, nel primo pulsante, quello con la dicitura “Leggi file msg” facciamo doppio click in modo che si passa in visualizzazione codice dell’evento click del pulsante. In questo evento, scriveremo il codice che permette di leggere le informazioni delle email con estensione di tipo “.msg”.

Qui di seguito il codice nell’evento click del pulsante.


#

private void BtnLeggiMsg_Click(object sender, EventArgs e)

        {

            string Destinatario, Data, Mittente, Oggetto, Testo, DestinatarioConoscenza;

 

            using (var msg = new MsgReader.Outlook.Storage.Message("c:\\varie\\test.msg"))

            {

                Mittente = msg.Sender.DisplayName + " - " + msg.Sender.Email; ;

                Data = msg.SentOn.HasValue == true ? msg.SentOn.Value.ToString("dd/MM/yyyy") : "";

                Destinatario = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.To, false, false);

                DestinatarioConoscenza = msg.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, false, false);

                Oggetto = msg.Subject;

 

                Testo = msg.BodyText;

 

            }

            MessageBox.Show("Mittente: " + Mittente + "Oggetto: " + Oggetto + " Testo: " + Testo + "Data: " + Data + "Destinatario : " + Destinario + "Destinatario CC:" + DestinatarioConoscenza);

        }


Il codice appena riportato, crea un oggetto di tipo “Message” passando nel costruttore il percorso e nome del file che abbiamo nel nostro pc.

Tramite le varie proprietà di questo oggetto, andiamo a rilevare le informazioni, come il mittente, oggetto, destinatario, la data, il testo, e via continuando, che verranno a video.


Il codice è molto semplice da comprendere ed elenca solo alcune proprietà che la classe mette a disposizione riguardante la gestione delle email di tipo msg.

Ora passiamo in visualizzazione grafica, e nell’altro pulsante quello con la dicitura “Leggi file .eml” facciamo doppio click, in questo modo passiamo in visualizzazione codice ed in particolar modo nell’evento click del pulsante.

Prima di scrivere il codice per l’evento click della lettura dei file posta elettronica di tipo .eml, dobbiamo aggiungere lo spazio dei nomi IO, ossia la gestione dei file e cartelle.

In alto sopra dove si trovano altri spazio di nomi aggiungiamo tale dichiarazione, qui di seguito il codice.

C#

using System.IO;


Ritorniamo all’evento click del pulsante, e scriviamo il codice per la gestione della lettura dei file di tipo “.eml”.

La classe che utilizzeremo per la gestione delle email è Message, come nel precedente frammento codice, tramite le varie proprietà, possiamo rilevare le informazioni che ci servono, per esempio destinatario, mittente, oggetto, data, e testo dell’email. Inoltre è possibile anche rilevare il dominio dell’email ed username.

Qui di seguito il frammento di codice delle suddette operazioni.


C#

 

private void BtnLeggiEml_Click(object sender, EventArgs e)

        {

            var fileInfo = new FileInfo("c:\\varie\\email.eml");

            var eml = MsgReader.Mime.Message.Load(fileInfo);

            string Destinatario = "", Oggetto, Mittente, Testo = "", Data;

            if (eml.Headers != null)

            {

                if (eml.Headers.To != null)

                {

                    foreach (var dest in eml.Headers.To)

                    {

                        Destinatario += " " + dest.DisplayName + " " + dest.Address;

                       

                    }

                }

            }

 

            Oggetto = eml.Headers.Subject;

            Mittente = eml.Headers.From.DisplayName + " " + eml.Headers.From.MailAddress.Address;

            Data = eml.Headers.Date;

            if (eml.TextBody != null)

            {

                Testo = System.Text.Encoding.UTF8.GetString(eml.TextBody.Body);

            }

 

            if (eml.HtmlBody != null)

            {

                Testo = System.Text.Encoding.UTF8.GetString(eml.HtmlBody.Body);

            }

            MessageBox.Show("Mittente: " + Mittente + "Oggetto: " + Oggetto + " Testo: " + Testo + "Data: " + Data + "Destinatario : " + Destinatario  );

 

        }


Ora non ci resta che testare il nostro per estrapolare le informazioni delle email.

Conclusioni

L’articolo ha fornito le informazioni di base per poter utilizzare il componente gratuito MsgReader per la gestione dei file di tipo posta elettronica Microsoft Outlook, in particolare i file .msg e .eml.

Un componente che può tornare utile per lo sviluppo di applicazioni della gestione della posta elettronica o meglio dei file in tale ambito.

domenica 16 maggio 2021

Download gratuito ebook Cloud-native e-book


 



Disponibile gratuitamente in lingua italiana per la versione online, ed in versione inglese per il file pdf, un ebook riguardante la realizzazione di applicazioni basate sul cloud Azure.

L'ebook è scaricabile gratuitamente e senza registrazione e senza lasciare indirizzi email.

Per la versione online visitate il seguente sito https://docs.microsoft.com/it-it/dotnet/architecture/cloud-native/?WT.mc_id=dotnet-17847-nanil mentre per il download del file visitate il seguente sito https://dotnet.microsoft.com/download/e-book/cloud-native-azure/pdf

sabato 15 maggio 2021

asp.net gridview button event click

Nelle web form della tecnologia Asp.Net può capitare di gestire il click di un pulsante inserito in un controllo Gridview.

Qui di seguito un esempio di codice di come gestire in un controllo GridView l'evento click di un pulsante in una colonna.


Parte Aspx.

//Colonne di tipo pulsante:

  <asp:TemplateField HeaderText="IntestazioneColonna" Visible="true">

<ItemTemplate>

                        <asp:Button ID="IdButton1"  

                                                        CommandName="Nomeperidentificarlo" CommandArgument='<%# Eval("NomeCampoDB") %>' runat="server" Text="Pulsante" />

                           

                        </ItemTemplate>

                    </asp:TemplateField>

                     <asp:TemplateField HeaderText="Intestazione2" Visible="true">

                        <ItemTemplate>

                        <asp:Button ID="IdButton2"  

                                                        CommandName="Nomeperidentificarlo2" CommandArgument='<%# Eval("NomeCampoDB") + "|"  + Eval("NomeCampoDB") + "|" + Eval("NomeCampoDB") %>' runat="server" Text="Pulsante2" />

                          

                        </ItemTemplate>


Per gestire l'evento, dobbiamo fare riferimento all'evento "OnRowCommand

Qui di seguito l'esempio.

OnRowCommand="gridiView1_RowCommand"

Passando in visualizzazione codice, dobbiamo gestire il riferimento all'evento OnRowCommand

Qui di seguito il frammento di codice

  protected void gridiView1_RowCommand(object sender, GridViewCommandEventArgs e)

        {


            string Valore = (string)e.CommandArgument;  



            switch (e.CommandName)

            {

                case "Nomeperidentificarlo":

                    break;

                case "Nomeperidentificarlo2":

                    break;




            }



        }




venerdì 14 maggio 2021

C# Paging DataTable

Il frammento di codice qui di seguito illustra una tecnica di come effettuare il paging di un DataTable.

Tramite il metodo AsEnumerable  possiamo utilizzare i metodi Skip e Take per rilevare un certo numero di record che di volta in volta vogliamo gestire o visualizzare.

DataTable DataTableDati = new DataTable();

var records = DataTableDati .AsEnumerable().Skip(15 * (NumeroPagina - 1)).Take(15)

giovedì 13 maggio 2021

Download gioco The Lion's Song




 Disponibile gratuitamente fino 20 maggio 2021, il gioco di avventura The Lion's Song, per sistemi operativo Windows.

Per maggiori informazioni visitate il seguente sito The Lion's Song | Acquistalo e scaricalo subito sull'Epic Games Store 

mercoledì 12 maggio 2021

Download ebook gratuito Dapr for .NET Developers e-book

 



Un ebook in lingua inglese (o Italiano nella versione online tradotto) riguardante l'architettura dello sviluppo di soluzioni .Net di tipo Cloud.

Qui https://dotnet.microsoft.com/download/e-book/dapr/pdf la possibilità di scaricare il file in formato pdf in lingua inglese di circa 129 pagine, mentre qui https://docs.microsoft.com/it-it/dotnet/architecture/dapr-for-net-developers/?WT.mc_id=dotnet-17847-nanil la possibilità di consultarlo online in lingua italiana.


martedì 11 maggio 2021

Foglio di stile per creazione di grafici Framework gratuito

 



Un Framework gratuito ed open source per aggiungere alle proprie applicazioni web grafici con fogli di stile.

Al seguente sito https://chartscss.org/ è possibile scaricare un Framework per la creazione di grafici.

Nel sito inoltre è presente anche della documentazione.


lunedì 10 maggio 2021

Strumento online per programmatori

Una serie di strumenti utili di convalida, formattazione e conversione che possono utilizzare programmatori e webmaster.

Dal seguente sito https://codebeautify.org/ è possibile accedere a diversi strumenti gratuiti ed in lingua inglese.

Per maggiori informazioni visitate il sito indicato.



domenica 9 maggio 2021

Convert online codice Json in codice C#

Interessante strumento gratuito per convertire codice Json in codice C#, creando classi.

Dopo aver inserito il codice Json nell'apposita area e selezionando l'opzione "C#" tramite il pulsante Submit il codice Json verrà convertito in codice C#.

Qui http://www.jsonutils.com/ lo strumento online gratuito.

sabato 8 maggio 2021

Download gratuito gioco Pine

 




Disponibile gratuitamente e senza limitazioni il gioco Pine, per sistemi operativi Windows, un video gioco di strategia e per tutta la famiglia.

Il gioco è possibile scaricarlo fino al 13 maggio 2021 gratuitamente.

Per maggiori informazioni e download visitate il seguente sito Pine | Acquistalo e scaricalo subito sull'Epic Games Store

venerdì 7 maggio 2021

Windows per Raspberry

La scheda Raspberry offre grandi potenziali soprattutto in ambito IOT ossia internet delle cose.

Esiste un progetto con il quale viene effettuato il porting su tale scheda di Windows 10, un progetto che in questi mesi ha trovato sempre più interesse da vari utenti.

Se non si vuole installare Windows 10 IOT, quello ufficiale di Microsoft, è possibile verificare e fare le prove con il progetto WorProject https://www.worproject.ml/ che permette di utilizzare la scheda Raspberry con interfaccia amichevole a Windows 10.

Per maggiori informazioni e download visitate il sito indicato.

giovedì 6 maggio 2021

Linq metodo LongCount

Il metodo LongCount restituire un valore int64, che visualizza il totale degli elementi su cui si sta eseguendo la selezione.

Ne frammento di codice qui di seguito, si è creata una classe con due proprietà, una di tipo string, che sta per rappresentare la descrizione, ed uno di tipo int che indica il codice dell'ordine.

Nella query Linq, si prendono tutti gli elementi che hanno ID ordine maggiore di 2 e si vuole sapere quanti elementi sono.


//Classe:

  public class Ordini

    {

      public  int IdOrdine { get; set; }

       public string Descrizione { get; set; }

    }


Query:

 Ordini[] ordiniLista = { new Ordini { Descrizione  ="Pasta", IdOrdine=8 },

                   new Ordini { Descrizione="Boots", IdOrdine=4 },

                   new Ordini { Descrizione="Whiskers", IdOrdine=1 } };

            long Totale = ordiniLista.LongCount(ordini => ordini.IdOrdine  > 2);

            Console.WriteLine("Elementi trovati con id superiore a 2;" + Totale);

mercoledì 5 maggio 2021

Download free ebook cloud Microsoft

 



Una serie di ebook da consultare online o scaricare in formato pdf, in lingua inglese o italiana.

I manuali riguardano la piattaforma Azure ed il cloud, per download e maggiori informazioni visitate il seguente sito https://devblogs.microsoft.com/dotnet/cloud-native-learning-resources-for-net-developers/

martedì 4 maggio 2021

C# .Net 5.0 DatagridView somma di una colonna

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-datagridview-somma-di-una-colonna-net-5_1737.aspx

 

In questo articolo vedremo come utilizzare in ambiente “Windows Application” ed in particolare con il linguaggio di programmazione C# e Framework versione 5.0, il controllo DatagridView, con una colonna calcolata, ossia la somma di una determinata colonna.

Lo scenario che andremo a creare è quello di una lista di prodotti alimentari con un prezzo, ed il totale di tutti i prodotti, inoltre ci sarà un altro totale (denominato Totale 2) il quale sarà mostrato il totale dei prezzi dei prodotti che hanno codice prodotto minore a 4.

Sempre la cella dei totali, sarà impostato con una determinata formattazione per evidenziare la differenza con i prodotti, il tutto come in figura 1.

Figura 1 – Il risultato finale con i dati ed i totali.


Creazione del progetto

Si crea un nuovo progetto di tipo “Windows Application” selezionando il linguaggio di programmazione C#. Come tipologia di progetto selezioniamo quella di tipo “Windows Form APP” il quale permette la creazione di applicazione con la versione del Framework “5.0”.

Impostiamo il percorso e nome del progetto.

Verifichiamo tramite la pagina delle proprietà che la versione del “Framework” è impostata sul 5.0, il tutto come mostrato nella figura successiva.


Figura 2 – la versione del Framework impostata a 5.0

Fatto ciò inseriamo nella form un controllo di tipo DataGridView il tutto come mostrato in figura 1.


Stesura del codice

A questo punto la parte di creazione e impostazione del progetto è terminata.

Ora occorre scrivere il codice che all’avvio della form permette di caricare i dati nella griglia e quindi il totale dei prodotti.

Utilizzeremo dei dati creando dei record fittizi senza fare uso della base dati, in particolar modo si crea un oggetto di tipo “DataTable” dove si aggiungono tre colonne che rispettivamente servono per indicare il codice prodotto, la descrizione del prodotto ed il prezzo.

Dopo aver valorizzato con dei dati a nostro piacimento, andremo a fare la somma dei record e successivamente a caricare il controllo Datagrid .

Dopo aver caricato il controllo DatagridView, formattiamo le celle di colore blu, grassetto e con una certa grandezza in modo che il testo dei “Totali” è in risalto.


Facciamo doppio click sulla form, in modo che passiamo in visualizzazione codice nell’evento load della “form”.

Nell’evento scriviamo il codice delle precedenti operazioni.

Qui di seguito il codice completo dell’evento “Load” della form.


C#

private void Form1_Load(object sender, EventArgs e)

        {

            //Caricamento dei dati

            DataTable dttDati = new DataTable();

            dttDati.Columns.AddRange(new DataColumn[3] {

    new DataColumn("CodiceProdotto", typeof(int)),

        new DataColumn("Descrizione", typeof(string)),

               new DataColumn("Prezzo", typeof(int))

});

            dttDati.Rows.Add(1, "Miele",   10);

            dttDati.Rows.Add(2, "Acqua",   5);

            dttDati.Rows.Add(3, "Pasta",   3);

            dttDati.Rows.Add(4, "Pesce",  20000);

            dttDati.Rows.Add(5, "Dolci",   12000);

 

            int Totale = dttDati.AsEnumerable().Sum(row => row.Field<int>("Prezzo"));

            int TotaleConFiltro = dttDati.AsEnumerable().Where(row => row.Field<int>("CodiceProdotto") < 4).Sum(row => row.Field<int>("Prezzo"));

            //Aggiungo il totale al datatable

            dttDati.Rows.Add(0, "Totale",   Totale);

            dttDati.Rows.Add(0, "Totale 2",  TotaleConFiltro);

            //Carico i dati

            dataGridView1.DataSource = dttDati;

            //formatto i totali

            dataGridView1.Rows[dttDati.Rows.Count - 1].Cells[1].Style.ForeColor = Color.Blue;

            dataGridView1.Rows[dttDati.Rows.Count - 1].Cells[1].Style.Font = new Font("Tahoma", 16, FontStyle.Bold);

            dataGridView1.Rows[dttDati.Rows.Count - 2].Cells[1].Style.ForeColor = Color.Blue;

            dataGridView1.Rows[dttDati.Rows.Count - 2].Cells[1].Style.Font = new Font("Tahoma", 16, FontStyle.Bold);

 

        }





Conclusioni

Ora non ci resta che eseguire il nostro programma per vedere il risultato di tale codice.

L’articolo ha voluto fornire le basi di come aggiungere alle proprie applicazioni alcuni aspetti che possono tornare utili soprattutto nei programmi gestionali ed in particolar modo quelli contabili.

Il frammento di codice utilizzato in questo articolo è per la versione 5.0 del Framework, un nuovo modo di scrivere applicazioni il quale permette la creazione di applicazioni multipiattaforma.

lunedì 3 maggio 2021

C# Copy rows from one Datatable to another DataTable

Il frammento di codice qui di seguito, nel linguaggio di programmazione C# illustra una tecnica per copiare la riga di un dataTable in un altro DataTable.

  foreach (DataRow riga in DttDataTable1.Rows)

                {

                    DttDataTable2.Rows.Add(riga.ItemArray);

                }


domenica 2 maggio 2021

Microsoft Build registrazione gratuita

Da qualche giorno è possibile registrarsi gratuitamente all'evento internazionale di Microsoft sulle novità della software house più importante al mondo.

La conferenza Microsoft Build quest'anno sarà online e si potrà partecipare alle varie sessioni registrandosi al seguente sito https://mybuild.microsoft.com/home 


Motore di ricerca per immagini in italiano

 Altro interessante sito che fornisce la ricerca per scaricare gratuitamente e senza registrazione o email immagini.

Il motore di ricerca, visibile qui https://www.klipartz.com/it è in lingua italiana e si possono fare ricerche per termini in italiano.


sabato 1 maggio 2021

componente gratuito Javascript calendario appuntamenti


 



Per coloro che sono interessati a sviluppare applicazioni web, anche in Asp.Net, dal seguente sito https://javascript.daypilot.org/open-source/ possono scaricare un componente gratuito per la gestione degli appuntamenti in calendario.

Nel sito inoltre sono presenti anche degli esempi.

Un modo per aggiungere al proprio sito funzionalità avanzate.

Per maggiori informazioni e download visitate il sito indicato.