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
Programmazione .Net, Asp.Net, Entity Framework, MAUI, Sql Server, MongoDB, Filenet e tanto altro materiale informatico.
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
C#
[Serializable]
public class Anagrafica
{
public string Nome { get; set; }
public string Cognome { get; set; }
}
C#
using
System.Xml.Serialization;
using
System.IO;
using
System.Xml.Linq;
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");
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");
}
[Serializable]
public class Azienda
{
public
string NomeAzienda { get; set; }
public List<Anagrafica>
anagrafiche { get; set; }
}
C#
[Serializable]
public class Dati
{
public
string Dato { get; set; }
public Azienda azienda { get; set; }
}
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");
}
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
C#
using
System.Net;
using
System.IO;
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.");
}
System.Net.ServicePointManager.ServerCertificateValidationCallback
+= (sender, cert, chain, sslPolicyErrors) => true;
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.");
}
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
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.
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");
}
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.
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);
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/
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
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');
}
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.
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>
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">
| Figura 1 - il menu esporta |
| Figura 2 - il menu importa/esporta |
| Figura 3 - la voce menu di esportazione |
| Figura 4 - Modalità di esportazione dei dati |
| Figura 5 - la selezione dei contatti |
| Figura 6 - Il percorso dove salvare il file. |
| Figura 7 - Il riepilogo dell'esportazione |
| Figura 8 - La mappatura dei campi |
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();
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
});
}
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
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";
}
}
});
});
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.