lunedì 28 febbraio 2022

Componente gratuito cross-platform applications in ambito video giochi

 


Per lo sviluppo di applicazioni multi piattaforma (Cross-platform) in particolar modo per la creazione di video giochi, è possibile utilizzare il componente Have Haxe - The Cross-platform Toolkit utilizzabile con il linguaggio di programmazione C# ed altri.

Il componente è gratuito ed open source, per maggiori informazioni visitate il sito indicato.


sabato 26 febbraio 2022

C# tupla in .Net 5

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-tupla-in-net-5_1773.aspx 

In questo articolo vedremo come utilizzare la parola chiave tupla nel linguaggio di programmazione C# e con la versione 5 del Framework.

La tecnica della tupla, permette di raggruppare più elementi in una struttura dati più leggera.

Vedremo alcuni esempi applicati in ambito Windows Application, ma la sintassi e tale tecnica è utilizzabile anche in ambiente web, con la tecnologia Asp.Net

Possiamo utilizzare il frammento di codice sia su un progetto web e sia su un progetto di tipo windows application o console application, l’importante e che l’output venga visualizzato per constattare il risultato atteso.


Stesura del codice

Dopo aver creato il progetto a proprio piacimento, inseriamo una label che conterrà il risultato della tupla, oppure utilizziamo altro strumento come per esempio una messagebox.


Il primo esempio di tupla riguarda la possibilità di creare due elementi, uno di tipo double e l’altro di tipo int, ed assegnargli i valori.

Qui di seguito il frammento di codice di tale dichiarazione.

(double, int) t1 = (41.5, 3);

label1.Text = $"Valore elementi {t1.Item1} and {t1.Item2}.";

Come si vede dal frammento di codice precedente, la dichiarazione di tupla avviene tramite la dichiarazione di tipo messo tra parentesi (in questo caso due) che possono essere anche dello stesso tipo, il nome variabile e poi l’assegnazione del valore.

Per rilevare il valore, viene creato in automatico una proprietà denominata item con un valore incrementale.


Possiamo anche definire il tipo di nome da dare al tipo che stiamo creando. Il nome degli elementi va subito dopo aver definito il tipo dell’elemento.

Di seguito si riporta un esempio prendendo spunto dal precedente esempio delle suddette dichiarazioni.


(double primoElemento, int SecondoElemento) t2 = (1.45, 3);

            label1.Text = $"Primo Elemento {t2.primoElemento} Secondo Elemento {t2.SecondoElemento}." ;

Come si è visto dal precedente codice, dopo aver dichiarato il tipo è stato impostato il nome, in questo modo dall’oggetto di tupla possiamo digitare il nome dell’elemento per rilevare il valore.

E’ possibile creare tuple con varie elementi, per esempio due elementi di tipo string ed uno tipo int impostando per ogni elemento un nome, qui di seguito un esempio di tali dichiarazioni.

label1.Text = $"Primo Elemento {t2.primoElemento} Secondo Elemento {t2.SecondoElemento}." ;

            (string primaVoce, string SecondaVoce, int conteggio) tupla3 = ("Prova", "altro testo", 3);

            label1.Text = tupla3.primaVoce + " seconda voce: " + tupla3.SecondaVoce + " conteggio: " + tupla3.conteggio;

La tupla si può utilizzare anche nelle funzioni che restituiscono dei valori. Per esempio, chiamando una funzione che restituisce un valore.

Qui di seguito si riporta la funzione che restituisce una tupla ed il suo utilizzo, ossia come rilevare i valori di tale funzione

public (string, string) Metodo()

        {

 

            (string Nome, string Cognome) risultatoTupla =  ("Emanuele", "Mattei");

           

 

            return risultatoTupla;

 

        }

 

var risultato = Metodo();

            label1.Text = risultato.Item1 + " " + risultato.Item2;


Come si è visto dal precedente codice, viene creato un metodo con una tupla di due elementi di tipo string, che vengono valorizzati e restituiti.

Dopo aver invocato il metodo, viene rilevato il valore dei singoli elementi.

Ultimo esempio è quello di utilizzarlo come metodo che non restituisce valori ma che invece la tupla viene utilizzata all’interno del metodo.

Qui di seguito il frammento di codice di tale dichiarazione.

public void Metodo2((string, string) Elemento)

        {

 

            MessageBox.Show(Elemento.Item1 + " " + Elemento.Item2);

 

        }

 

(string, string) TuplaPerMetodo = ("Emanuele", "Mattei");

            Metodo2(TuplaPerMetodo);


Alla funzione viene passata la tupla valorizzata che viene utilizzata all’interno di essa.


Conclusioni

L’articolo ha voluto fornire al lettore una panoramica sull’utilizzo della tecnica delle tupla, che è poco conosciuta e poco utilizzata ma che può tornare utile al programmatore in vari scenari.

Ogni qualvolta che c’è una nuova versione del framework o del linguaggio di programmazione, si amplia ancora di più le numerose funzionalità e le numerose classi che il Framework ad oggi offre allo sviluppatore.

venerdì 25 febbraio 2022

C# Linq to XML xelement.load da string

Nel caso che si sta utilizzando la tecnologia Linq To XML e si vuole caricare un xml da una string, possiamo utilizzare la classe StringReader per valorizzare un un oggetto da string.

Qui di seguito un frammento di codice di esempio.

var Elementi = from nodi in System.Xml.Linq.XElement.Load(new StringReader("<dati><nodo>valore</nodo><nodo>valore 2</nodo></dati>")).Elements("nodo")
                            select nodi;

giovedì 24 febbraio 2022

Download gratuito gioco Cris Tales

 




Disponibile gratuitamente e senza limitazioni il gioco in lingua italiana di strategia Cris Tales, per sistemi operativi Windows.

Il gioco è scaricabile gratuitamente fino al 3 marzo 2022, dopo tale data non sarà possibile scaricarlo gratuitamente.

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

mercoledì 23 febbraio 2022

Download ebook Azure Durable Functions

 




Un ebook gratuito in lingua inglese in formato pdf o per dispositivi mobile di lettura sulla tecnologia Cloud Azure.

Il manuale composto da 100 pagine, è scaricabile gratuitamente previa registrazione al sito.

Per maggiori informazioni e download visitate il seguente sito Free Ebook - Azure Durable Functions Succinctly (syncfusion.com) 

martedì 22 febbraio 2022

Download componente gratuito per creazione video giochi heaps

 


Un componente gratuito ed open source per realizzare video giochi multi piattaforma, parliamo di Heaps, Heaps - Haxe Game Engine - Heaps.io Game Engine  che offre aspetti interessanti sulla gestione della grafica dei video giochi.

Per maggiori informazioni e download visitate il sito indicato.

lunedì 21 febbraio 2022

C# creare una console application per Ubuntu .Net Core 3.1



In questo articolo vedremo come realizzare una console application con il linguaggio di programmazione C# da eseguire nel sistema operativo  ubuntu.
L’applicazione di tipo Console Application, permetterà di visualizzare a video, nel termine di Ubuntu del testo e si aspetterà in input un testo digitato dall'utente che sarà visualizzato nuovamente a video, il tutto come mostrato in figura 1


Figura 1 - l'appolicazione che gira sul terminale Ubuntu

L'applicazione di tipo Console Application, e quindi senza interfaccia grafica, sarà realizzata con l'ambiente di sviluppo Visual Studio 2022 Community, ma va bene anche Visual Studi 2019 Community e versione del Framework .Net Core 3.1.

Per eseguire l'applicazione è importante installare sul pc con sistema operativo Ubuntu il framework core 3.1 per eseguire applicazioni .net che andremo a creare.

Configurazione ed impostazioni del sistema operativo Ubuntu

Prima di creare il progetto e fare le varie prove, dobbiamo verificare la versione del sistema operativo Ubuntu, per far si, dobbiamo cliccare in alto a destra sulla rotella come mostrato in figura 2.

Figura 2 - L'icona per avere informazioni sul sistema operativo.

A  questo punto selezionare la voce “Informazioni sul computer” e nella finestra che viene aperta troveremo le informazioni del sistema operativo e del pc, il tutto come mostrato in figura 3.

Figura 3 - le informazioni sul sistema operativo

A questo punto, aprire il terminale per verificare la versione del framework installata.
Il terminale si trova nel menù delle applicazioni con la voce terminale (figura 4).


Figura 4 - Il programma terminale

Il comando per rilevare la versione installata è il seguente:

dotnet - -ist-sdks


Figura 5 - La versione del .Net Core installata

Se l’output è come nella precedente figura (figura 5) , avremo il valore della versione, altrimenti occorre installarlo.
Per installarlo, sempre nel terminale, occorre digitale le seguenti istruzioni e poi dare invio.

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg

sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg

sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'

sudo apt-get update

sudo apt-get install dotnet-sdk-3.1


Creazione del progetto

A questo punto abbiamo terminato la predisposizione del sistema operativo, operazione che si fa giusto la prima volta o nel caso che non è installato o non sappiamo che versione è installata del Framework. Apriamo l’ambiente di sviluppo Visual Studio 2022 Community o Visual Studio 2019 Community e tra i modelli di progetti presenti, selezioniamo quello relativo al modello “app Console” per i vari sistemi operativi, come illustrato in figura 6.


Figura 6 – Il modello che sarà eseguito su Ubuntu

Dopo aver selezionato il modello e fatto click sul pulsante “avanti” impostare un nome al progetto, a questo punto fare click sul pulsante “Avanti” nella finestra successiva selezionare la versione del Framework .Net Core 3.1 del framework, il tutto come mostrato in figura 7.



Figura 7 - La versione del Framework da selezione per il nostro progetto

A questo punto fate click sul pulsante “Crea”, in modo che verrà creato l’applicativo.

Stesura del codice

Il codice che andremo a scrivere è molto semplice e riguarda la possibilità di visualizzare inizialmente del testo, poi rilevare quello digitato dall'utente per ripeterlo con l’aggiunta del testo.
Semplici istruzioni che permettono di far comprendere il funzionamento di applicazioni .Net in ubuntu.
Nell’evento Main, inseriamo il codice che permette di eseguire le suddette operazioni.


static void Main(string[] args)

        {

            Console.WriteLine("Prova applicazione ubuntu");

            string valore = Console.ReadLine();

            Console.WriteLine("Valore digitato: " + valore);

        }


Ora non ci resta che testare la nostra applicazione e se non ci sono errori, procediamo con la pubblicazione.
La pubblicazione è l’aspetto con il quale si crea la cartella con i file necessari per eseguire la nostra applicazione su ambiente “Ubuntu”.


Questo tipo di operazione è indispensabile per far girare il nostro applicativo appena creato in ambiente Ubuntu.

Pubblicazione

La pubblicazione è molto semplice ed è la stessa tecnica utilizzata anche per il rilascio di applicazioni web o windows application che normalmente si fanno con Visual Studio.
Dalla finestra esplora soluzione, facciamo tasto destro sul nome del progetto, dal menu che viene visualizzato (figura 8), selezioniamo la voce “Pubblica”.


Figura 8 – Il menu per la pubblicazione

Dopo aver fatto click con il tasto sinistro sulla voce pubblica, verrà aperta una finestra (figura 9) con il quale guiderà il programmatore al rilascio del progetto.




Figura 9 – La modalità di pubblicazione


Le possibilità di pubblicazione sono molteplici, nel nostro caso, sarà pubblicato in una cartella, con il quale poi la copieremo sul pc con il sistema operativo Ubuntu.

Selezioniamo la voce “Cartella” e poi click sul pulsante “Avanti”.

Nella finestra successiva (figura 10) avremo due scelte per la destinazione dei file, selezioniamo “Cartella” e poi click sul pulsante “Avanti”.


Figura 10 – La scelta per la destinazione dei file

Dopo aver fatto click sul pulsante “Avanti”, verrà visualizzata l’ultima finestra, che ci chiede in quale percorso del nostro computer salvare i file che verranno generati per l’esecuzione del programma. Possiamo indicare un percorso diverso da quello proposto tramite il pulsante “Sfoglia”, oppure confermare tramite il pulsante “Fine”, il tutto come in figura 11.

Figura 11 – L’ultima finestra del wizard per la pubblicazione


A questo punto copiamo la cartella con tutti i file, ed eseguiamo il nostro applicativo.

Per eseguire il nostro applicativo, nella finestra terminale, dobbiamo posizionarci nella cartella dove si trova il nostro programma, e digitare il comando “dotnet Nomeprogramma.dll”. Fare attenzione alle maiuscole e minuscole, ma soprattutto eseguire la libreria e non il file eseguibile, quindi sarà nomeprogramma.dll


Il tutto come mostrato qui di seguito:

Conclusioni

L’articolo ha voluto fornire al lettore le conoscenze di base per la realizzazione di un programma di tipo “Console Application” multipiattaforma, da eseguire su diversi sistemi operativi.
Con il Framework .Net Core, e le successive versione, quali Framework 5 o Framework 6, lo sviluppatore ha la possibilità di creare applicazioni per vari sistemi operativi, scrivendo il codice con semplicità o con qualche accorgimento che si deferiscono dal sistema operativo Windows per renderlo uniforme ad ogni piattaforma.

L'ambiente di sviluppo Visual Studio 2022 Community offre potenzialità al programmatore permettendo di realizzare software multi piattaforma, con la semplicità e senza ritardi.

domenica 20 febbraio 2022

C# read header value web services

Nel caso che si vuole rilevare i valori presenti in un header di un servizio web presente nel webconfig, tramite il metodo "ToMessageHeader" della proprietà "Headers" si rilevano i valori.
Qui di seguito un esempio di tag headers presente nel file config.

 <headers>
          <nodo>
            <NodoA>Valore</NodoA>
            <NodoB>Valore</NodoB>
          </nodo>
        </headers>

Di seguito come rilevare il valore dell'intestazione.

 var risultato = client.Endpoint.Address.Headers[0].ToMessageHeader().ToString();

sabato 19 febbraio 2022

Programma gratuito creazione video gioco

 



Un programma gratuito ed open source per la creazione di video giochi multi piattaforma.

NunuStudio, qui il sito nunuStudio , fornisce all'utilizzatore uno strumento molto valido e semplice da utilizzare per la creazione di video giochi.

Sono presenti due versioni, una web, quindi da utilizzare nel browser ed una da installare sul proprio pc.

Il sito ed il programma sono in lingua inglese, ma facilmente da utilizzare.

Per maggiori informazioni ed altro visitate il sito indicato. 

venerdì 18 febbraio 2022

Componente unigine per la creazione di video giochi anche con .Net

 


Il componente Unigine, permette la creazione di video giochi ed altri contenuti di grafica avanzata, per i propri progetti.

Il componente si può utilizzare anche con il linguaggio C# per la creazione di video giochi ed altro, tra le varie versioni, la Community SDK Editions And Pricing | UNIGINE: real-time 3D engine è quella gratuita.

Per maggiori informazioni e download visitate il seguente sito UNIGINE: real-time 3D engine 

giovedì 17 febbraio 2022

Download gioco Brothers: A Tale of Two Sons

 




Un gioco di avventura Brothers a Tale of Two Sons, per sistemi operativi Windows.

Il gioco è in lingua italiana, fino al 24 febbraio 2022 è possibile scaricarlo gratuitamente senza limitazioni di tempo e di funzionalità, dopo tale il gioco non sarà più gratuito.

Per maggiori informazioni e download visitate il seguente sito Brothers - A Tale of Two Sons | Acquistalo e scaricalo subito sull'Epic Games Store

mercoledì 16 febbraio 2022

Raspberry variabili ambiente per .Net

Dopo aver installato il .Net è consigliabile configurare il dispositivo con le variabili d'ambiente per i comandi .Net in modo da poterli eseguire in qualsiasi percorso della scheda.

Nel terminale, digitare le seguenti istruzioni:

echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc

echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc

source ~/.bashrc

Ora basterà digitale il seguente comando dotnet --version  oppure dotnet --info per visualizzare a video le informazioni del .Net installato.

martedì 15 febbraio 2022

jQuery selector for id starts with specific text

Nel caso che si ha necessità di selezionare tutti i controlli che iniziano con un determinato testo, cercando per id, utilizzando il simbolo capplletto ^ possiamo effettuare la ricerca per tutti quelli che iniziano con un determinato testo.
Qui di seguito un frammento di codice di ciò.

'[id^=NomeIdControllo]'

lunedì 14 febbraio 2022

Download gioco gratuito VALORANT

 



Un gioco per tutte le persone e di ogni età, lo sparatutto Valorant per sistemi operativi Windows.

Il gioco è scaricabile gratuitamente, ed è in lingua italiana.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/p/valorant

domenica 13 febbraio 2022

C# impostare il colore a runtime dei controlli windows forms

Il frammento di codice qui di seguito, illustra una tecnica di come impostare a run-time, ossia quando l'applicazione è in esecuzione, il colore di sfondo di un controllo.


 Color coloreSfondo = new Color();
 coloreSfondo  = Color.FromArgb( 255, 192, 255);
  MioControllo.BackgroundColor = coloreSfondo ;

sabato 12 febbraio 2022

Installare .Net su Raspberry

Per eseguire applicazioni .Net nella scheda Raspberry con sistema operativo di questa scheda, dal terminare eseguire il seguente comando.

curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel Current

Il comando precedente, permette di installare l'ultima versione stabile . Net 


venerdì 11 febbraio 2022

Download gioco Windbound

 



Un gioco di avventura per tutta la famiglia, viaggiando su una barca, parliamo del gioco gratuito Windbound.

Fino al 17 febbraio 2022, la possibilità di scaricare gratuitamente e senza limitazioni il gioco Windbound, per sistemi operativi Windows, dopo tale data non si potrà scaricare gratuitamente.

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

giovedì 10 febbraio 2022

Programma gratuito per il suono

 



Ottimo programma gratuito per la gestione dei file audio, suoni, soprattutto in ambito gaming.

Surge XT è un programma gratuito ed open source di sintonizzatore per la gestione dei file audio, da utilizzare nelle proprie applicazioni o video giochi.

Per informazioni e download visitate il seguente sito https://surge-synthesizer.github.io/index.html

mercoledì 9 febbraio 2022

C# How can I add " character to a multi line string declaration

Tramite il simbolo della chiocciola possiamo scrivere impostare del testo multi linea senza apporre altri segni.

In caso che il testo sono presenti le virgolette, occorre rafforzare tale simbolo con altre doppie virgolette.

Qui di seguito un frammento di codice di esempio.


string MiaVariabile = @"testo "" testo ";

martedì 8 febbraio 2022

C# la deserializzare in .Net 5

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-la-deserializzare-in-net-5-_1770.aspx  


In questo articolo vedremo come con la deserializzazione è possibile trasformare i dati presenti in un file XML in un oggetto, ossia valorizzare le proprietà di una classe con i dati situate nei vari nodi.

Prendendo spunto dall’articolo precedente sulla serializzazione degli oggetti di qualche settimana fa, come riportato in questa pagina https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-la-serializzazione-in-net-5_1768.aspx, vedremo le operazioni inverse.

La tecnica di trasformare un file in un oggetto con i dati, può tornare utile in quei progetti di interscambio dati, o per gestire all’interno del proprio applicativo dati provenienti da altre applicazioni o per uso interno all’applicativo.

Vedremo due tecniche per deserializzare un file XML, il primo riguardante un semplice file XML, composto di un solo dati creato nel precedente articolo, come riportato in figura 1.



Figura 1 – Il file XML con i dati


Nel secondo esempio vedremo come trasformare un file XML composto da sotto nodi in un oggetto con le proprietà che sono ulteriori oggetti. Il file XML con i dati è quello rappresentato in figura 2, ed è generato nell’ultimo esempio di codice dell’articolo sulla serializzazione, del precedente sito.



Figura 2 – Il file XML generato con i sotto nodi da proprietà di classi


Creazione del progetto

Possiamo prendere il progetto creato nel precedente articolo, oppure crearne un nuovo. Nel caso che si vuole creare un nuovo progetto, nella creazione dei progetti selezionare il modello “App Windows Form” e dopo aver impostato il nome del progetto, selezionare come versione del Framework la versione 5.

Inseriamo nella form due controlli di tipo pulsante, uno avrà la proprietà “Name” impostato sul valore “BtnDeserializza” e la proprietà “Text”, con il valore “Deserializza” l’altro pulsante, avrà impostato la proprietà “Name” con il valore “BtnDeserializza2” e la proprietà “Text” con il valore “Deserializza 2”.


Terminata la creazione del progetto, non ci resta che scrivere il codice per trasformare i file XML creati in precedenza, in oggetti da utilizzare nel nostro applicativo.


Stesura del codice

Passiamo in visualizzazione codice in modo che aggiungiamo lo spazio dei nomi al progetto per la gestione dei file e della serializzazione, nel caso che si sta utilizzando il precedente progetto non occorre aggiungere nessuno spazio dei nomi, visto che sono gli stessi dei precedenti articoli.

Gli spazio dei nomi da utilizzare sono i seguenti.


using System.Xml.Serialization;

using System.IO;

using System.Xml.Linq;


Ora passiamo in visualizzazione grafica e facciamo click sul pulsante che ha il nome di “Deserializza” facciamo doppio click in modo da passare in visualizzazione codice nell’evento click del controllo button.

Nell’evento dobbiamo scrivere il codice che permette di trasformare il file XML nell’oggetto classe Anagrafica. Questa classe ha due proprietà, una nome e l’altra cognome.

Qui di seguito il frammento di codice per trasformare il file XML in un oggetto di tipo classe anagrafica, tramite il metodo “Deserialize” della classe  “XMLSerializer”.



private void BtnDeserializza_Click(object sender, EventArgs e)

        {

            XmlSerializer xmlSerializer = new XmlSerializer(typeof(Anagrafica));

            string xmlFile = File.ReadAllText("C:\\Varie\\FileXMLGenerato.xml");

            using (StringReader stringReader = new StringReader(xmlFile))

            {

                Anagrafica anagrafica = (Anagrafica)xmlSerializer.Deserialize(stringReader);

                

            }

           

        }


Si riporta a titolo informativo il codice della classe Anagrafica, nel caso che si sta utilizzando il progetto precedente, non va creata nessuna classe.

[Serializable]

    public class Anagrafica

    {

        public string Nome { get; set; }

        public string Cognome { get; set; }

 

     

    }

Per semplificare il tutorial, riportiamo qui di seguito il file XML per eseguire correttamente tale codice, per chi ha seguito l’articolo precedente, troverà il file XML generato.

<?xml version="1.0"?>

<Anagrafica xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Nome>Emanuele</Nome><Cognome>Mattei</Cognome></Anagrafica>

Ora torniamo in visualizzazione grafica, per scrivere il codice per il secondo esempio della deserializzazione, questa volta più complesso.

Facciamo doppio click sul pulsante con la scritta “Deserializza 2” ed in visualizzazione codice nell’evento click del pulsante scriviamo il codice per effettuare deserializzare il file XML in un oggetto.

Questa volta utilizziamo una classe che ha una proprietà di tipo string ed un’altra di tipo classe, quest’ultima, una proprietà di tipo list della classe Anagrafica vista nell’esempio di codice precedente.

Anche in questo caso le classi ed il file sono quelli del precedente articolo che riportiamo a titolo informativo qui di seguito.

Qui di seguito il frammento per trasformare il file XML in una classe composta.


C#

private void BtnDeserializza2_Click(object sender, EventArgs e)

        {

            System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(Dati));

            string xmlFile = File.ReadAllText("C:\\Varie\\FileXMLGenerato2.xml");

            using (StringReader sr = new StringReader(xmlFile))

            {

                Dati anagrafica = (Dati)ser.Deserialize(sr);

            }

        }


Di seguito si riporta a titolo informativo la classe “Dati” che è composto da proprietà di altre classi, che è stata illustrata nell’articolo precedente.


C#

[Serializable]

   

    public class Dati  

    {

     public   string Dato { get; set; }

        public    Azienda azienda { get; set; }

    }

    [Serializable]

    public class Azienda

    {

     public   string NomeAzienda { get; set; }

 

        public List<Anagrafica> anagrafiche { get; set; }

   

    }


Mentre qui di seguito il file XML con i dati per eseguire il frammento di codice dell’evento click del pulsante per la deserializzazione .

<?xml version="1.0" encoding="UTF-8"?>

<Dati xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><azienda><NomeAzienda>Iprogrammatori</NomeAzienda><anagrafiche><Anagrafica><Nome>Emanuele</Nome><Cognome>Mattei</Cognome></Anagrafica><Anagrafica><Nome>Cristaldi</Nome><Cognome>Luigi</Cognome></Anagrafica></anagrafiche></azienda></Dati>


Ora non resta che eseguire il nostro codice e fare delle prove.


Conclusioni

L’articolo conclusivo sulla tecnica per serializzare e deserializzare per la trasformazione di classi in XML e da file XML con dati in oggetti, ha voluto fornire al lettore la tecnica della serializzazione e deserializzazione nel linguaggio di programmazione C#, che può tornare utile per l’interscambio di dati tra applicativi o sistemi diversi, oppure per la gestione di azioni e dati all’interno del proprio applicativo.

Una tecnica che si utilizza fin dalle prime versioni del Framework, ed è sempre più utilizzata nelle moderne applicazioni.

lunedì 7 febbraio 2022

Articolo HTML5 Event Calendar/Scheduler

Interessante articolo che spiega come dotare le proprie applicazioni o realizzarne con la gestione del calendario, uno scadenzario tutto web site.
L'articolo contiene anche il sorgente di esempio dell'articolo in Asp.Net Core da poter utilizzare.

domenica 6 febbraio 2022

Programma gratuito per la creazione di chiavette auto installante di sistema operativo balena

Interessante il programma gratuito Balena Etcher https://www.balena.io/etcher/ che offre la possibilità di creare nelle proprie chiavette, immagini di sistema operativo da far partire nella chiavetta.

Il programma ed il sito sono in lingua inglese, ma di facile comprensione e soprattutto di facile utilizzo il programma.

Un modo per creare flash su chiavetta del proprio sistema operativo.

Per maggiori informazioni e download visitate il sito indicato.

Programma gratuito modifica file PDF



Un programma gratuito da eseguire in Windows che permette la modifica dei file PDF senza limiti di tempo.
Il programma Pdf Redactor qui il sito PDF Redactor - Redact & Black Out PDF Text and Images - Download Free offre interessanti funzionalità per la modifica dei file pdf di testo ed immagini.
Il sito è in lingua inglese, ma al suo interno è presente anche un tutorial che spiega il funzionamento che è molto semplice.
Per maggiori informazioni e download visitate il sito indicato.

sabato 5 febbraio 2022

Microsoft Server Non può essere eseguita come entità di database perché l'entità "dbo" non esiste, questo tipo di entità non può essere rappresentato oppure non si ha l'autorizzazione.

 



Utilizzando il database Microsoft Sql Server, può accadere nella creazione dei diagramma che venga visualizzato il messaggio "Non può essere eseguita come entità di database perché l'entità "dbo" non esiste, questo tipo di entità non può essere rappresentato oppure non si ha l'autorizzazione." quando si prova a creare il diagramma.

Questo è dovuto perchè nel database non è stato impostato un proprietario (figura 1).

Per impostare un proprietario, fare click con il tasto destro sul database in questione, nel menu che viene aperto fare click sulla voce "Proprietà", nella finestra che viene aperta selezionare la voce "File" e poi nella casella Proprietario impostare tramite la finestra che si apre dal pulsante dei tre puntini un account presente nell'elenco.

A questo punto confermate il tutto con il pulsante "OK", in questo modo sarà possibile creare il diagramma per database.

venerdì 4 febbraio 2022

Download Yooka-Laylee and the Impossible Lair

 



Disponibile gratuitamente e senza limitazioni il gioco di strategia Yooka-Laylee and the impossibile Lair, per sistemi operativi Windows.

Fino al 10 febbraio 2022, è possibile scaricarlo gratuitamente, dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito Yooka-Laylee and the Impossible Lair | Acquistalo e scaricalo subito sull'Epic Games Store

giovedì 3 febbraio 2022

Raspberry catturare la schermata con screenshot

Per chi utilizzata Raspberry, può tornare utile avere un programma per la cattura di ciò che accade sul monitor.
A differenza del sistema operativo Windows, che di default ha un programma per la cattura dello schermo, su Raspberry, dobbiamo installarlo.

Il seguente comando da eseguire nel terminale, installa un valido programma gratuito per la cattura dello schermo, ScreenShot.

sudo apt install gnome-screenshot

Visual Studio 2022 impostare il percorso dei progetti

 

Figura 1 - La finestra per cambiare le impostazioni


Se nel proprio pc sono installati contemporaneamente  Visual Studio Community 2022 e Visual Studio Community 2019, potrebbe avere lo stesso percorso per i progetti.

Per cambiare il percorso predefinito in Visual Studio 2022 Community, selezionare la voce di menu "Opzioni" in "Strumenti" e dalla finestra che viene aperta (figura 1) selezionare la categoria "Progetti e soluzioni" e successivamente la sotto categoria "Percorsi" . A questo punto, nella casella "Percorso del progetto" fare click sul pulsante dei tre puntini in modo da aprire la finestra per la selezione della cartella.

Dopo aver individuato la cartella, confermate il tutto tramite il pulsante "OK".


mercoledì 2 febbraio 2022

C# aprire il programma blocco note

Il seguente frammento di codice nel linguaggio C#, permette di avviare il programma Blocco note di Windows da un'applicazione .Net.

System.Diagnostics.Process.Start("notepad.exe");

c# regular expression verificare il numero telefonico mobile italiano

Nel caso che si ha la necessità di verificare se il formato è valido di un numero di telefonico mobile, il frammento di codice qui di seguito, illustra una tecnica con le espressioni regolari. 

Per esempio sono validi i seguenti formati:


339.1980075

339198007

3391980075

339 1980075

339 198906

339\1980065

339\198006


string EspressioneRegolare  @"^\(?([0-9]{3})\)?[-.\\ ]?([0-9]{6,7})$";

bool esito = Regex.Match("339.1980075", EspressioneRegolare  ).Success;



martedì 1 febbraio 2022

C# How do I get the .exe name of console application

Il frammento di codice qui di seguito con il linguaggio C#, rileva il nome del file eseguibile in un progetto di tipo Console Application.


System.AppDomain.CurrentDomain.FriendlyName