lunedì 31 gennaio 2022

Programma gratuito editor per la musica FamiStudio

Se state cercando un programma gratuito per la gestione della musica, in ambito video giochi, FamiStudio può tornare utile per tale ambiti.
Il programma è gratuito e si può utilizzare in vari sistemi operativi.
Per maggiori informazioni e download visitate il seguente sito https://famistudio.org/ in lingua inglese.

domenica 30 gennaio 2022

C# la serializzazione in .Net 5

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


In questo articolo vedremo come effettuare la serializzazione di una classe, in particolare da un oggetto con dei valori, verrà generato un file XML.
La serializzazione degli oggetti può tornare utile per la gestione dei dati interscambio, caricamento e gestione di dati, o per altre funzionalità a livello applicativo.
Il codice utilizzato in questo articolo si può applicare in ambiente Windows Application e Web Application, in particolare con la tecnologia Asp.Net.
Il framework utilizzato è la versione 5, e l’ambiente di sviluppo, Visual Studio 2019 Community.
Vedremo come creare file XML composti, con sotto nodi che rappresentano classi di proprietà, il tutto come mostrato in figura 1.



Figura 1 -La creazione del file XML


Creazione del progetto

Si crea un nuovo progetto di tipo “App Windows Forms”, ma come anticipato il codice si può utilizzare anche in ambiente web, andiamo avanti e selezioniamo la voce 5 del Framework.
Nella form che viene aperta, aggiungiamo tre pulsanti, uno avrà la proprietà “Name” impostata su “BtnSingleClasse” in questo pulsante ci sarà il codice per la creazione di un file XML semplice per una classe singola con un solo valore. Un altro pulsante avrà impostata la proprietà “Name” con il valore “BtnClasse” in questo pulsante, il codice sarà quello di creare n dati di una lista di oggetto, ed infine l’ultimo pulsante, avrà impostato la proprietà “Name” con il valore “BtnClasseComposta” un questa avremo una classe con le proprietà di altre classi.
Creato e sistemato il progetto, non ci resta che scrivere il codice.

Stesura del codice

Dopo aver impostato la form con i tre pulsante per scoprire alcuni scenari di tecnica di serializzazione, non resta che scrivere il codice.
Passiamo in visualizzazione codice e scriviamo una semplice classe, denominata “Anagrafica” con due proprietà di tipo “String” quali Nome e Cognome.
Qui di seguito si riporta il frammento di codice delle suddette operazioni.

C#

[Serializable]

    public class Anagrafica

    {

        public string Nome { get; set; }

        public string Cognome { get; set; }

 

 

    }


Prima di passare al frammento di codice per la creazione del file XML, occorre aggiungere lo spazio dei nomi per la gestione della serializzazione, dei file e dei file XML. Qui di seguito gli spazio dei nomi per utilizzare varie classi.


C#

using System.Xml.Serialization;

using System.IO;

using System.Xml.Linq;


Terminata la creazione della classe e aggiunti i vari namespace, che vanno inseriti in alto sopra ad ogni dichiarazione dove sono presenti altri spazio dei nomi, passiamo in visualizzazione grafica.
Facciamo doppio click sul pulsante con la proprietà denominata “BtnSingleClasse” in modo da passare in visualizzazione codice nell’evento click del pulsante.
Il frammento di codice qui di seguito, crea un oggetto della classe “Anagrafica” imposta alcuni valori alle proprietà, effettua la serializzazione e salva i dati in formato XML. Le modalità di salvataggio sono due, il primo caso, tramite la classe per la gestione dei file, nel secondo caso, tramite classi per la gestione XML.
Sono lo stesso modo, è solo una tecnica per far vedere al lettore i vari modi di salvataggio dei dati della classe.
Qui di seguito il frammento di codice delle suddette operazioni.


C#

  private void BtnSingleClasse_Click(object sender, EventArgs e)

        {

           

            Anagrafica anagrafica = new Anagrafica();

            anagrafica.Cognome = "Mattei";

            anagrafica.Nome = "Emanuele";

            XmlSerializer xmlSerializer = new XmlSerializer(anagrafica.GetType());

            string xmlGenerato = "";

            using (MemoryStream memoryStream = new MemoryStream())

            {

                xmlSerializer.Serialize(memoryStream, anagrafica);

                memoryStream.Position = 0;

                xmlGenerato = new StreamReader(memoryStream).ReadToEnd();

                byte[] arrayBytes = memoryStream.ToArray();

                File.WriteAllBytes("C:\\Varie\\FileXMLGenerato.xml", arrayBytes);

 

            }

 

            XElement xElement = XElement.Parse(xmlGenerato);

            xElement.Save(@"C:\Varie\FileXMLGenerato2.xml");

        }

Provate ad eseguire il codice e poi aprire il file xml creato, il risultato sarà come mostrato in figura 2.


Figura 2 – Il file creato con un solo dato

Passiamo in visualizzazione grafica della nostra form, e facciamo doppio click sul pulsante che ha impostato la proprietà “Name” con il valore “BtnClasse”, in modo che passiamo in visualizzazione codice nell’evento click di questo pulsante.

Qui di seguito si riporta il codice dell'evento click di questo pulsante. 


C#

private void BtnClasse_Click(object sender, EventArgs e)

        {

            List<Anagrafica> anagrafiche = new List<Anagrafica>();

            Anagrafica anagrafica = new Anagrafica();

            anagrafica.Cognome = "Mattei";

            anagrafica.Nome = "Emanuele";

 

            anagrafiche.Add(anagrafica);

            anagrafica = new Anagrafica();

            anagrafica.Cognome = "Luigi";

            anagrafica.Nome = "Cristaldi";

            anagrafiche.Add(anagrafica);

           

            XmlSerializer xmlSerializer = new XmlSerializer(anagrafiche.GetType());

            string xmlGenerato = "";

            using (MemoryStream memoryStream = new MemoryStream())

            {

                xmlSerializer.Serialize(memoryStream, anagrafiche);

                memoryStream.Position = 0;

                xmlGenerato = new StreamReader(memoryStream).ReadToEnd();

                byte[] arrayBytes = memoryStream.ToArray();

                File.WriteAllBytes("C:\\Varie\\FileXMLGenerato.xml", arrayBytes);

                

            }

 

            XElement xElement = XElement.Parse(xmlGenerato);

            xElement.Save(@"C:\Varie\FileXMLGenerato2.xml");

        }


Nell’esempio precedente, si è creato una list dell’oggetto di tipo Anagrafica, in questo modo i dati presenti nel file XML sono due record, il risultato sarà come mostrato in figura 3.


Figura 3 – La creazione del file XML con più record

L’ultimo esempio di utilizzo della tecnica di serializzazione riguarda la possibilità di utilizzare una classe con proprietà di altre classi.
Si crea una classe che avrà una proprietà di tipo string, ed un’altra proprietà, come list della classe anagrafica.
Qui di seguito si riporta il frammento di codice delle suddette operazioni.

[Serializable]

    public class Azienda

    {

     public   string NomeAzienda { get; set; }

 

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

    }


Si crea un’altra classe, che sarà utilizzata nel nostro esempio, che avrà una proprietà della classe appena creata, ossia della classe “Azienda” ed una proprietà di tipo “string” che non sarà visualizzato nel file XML.
Qui di seguito il frammento di codice delle suddette operazioni.

C#

[Serializable]

    public class Dati  

    {

     public   string Dato { get; set; }

        public    Azienda azienda { get; set; }

    }


Terminata la creazione delle classe, passiamo in visualizzazione grafica, e facciamo doppio click sul pulsante con la proprietà name impostata con il valore “BtnClasseComposta”, in modo che passiamo in visualizzazione codice dell’evento click del pulsante.
In questo evento vengono impostati le varie proprietà, anche quella di tipo list della classe e poi generato il file XML.

Si riporta il frammento di codce dell'evento click di questo pulsante.

private void BtnClasseComposta_Click(object sender, EventArgs e)

        {

            Dati dati = new Dati();

            dati.azienda = new Azienda();

            dati.azienda.NomeAzienda = "Iprogrammatori";

            Anagrafica anagrafica = new Anagrafica();

            anagrafica.Cognome = "Mattei";

            anagrafica.Nome = "Emanuele";

            dati.azienda.anagrafiche = new List<Anagrafica>();

            dati.azienda.anagrafiche.Add(anagrafica);

            anagrafica = new Anagrafica();

            anagrafica.Cognome = "Luigi";

            anagrafica.Nome = "Cristaldi";

            dati.azienda.anagrafiche.Add(anagrafica);

            XmlSerializer xmlSerializer = new XmlSerializer(dati.GetType());

            string xmlGenerato = "";

            using (MemoryStream memoryStream = new MemoryStream())

            {

                xmlSerializer.Serialize(memoryStream, dati);

                memoryStream.Position = 0;

                xmlGenerato = new StreamReader(memoryStream).ReadToEnd();

                byte[] arrayBytes = memoryStream.ToArray();

                File.WriteAllBytes("C:\\Varie\\FileXMLGenerato.xml", arrayBytes);

 

            }

 

            XElement xElement = XElement.Parse(xmlGenerato);

            xElement.Save(@"C:\Varie\FileXMLGenerato2.xml");

 

        }




Il risultato del file XML generato sarà come quello mostrato in figura 1.


Conclusioni

L’articolo ha voluto fornire al lettore alcune tecniche di serializzazione per trasformare una classe in un file XML.
La serializzazione è una tecnica da utilizzare in alcuni scenari dello sviluppo applicativo, soprattutto nella gestione dei dati di interscambio con altri sistemi o per rendere le applicazioni personalizzabili in un determinato contesto.
Una tecnica usata anche dalle versioni precedenti del framework ed in vari ambiti web o Windows Application.

sabato 29 gennaio 2022

download gioco DAEMON X MACHINA

 



Disponibile gratuitamente in testo italiano il gioco sparatutto Daemon X Machina per sistemi operativi Windows.

Il gioco è disponibile gratuitamente per il download fino al 3 febbraio 2022 senza limiti di funzionalità e di tempo, dopo tale data, non sarà possibile scaricabile gratuitamente.

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

venerdì 28 gennaio 2022

Programma gratuito di grafica Hornil StylePix

Disponibile in due versioni, il programma di grafica Hornil StylePix, che offre la possibilità all'utilizzatore di modificare le immagini.
Una versione standard, da installare sul pc, ed una portatile, ossia che non richiede nessuna installazione e che possiamo utilizzare su chiavetta o hard disk esterno.
Per maggiori informazioni e download visitate il seguente sito http://hornil.com/products/stylepix/ in lingua inglese.

giovedì 27 gennaio 2022

Converting double to string with N decimals, dot as decimal separator, and no thousand separator

Il frammento di codice qui di seguito, illustra una tecnica di come formattare i decimal con due cifre e separatore.


VariabileDecimal.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture)

mercoledì 26 gennaio 2022

C# operatore ??

Nel linguaggio C#, c'è la possiamo utilizzare l'operatore ?? per verificare un valore null e restituire un determinato valore.

Nell'esempio seguente la variabile "Valore" ha un dato, in questo caso l'utilizzo dell'operatore ?? restituisce il dato presente nella variabile che è Luigi.

 string valore = "Luigi";
 MessageBox.Show(valore??"nessun valore");

Nell'esempio seguente invece, essendo la variabile a null, viene visualizzato a video il testo "nessun valore" che è quello posto sulla destra.


 string valore = null;
 MessageBox.Show(valore??"nessun valore");

In conclusione, con gli operatore ?? se la variabile è null, viene restituito ciò che si trova sulla sua destra, altrimenti il dato presente nella variabile.

martedì 25 gennaio 2022

.Net 6 DateOnly C#

Il nuovo Framework .Net è disponibile con interessanti novità, tra queste anche la classe DateOnly, che a differenza di DateTime, permette la gestione dei dati in forma di sola data senza l'orario.
Qui di seguito un frammento di codice, che visualizza a video la data del 2 gennaio 2022.



  DateOnly data = new DateOnly(2022, 1, 2);
  MessageBox.Show(data.ToString());

lunedì 24 gennaio 2022

C# Effettuare il download di un file tramite .Net 5.0

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-effettuare-il-download-di-un-file-tra_1767.aspx


In questo articolo vedremo come effettuare in un progetto di tipo Windows Application con versione Framework 5.0, il download di un file situato in un sito web nel proprio pc.
Il codice illustrato in questo articolo è applicabile anche per applicazioni di tipo Web in particolare con la tecnologia Asp.Net, e l’ambiente di sviluppo utilizzato è Visual Studio 2019 community .

Creazione del progetto

Con l’ambiente di sviluppo Visual Studio 2019 Community o versione precedente o successiva, creare un nuovo progetto di tipo Windows Application tramite il modello App Windows Forms, selezionare come versione del Framework la 5 o versione successive nel caso si ha installati sul proprio PC la 6.
Assegnare un nome al progetto ed all'apertura della form che viene visualizzata inserire un controllo di tipo button.
Il pulsante avrà il compito di richiamare le istruzioni per effettuare il download di un file.
Impostare la proprietà “Name” con il valore “btnDownload”.


Stesura del codice

Dopo aver creato il progetto e preparato la form non resta che scrivere il codice per il download del file.
Passiamo in visualizzazione codice della nostra form (f7 o tramite la voce visualizza codice) ed in alto sopra ad ogni istruzione, scriviamo lo spazio dei nomi per la gestione del download e creazione del file.

Lo spazio dei nomi contenente le classi per il download dei file si trovano in System.Net mentre per la gestione dei file e la relativa creazione si trovano in System.Io.
Qui di seguito le dichiarazioni per aggiungere lo spazio dei nomi per la gestione del download dei file e la relativa creazione.

C#

using System.Net;

using System.IO;


Passiamo in visualizzazione grafica e nella form, facciamo doppio click sul controllo di tipo “button” che abbiamo posizionato in precedenza in modo che passiamo in visualizzazione codice nell’evento click del pulsante.
Nell’evento click utilizzeremo le classi per la gestione delle richieste web, in particolar modo le classi WebRequest, httpwebRequest , httpwebResponse e le classi per la gestione dei file quali stream, MemoryStream e File.
Qui di seguito il frammento di codice per l’evento click del pulsante, per il download e creazione del file.

C#

 

private void BtnDownload_Click(object sender, EventArgs e)

        {

            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("http://progettigratis.altervista.org/InstallazioneGranchio.zip");

            httpRequest.Method = WebRequestMethods.Http.Get;

            HttpWebResponse httpResponse   = (HttpWebResponse)httpRequest.GetResponse();

            using (Stream stream = httpResponse.GetResponseStream())

            {

                MemoryStream ms = new MemoryStream();

                stream.CopyTo(ms);

                byte[] arrayByte = ms.ToArray();

                File.WriteAllBytes("C:\\Varie\\test.zip", arrayByte);

 

            }

            MessageBox.Show("Download completato.");

 

        }

Come si è visto dal precedente codice, tramite il metodo GetResponse otteniamo la risposta dalla richiesta web, con il quale possiamo ottenere lo stream dati tramite il metodo “GetResponseStream” . L’oggetto di tipo Stream, viene trasformato in un oggetto di tipo ArrayByte per poi creare un file su un percorso del proprio pc.
Nel caso che invece il sito ha un certificato, e quindi ha https, occorre gestire la proprietà per i certificati.
Con la seguente riga di codice, è possibile effettuare il download anche dei file situati su siti con protetti con certificati e quindi di tipo htttps.


System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;


Qui di seguito si riporta il codice completo dell’evento click del pulsante per il download.



  private void BtnDownload_Click(object sender, EventArgs e)

        {

            System.Net.ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;

            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create("https://www.mite.gov.it/sites/default/files/Avviso%201.2_Linea_D_15102021__signed.pdf");

            httpRequest.Method = WebRequestMethods.Http.Get;

            HttpWebResponse httpResponse   = (HttpWebResponse)httpRequest.GetResponse();

            Stream ResponseStream = httpResponse.GetResponseStream();

 

            using (Stream stream = httpResponse.GetResponseStream())

            {

                MemoryStream ms = new MemoryStream();

                stream.CopyTo(ms);

                byte[] arrayByte = ms.ToArray();

                File.WriteAllBytes("C:\\Varie\\test2.pdf", arrayByte);

 

            }

            MessageBox.Show("Download completato.");

 

        } 



Conclusioni

L’articolo ha fornito al lettore le informazioni di base per dotare le proprie applicazioni di tipo Windows Application o web application per il download dei file.
Sulla gestione web, si possono realizzare interessanti programmi.
Le classi fornite dal Framework versione 5 o versione precedente, permettono di scrivere codice e funzionalità anche complesse in maniera semplice, riducendo al programmatore i tempi di realizzo.

domenica 23 gennaio 2022

C# linq to XML select node

Il frammento di codice qui di seguito, illustra una tecnica di come rilevare i nodi in base ad un determinato tag di un file XML.
Supponiamo di avere una serie di nodi denominati "MioNodo" e vogliamo rilevare il valore del primo di questa serie, con la select sul nome nodo si rilevano tutti i nodi.

Qui di seguito il frammento di codice.

 var Nodi = from nodi in System.Xml.Linq.XElement.Load("C:\\FileXML.xml").Elements("MioNodo")
                            select nodi;

Nodi .FirstOrDefault().Value

sabato 22 gennaio 2022

Windows 11 stima dei tempi di installazione degli aggiornamenti




Altra novità di Windows 11, riguarda la possibilità di sapere la stima dei tempi di installazione degli aggiornamenti di questo nuovo sistema operativo.
Nelle versioni precedenti, non si sapeva quanto tempo impiegava il computer nell'installare l'aggiornamento, in questa nuova versione è possibile saperlo accompagnata dall'indicazione, il tutto come mostrato in figura.

Download gioco Relicta

 



Disponibile gratuitamente per sistemi operativi Windows, il gioco Relicta, senza limiti di funzionalità e di tempo.

Il gioco è un puzzle game, con il quale il giocatore dovrà realizzare strutture in ambito magnetico.

Il download del gioco è gratuito fino al 27 gennaio 2022, dopo tale data non sarà possibile scaricarlo ma a pagamento.

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

venerdì 21 gennaio 2022

Programma gratuito di video conferenze

KMeet è un ottimo programma gratuito in italiano che permette di effettuare video conferenze.

Il programma offre interessanti funzionalità e permette di utilizzare altri strumenti gratuiti messi a disposizione da questa azienda Svizzera. 

Per maggiori informazioni e download visitate il seguente sito https://www.infomaniak.com/it/kmeet in lingua italiana.



giovedì 20 gennaio 2022

C# ottenere le proprietà di un controllo o classe e salvarle in un file .csv

Il frammento di codice qui di seguito, illustra una tecnica di come salvare in un file .csv, le proprietà di un controllo o classe.


La funzione salva in un file che viene passato, le proprietà dei controlli o classi che viene passata.

Funzione

private void SalvaInFileCsv<T>(List<T> controlli, string percorsoNomeFile)

        {

            var Elementi = new List<string>();

            IEnumerable<PropertyDescriptor> proprieta = TypeDescriptor.GetProperties(typeof(T)).OfType<PropertyDescriptor>();

            var campiProprieta = string.Join(";", proprieta.ToList().Select(x => x.Name));

            Elementi.Add(campiProprieta);

            var proprietaTrovati = controlli.Select(riga => string.Join(";", campiProprieta.Split(';').Select(a => riga.GetType().GetProperty(a).GetValue(riga, null))));

            Elementi.AddRange(proprietaTrovati);

            File.WriteAllLines(percorsoNomeFile, Elementi.ToArray());

        } 

Eseguo le funzione, passando un controllo di tipo button ed il percorso e nome file Csv dove salvare i dati.


Esempio per invocare la funzione

private void BtnSalvaOggetto_Click(object sender, EventArgs e)

        {

            List<Control> oggetti = new List<Control>();

            oggetti.Add(Button1);

            SalvaInFileCsv(oggetti, "C:\\Varie\\test.csv");

        }

mercoledì 19 gennaio 2022

Recensione libro Alberi

 



La scheda del libro: 

Autore:                                     Victor Coutard

Editore:                                    Giunti

Prezzo:                                     € 25,00

Caratteristiche:                        216 pagine - 185.0 x 240.0 cm. A colori.

ISBN:                                      9788809897328

Anno di edizione:                   03/02/2021

Numero dell'edizione:            1

Rilegatura:                              Cartonato


Gli alberi rivestono un ruolo importante, anzi determinante nella vita degli esseri umani. Negli ultimi anni inoltre con il cambiamento climatico, molte grandi città italiane ed internazionali, stanno investendo molto in soluzione di forestazione urbana o di manutenzione migliorativa del verde, dovuto al ruolo che ricoprono gli alberi sul contrasto dei cambiamenti climatici.

Non è raro passeggiare nella città ed imbattersi in qualche viale alberato,  oppure fermarsi in un parco pieno di alberi, di cui possiamo ammirare la bellezza di questi giganti che ci regalano ossigeno catturando proprio lo smog presente in molte grandi città.

Il libro Alberi, manuale per conoscerli e amarli https://www.giunti.it/catalogo/alberi-9788809897328 di Giunti editori,  fornisce al lettore una buona e valida guida per riconoscere gli alberi presenti nei boschi e nei parchi delle nostre città tra le specie più comuni,  illustrando con termini chiari e comprensibili i vari elementi per riconoscerli. 

La parte iniziale del libro è dedicata all’importanza degli alberi ed il ruolo che ricoprono in natura, evidenziando alcuni aspetti importanti. Terminata la parte introduttiva sugli alberi, sono illustrati i vari tipi di alberi.

Nel libro sono riportate molte specie, e per ognuna di essa si trova un’accurata scheda con immagini colorate per fornire al lettore  le informazioni necessarie per riconoscere gli alberi.

Oltre all’immagine dell’intero albero si trovano anche i dettagli dell’albero, come il tronco, la foglia, i frutti e tanti altri elementi che permettono di riconoscere il tipo di albero. 

L’autore Victor Coutard, grande appassionato ed esperto in materia, in ogni scheda riporta anche informazioni utili sulla specie, come la crescita, la vita vegetativa, l’area geografica dove trovarlo o metterlo a dimora, il tipo di terreno ed altre informazioni utili sulla specie.

Un libro adatto a tutti,  proprio per il linguaggio di facile comprensione che permette a qualsiasi lettore, giovane, adulto o anziano di acquisire le informazioni necessarie per riconoscere gli alberi.

Conclusioni

Un libro ben fatto che tramite le numerose illustrazioni ed immagini fornisce al lettore le conoscenze adeguate per riconoscere gli alberi quando si passeggia nei boschi o nella città.

Le numerose immagini, e la chiarezza espositiva rendono questo manuale adatto a tutti, anche a coloro che si stanno avvicinando per la prima volta alla scoperta della natura.

Un libro che non può mancare nella libreria di ogni lettore, essendo un manuale che può servire in ogni momento.

C# Convert base64 string in image

Qui di seguito un frammento di codice che illustra una tecnica di come convertire una stringa di tipo immagine che inizia con "data:image/jpeg;base64," in un array di byte per creare un immagine.


int valore = VariabileString.IndexOf(',') + 1;

byte[] byteArray = Convert.FromBase64String(VariabileString[valore..^0]);

System.IO.File.WriteAllBytes("C:\\Varie\\MioFile.jpg", byteArray);

martedì 18 gennaio 2022

Programma gratuito di grafica PixBuilder Studio

Se cercate un programma gratuito per la grafica, per gestire le immagini, PixBuilder Studio, offre all'utilizzatore interessanti funzionalità per gestire i file di tipo immagini.
Il programma come anche il sito è in lingua italiana.
Per maggiori informazioni e download visitate il seguente sito https://www.wnsoft.com/it/pixbuilder/

lunedì 17 gennaio 2022

Sito italiano sicurezza informatica

Un portale in lingua italiana costantemente aggiornato sulla sicurezza informatica, con interessanti articoli e notizie di questo campo.

Nel sito è possibile approfondire anche tematiche di hacking e quant'altro.

Un sito tutto italiano con possibilità di iscriversi alla newsletter.

Per maggiori informazioni ed altro visitate il seguente sito https://www.redhotcyber.com/ 



domenica 16 gennaio 2022

Download gioco Galactic Civilizations III


 


Disponibile gratuitamente e senza limitazioni il gioco Galactic Civilizations III per sistemi operativi Windows.

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

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

sabato 15 gennaio 2022

Debugging JavaScript with Visual Studio in an ASP.NET MVC

Se vogliamo effettuare il debug in Javascript, esaminando riga per riga il codice durante l'esecuzione di applicazione Asp.Net MVC con Visual Studio, possiamo utilizzare la parola chiave debugger; seguita dal punto e virgola.

La parola chiave va inserita prima del codice che si vuole esaminare.

Qui di seguito un frammento di codice:


Function NomeFunzione(){

debugger;

alert('prova');

 


}

venerdì 14 gennaio 2022

Creazione avatar cartone animato gratuitamente online

 


Dal seguente sito Image to Cartoon | Cartoonize and emoji yourself è possibile creare una propria avatar stile cartone animato, caricando la propria foto.

Una volta caricata la foto, verranno visualizzati vari esempi che si possono scaricare. Un sito ben fatto e semplice.

Il sito non richiede nessuna registrazione o email ed è gratuito.

giovedì 13 gennaio 2022

Jquery check for file extension before uploading

Utilizzando la tecnologia Asp.Net MVC, nel caso che vogliamo impostare il tag input Type="file" con la selezione di determinati file, dobbiamo impostare la proprietà accept con il tipo di file che vogliamo.

Qui di seguito un frammento di codice.

input type="file" accept=".jpg, .gif" name="NomeControllo" id="NomeControllo>

mercoledì 12 gennaio 2022

Asp.Net MVC doesnt validate input type file

Quando si vuole rendere un campo obbligatorio di tipo input type="file", il "ValidationMessage" di HNTL non funziona, per ovviare a tale situazione occorre inserire sempre nel tag input type file gli attributi "data-val="true" e data-val-required="Testo che si vuole visualizzare".

Qui di seguito un esempio di codice

input type="File" name"CaricaFile" id="CaricaFile" data-val="true" data-val-required="campo obbligatorio">

martedì 11 gennaio 2022

Microsoft Outlook esportare i contatti

Nel caso che si ha necessità di esportare i contatti di Microsoft Outlook in formato .csv da poter importare da altro pc o utilizzarli per altre attività, qui di seguito la procedura per esportare i contatti di Outlook.

Dal menu "File", si aprirà un menu (figura1) nella quale sono riportate alcune voci, tra queste la voce "Apri ed esporta". Facciamo click su tale voce .

Figura 1 - il menu esporta

Si aprirà ulteriore menu (figura 2) , dove sono presenti varie azioni da poter eseguire.
Figura 2 - il menu importa/esporta
Facciamo click sul pulsante "Importa/Esporta", in questo modo si avvierà la procedura per importare o esportare i dati.
Al click verrà aperta una finestra (figura 3).
Figura 3 - la voce menu di esportazione

Nella finestra che viene visualizzata con le varie azioni da selezione, facciamo click sulla voce "Esporta in un file" e poi click sul pulsante "Avanti".

Nella finestra successiva (figura 4) selezioniamo la modalità di esportazione, in particolare i dati separati da virgola, il tutto come mostrato nella figura qui di seguito.

Figura 4 - Modalità di esportazione dei dati

Facciamo click sul pulsante "Avanti", nella finestra successiva, selezioniamo la voce "Contatti", il tutto come mostrato qui di seguito.
Figura 5 - la selezione dei contatti

Nella finestra successiva (figura 6) viene indicato dove salvare il file .csv, tramite il pulsante "Sfoglia" è possibile selezionare un percorso secondo le nostre esigenze.
Figura 6 - Il percorso dove salvare il file.

Facciamo click sul pulsante "Avanti", e nella finestra successiva (figura 7) viene fornito il riepilogo, ossia di cosa verrà esportato, in questo caso i contatti.

Figura 7 - Il riepilogo dell'esportazione

Tramite il pulsante "Mappa Campi Personalizzati", possiamo indicare quali campi esportare, come nome, cognome, ed altri, il tutto come mostrato in figura 8.
Figura 8 - La mappatura dei campi



A questo punto, la fase di esportazione è terminata, occorre fare click sul pulsante "Fine" per effettuare l'esportazione dei contatti.

lunedì 10 gennaio 2022

C# stream to array byte

Il frammento di codice qui di seguito, illustra una tecnica per convertire un stream dati in array byte tramite il linguaggio C#.

                     Stream stream = MetodoGetStream());
                     MemoryStream ms = new MemoryStream();
                     stream.CopyTo(ms);
                     byte[] arrayByte = ms.ToArray();
                    

 

domenica 9 gennaio 2022

Jquery selector not working when element contians dot in tag name

Quando un elemento nella pagina ha il punto nel nome , per esempio ha un valore simile a questo Nome.nomeDue, dobbiamo utilizzare le doppie barre \\.


Qui di seguito un frammento di codice di esempio.


$("#NomeElemento\\.NomeElemento").val();

sabato 8 gennaio 2022

Asp.Net select2 with button

Qui di seguito una tecnica che illustra come aggiungere un pulsante in un controllo dropdownlist utilizzando il componente gratuito select2 https://select2.org/ nel caso che non sono presenti elementi mentre si digita nella casella filtro

Al click del pulsante verrà aggiungo l'elemento alla casella combinata

$(document).ready(function(){

    $('NomeControllo').select2({

       language: {

                            noResults: function(){

                                                                       return  '<button id="NomeButton" name="NomeButton"    style="width:100%" type="button" class="btn btn-primary"   onClick='NomeFunzione()' >TestoPulsante </button> ';

                                            }

                        },

escapeMarkup: function(markup){

    return markup;


}

            });

});


//Funzione


function NomeFunzione(){


var ValoreRilevato = $('#NomeControllo').data("select2").dropdown.$search.val();


$('#NomeControllo').append(new Option(ValoreRilevato, ValoreRilevato, false, true));


$('#NomeButton').hide();


 $('#NomeControllo').select2({ 


    minimunResultsForSearch: Infinity


});


 $('#NomeControllo').select2({ 


    minimunResultsForSearch: 1


});


}


venerdì 7 gennaio 2022

download gioco Gods Will Fall

 



Disponibile gratuitamente e senza limitazioni il gioco di guerriglia Gods Will Fall, per sistemi operativi Windows.

Il gioco è disponibile al download gratuito fino al 13 gennaio 2021 dopo tale data il download sarà a pagamento.

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

Asp.Net Select2 set text not results

Se vogliamo impostare il testo nel caso che non troviamo gli elementi durante la ricerca dei valori nelle caselle combinate utilizzando il componente Select2 https://select2.org/ dobbiamo impostare la proprietà "NoResult". 


Qui di seguito un frammento di codice.


$(document).ready(function(){

    $('.select2').select({ //Tutte le classi di tipo select2

        language: {

                            noResults: function(){

                                                                        return "Elemento non trovato";

                                            }

                        }


            });

});

giovedì 6 gennaio 2022

Aggiornamento gratuito a Windows 11 dal sistema operativo Windows 10




Per chi ha una licenza regolare di Windows 10, l'aggiornamento gratuito al nuovo sistema operativo Windows 11 avviene in forma automatica negli aggiornamenti quotidiani.

Nel caso che il proprio pc ha i requisiti hardware per il nuovo sistema operativo, verrà visualizzato nella scherma degli aggiornamenti la possibilità di tale aggiornamento.

Inoltre nella tray icon, ossia la barra delle icone poste vicino all'orologio in basso a sinistra, verrà informato l'utente di tale aggiornamento.

L'aggiornamento è gratuito alla nuova versione di Windows.

Visto le potenzialità offerte da questo sistema operativo e visto che tra 4 anni non ci saranno più aggiornamenti per Windows 10, si consiglia di aggiornarlo nel caso che viene visualizzata la possibilità di tale migrazione.