lunedì 21 dicembre 2020

Fuori tema buon Natale e felice anno nuovo 2021

 




Il fuori tema che più adoro scrivere, riguardante proprio il periodo di Natale e ciò che segue come le vacanze che portano in me quelle forze ed energie ma soprattutto riposo.

Un 2020 molto particolare, non solo per me ma per il mondo intero, nella mia vita privata tanto è stato cambiato e fatto.

Un anno che ha visto una situazione globale complessa per colpa di quel virus, che in tanti hanno avuto modo di conoscere e comunque intaccato per via delle abitudini cambiate.

Un pensiero va però a chi, a quelle care persone che ora non ci sono più, in particolare all'amico Gianluca, una bravissima persona conosciuta nelle community .Net e che il virus Coronavirus, ha portato via.

Una persona splendida, con doti umane molto rare, quelle dell'altruismo, quelle di dare l'amore al prossimo.

La sua scomparsa ha portato in me un dolore enorme ma anche tanta riflessione, mi sono chiesto se devo ancora continuare ad impegnarmi per il prossimo, ma la domanda che ho rivolto al cielo, alzando la testa e domandando al signore è stata "Perchè le brave persone vengono a mancare, quando poi ci sono tante persone cattive che fanno soffrire il prossimo, tante persone che hanno nel loro cuore tanto odio e cattiveria?" Questa è la domanda che ho posto guardando il cielo, persone come Gianluca devono continuare ad esserci, mentre quelle cattive che il signore si deve prendere.


Domanda che forse non troverò mai risposta, ma pensare che vengono a mancare persone brave come Gianluca, e tante che hanno cattiverie continuo ad esserci mi da un senso di rabbia, di dolore.

Non voglio però tediare i mie lettori e persone che mi seguono, ma la perdita di Gianluca è stato un grande dolore.

Quest'anno molti mesi a lavorare da casa, che mi hanno permesso di avere più tempo per me, e quindi ordinare un pò casa.

Ma non solo, ho avuto anche modo di vedere in maniera introduttiva anche Raspberry, ma prometto nel nuovo anno di programmarlo con tecnologia .Net.

Ciò che avrei voluto fare, è la solita programmazione Xbox, che anche quest'anno non mi è stato possibile.

Tanto l'impegno sociale, con la mia associazione e tantissime le iniziative di cultura, certo, poi c'è stato qualcuno/a che ha tradito alle spalle, ma per questo ora mai ne faccio esperienza.

Impegno per il prossimo e cura dell'ambiente alto, che però il prossimo anno devo diminuire per godermi un pò gli anni e soprattutto la mia vita.

Ho visitato una bellissima città che da anni volevo vederla, Mantova, una bomboniera al quale vorrei tornarci, e chissà se non come residente.-

Tantissime le persone che ho conosciuto, alcune brave, altre meno.

Con l'occasione del bonus mobilità, mi sono preso anche una nuova bicicletta pieghevole.

Ora altri giorni di lavoro, e poi riposo per recuperare quelle forze che mi serviranno con il nuovo anno.

Un anno positivo, anche se la scomparsa di Gianluca ha portato in me molta tristezza.

Avrei voluto terminare alcuni progetti, ma spero di farlo il prossimo anno, come anche la voglia di approfondire alcune tematiche tecnologiche, come IOT, Xbox e la programmazione su più dispositivi.


Qualche giorno di pausa e poi ritornerò a scrivere, sperando in un anno pieno di tanti successi e progetti.

Auguro a tutti, un felicissimo Natale e che l'anno nuovo regali tante soddisfazioni.

Auguri a tutti voi.

domenica 20 dicembre 2020

Download gioco gratuito HYPER SCAPE

 



Un gioco per tutta la famiglia e per piattaforma Windows quello di Epicgames disponibile in questi giorni gratuitamente e senza limitazioni.

Il gioco Hyper Scape in lingua italiana ha una grafica molto interessante.

Per maggiori informazioni e download visitate il seguente sito HYPER SCAPE - Hyper Scape™ (epicgames.com) 

sabato 19 dicembre 2020

Download gratuito gioco Dauntless

 



Disponibile gratuitamente e senza limitazioni, il gioco Dauntless in lingua italiana e per sistemi operativi Windows.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/product/dauntless/home 

venerdì 18 dicembre 2020

Download gioco gratuito Cities: Skylines

 


Un bellissimo gioco di simulazione nel creare e gestire le città. 

Il gioco Cities Skylines scaricabile gratuitamente e senza limitazioni dalla piattaforma EpicGames ma solo fino al 18 dicembre 2020.

Per maggiori informazioni e download visitate il seguente sito Cities Skylines - Cities: Skylines (epicgames.com)  



giovedì 17 dicembre 2020

Download gioco Star Trek Online

 




Un gioco sulla famosa serie televisiva sullo spazio, disponibile gratuitamente e senza limitazioni dal sito EpicGame. Il gioco per sistema operativo Windows e non in lingua italiana, offre una valida grafica ed è per tutta la famiglia.

Per maggiori informazioni e download visitate il seguente sito Star Trek Online - Star Trek Online (epicgames.com)


mercoledì 16 dicembre 2020

Javascript rilevare i controlli sulla pagina tramite nome della classe di stile Document.getElementsByClassName()

In una pagina Asp.Net, da codice Javascript possiamo rilevare i vari controlli (elementi) di una determinata classe di stile,   tramite il metodo "getElementsByClassName" della classe document .

Qui di seguito un esempio.


Var Controlli = document.getElementsByClassName("NomeClasseStileCSS");

for (var ContaElementi = 0; ContaElementi < Controlli .length; ContaElementi++) {

         //Codice

            }

martedì 15 dicembre 2020

Javascript getElementsByClassName() with two classes

Tramite il metodo GetElementsByClassName, possiamo ottenere una serie di controlli che hanno una determinata classe. Ma nel caso che vogliamo ottenere più controlli con due classi, dovremmo utilizzare il metodo querySelectorAll dell'oggetto document.

Qui di seguito un esempio di utilizzo.


 var Controlli = document.querySelectorAll(".NomeClasseA,.NomeClasseB");


 for (var ContaControlli= 0; ContaControlli < Controlli .length; ContaControlli++) {


//Codice


 }

lunedì 14 dicembre 2020

javascript contains string with includes

 Nel linguaggio di programmazione Javascript,  il metodo Contains che si usa per le string nel linguaggio di programmazione C#, in Javascript si utilizza il metodo "Includes".

Qui di seguito un frammento di codice in Javascript.


VariabileString.includes('TESTO');

domenica 13 dicembre 2020

download gioco warframe

 



Al momento in cui scrivo è possibile scaricare gratuitamente il gioco di azione Warframe, per un pubblico adulto,  dal seguente sito https://www.epicgames.com/store/it/product/warframe/home

Il gioco è in lingua italiana per sistema operativo Windows.

Per maggiori informazioni e download visitate il sito indicato.

sabato 12 dicembre 2020

Download gratuito gioco Tyranny - Gold Edition

 



Fino al 17 dicembre 2020 è possibile scaricare il gioco Tyranny Gold Edition, per un pubblico adulto per sistema operativo Windows e non in lingua italiana.

Il gioco è senza limitazioni e senza durata di tempo.

Per maggiori informazioni e download visitate il seguente sito Tyranny - Gold Edition - Tyranny - Gold Edition (epicgames.com)

venerdì 11 dicembre 2020

Download gioco gratuito Pillars of Eternity - Definitive Edition

 



Epicgames offre fino al 17 dicembre 2020 la possibilità di scaricare il gioco Pillars Of Eternity per un pubblico maggiorenne senza limitazioni.

Il gioco per sistemi operativi Windows ed in lingua inglese.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/product/pillars-of-eternity/home 

giovedì 10 dicembre 2020

jquery invoke event click

 Il frammento di codice qui di seguito, illustra una tecnica di come invocare l'evento click di un controllo in JQuery.

$("#NomeControllo").trigger("click");

mercoledì 9 dicembre 2020

JQuery ottenere url elemento href element

 Il frammento di codice JQuery qui di seguito, illustra una tecnica di come rilevare da un tag di collegamento ipertestuale il relativo url.

 var href = $('#NomeTag').attr('href');

window.location.href = href;

 

martedì 8 dicembre 2020

Recensione Kubii Starter Kit Raspberry Pi4 - 4GB un ottimo prodotto

 



Il sito Kubii https://www.kubii.it/ offre una serie di prodotti riguardante la scheda Raspberry, con il quale realizzare progetti di tipo internet delle cose (IOT) oppure per i vari maker che vogliono automatizzare alcuni progetti o inventarsi qualcosa di innovativo.

Il sito offre una vasta gamma di prodotti, di vari accessori e soprattutto di starter kit.

Tra i vari prodotti, ho avuto modo di conoscere il "Starter Kit Raspberry PI4 da 4 GBhttps://www.kubii.it/raspberry-pi-4-modello-b/3011-kit-raspberry-pi4-4gb-3272496302112.html un insieme di accessori per la scheda Raspberry tra cui la scheda PI4 con il quale iniziare a fare i primi progetti.

Un ottimo prodotto, perchè offre una serie di accessori ad un prezzo molto conveniente.

Con questo pacchetto si possono iniziare a fare degli ottimi progetti per maker, con la fornitura di componenti di base che permette di dare sfogo alla propria fantasia su vari progetti.

Nella confezione troviamo oltre alla scheda Raspberry PI 4 da 4 gb, il case, che non è altro che la scatola o meglio il contenitore della scheda per coprirla e contenerla. Una scheda Noobs MicroSD da 32 gb, dove si trova il sistema operativo, con il quale si interagisce con la scheda ed i vari sensori che si possono aggiungere alla scheda, l'alimentatore, perchè la scheda necessità di elettricità per il suo funzionamento, un cavo mini HDMI verso HDMI da collegare ad un televisore o monitor o altro dispositivo che richiede tale attacco. Infine quattro Heat Sink, che sono dissipatori per evitare il riscaldamento della scheda.

Un kit molto interessante.

Ottimo anche la gestione del cliente da parte del sito, disponibile e pronto a fornire informazioni.


Qui di seguito le foto dei vari componenti presenti nello start kit.






lunedì 7 dicembre 2020

Asp.Net Populating select control using Jquery

Nel caso che si vuole valorizzare un controllo html di tipo select, il frammento di codice qui di seguito illustra tale tecnica utilizzando jquery

success: function (response) // Dati ricevuti
        {
            $.each(response, function (key, val) {
                var html = '<option value="' + key + '">' + val + '</option>'
                $("# DdlControllo ").append(html);
                
            })

        },

domenica 6 dicembre 2020

Javascript verificare se document.getElementById è null

 Il frammento di codice Javascript qui di seguito verifica se il metodo GetElementById è null oppure no.


var elemento = document.getElementById("MioID");

    if (typeof elemento !== 'undefined' && elemento !== null) {

        document.getElementById("MioID").value = "1000";

    }

sabato 5 dicembre 2020

Download gratuito gioco Cave Story+

 



Un gioco molto conosciuto di strategia quello che è disponibile gratuitamente e senza limitazioni fino al 10 dicembre 2020.

Il gioco Cave Story+ in lingua inglese e per piattaforma Windows offre divertimento per tutta la famiglia.

Per maggiori informazioni e download visitate il seguente sito Cave Story+ (epicgames.com) 

venerdì 4 dicembre 2020

Asp.Net control selected jQuery get value of select onChange

L'evento change in Jquery permette di rilevare l'evento nel momento in cui si seleziona un elemento in un controllo list o dropdownlist, le caselle combinate.

Qui di seguito il frammento di codice

$(document).ready(function () {
 
    $("#DdlNomeControllo").change(function () {
        MiaFunzione(this.value);
      
    });
  

});

giovedì 3 dicembre 2020

The provided URI scheme 'https' is invalid; expected 'http'. Parameter name: via

Durante lo sviluppo di applicazioni, può capitare che utilizzando un servizio web di tipo WCF, che richiede credenziali e soprattutto una connessione protetta di tipo https, il file di configurazione va impostato con i parametri di tale connessione. In particolare il securitymode impostato a Transport ed i vari sotto tag.

Questo per evitare che generi il seguente errore

The provided URI scheme 'https' is invalid; expected 'http'.

Parameter name: via

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.


Exception Details: System.ArgumentException: The provided URI scheme 'https' is invalid; expected 'http'.

Parameter name: via




Qui di seguito il file Webconfig con i dovuti accorgimenti tra cui valore "Windows" per il parametro ClientCredentialType. Vedere anche il seguente post https://emanuelemattei.blogspot.com/2018/06/c-schema-uri-fornito-https-non-valido.html 



<bindings>

      <basicHttpBinding>

        <binding name="NomeWebServicePortBinding" receiveTimeout="00:10:00" sendTimeout="00:10:00"

            maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom">

          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"

                maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />

          <security mode="Transport">

            <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />

            <message clientCredentialType="Certificate" algorithmSuite="Default" />

          </security>

        </binding>

      </basicHttpBinding>

    </bindings>

mercoledì 2 dicembre 2020

Download gioco gratuito MudRunner

 



Fino al 3 dicembre 2020 è possibile scaricare gratuitamente il gioco MudRunner, in versione italiana per sistemi operativi Windows.

Il gioco è disponibile gratuitamente e senza limitazioni.

Per maggiori informazioni e download visitate il seguente sito Mudrunner - MudRunner (epicgames.com)

Download Uno Platform Solution Templates

Dal Marketplace di Visual Studio è possibile scaricare il componente aggiuntivo per Visual Studio Uno Platform che permette la creazione di applicazioni per vari ambienti, quali Windows, Linux, Mac ed Android.

Qui https://marketplace.visualstudio.com/items?itemName=nventivecorp.uno-platform-addin il componente.


martedì 1 dicembre 2020

Hosting gratuito Asp.Net Core

Non è facile trovare sul web aziende che offrono spazio web gratuito con caratteristiche particolari o meglio innovative come l'utilizzo della tecnologia Asp.Net Core, o Asp.Net Core MVC con database Sql Server o Microsoft Access.

Dal seguente sito https://somee.com/DOKA/DOC/DOProductDetails.aspx?docode=false&pid=100000000036 la possibilità di avere uno spazio web gratuito che supporti tale caratteristiche.

Il sito è in lingua inglese

lunedì 30 novembre 2020

C# Regex espressione regolare per validare email con separatore ; e ,

Se vogliamo validare una serie di indirizzi email, inseriti per esempio in una casella di testo, separati dal carattere ";"  o ",", tramite la classe Regex è l'espressione regolare qui di seguito, possiamo validare ciò.

Qui di seguito il frammento di codice.

string espressioneEmail = @"^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[;,]{0,1}\s*)+$";

bool valido = Regex.IsMatch(textBox1.Text, espressioneEmail);



MessageBox.Show(valido.ToString());

domenica 29 novembre 2020

.Net neoaxis componente gratuito per la creazione di video giochi

 


Dal seguente sito https://www.neoaxis.com/ è possibile scaricare gratuitamente un componente gratuito per la creazione di video giochi. Il componente permette di supportare i programmatori nella creazione di video giochi con tecnologia .Net.

Nel sito sono presenti anche tutorial.


sabato 28 novembre 2020

Download ebook AngularDart



Dal seguente sito Free Ebook - AngularDart Succinctly (syncfusion.com) è disponibile un ebook in lingua inglese di circa 110 pagine che spiega le basi nell'utilizzare il Framework AngularDart.

Per il download e maggiori informazioni visitate il sito indicato.

venerdì 27 novembre 2020

Download gratuito gioco MudRunner

Fino al 3 dicembre 2020 è possibile scaricare gratuitamente il gioco MudRunner, un gioco di guida per sistemi operativi Windows ed in lingua italiana.

Il gioco è senza limitazioni.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/product/mudrunner/home

giovedì 26 novembre 2020

.Net Creazione di video giochi

 



Una serie di contenuti per iniziare a sviluppare o meglio creare video giochi con la tecnologia .Net

Qui https://devblogs.microsoft.com/dotnet/choose-a-net-game-engine/ un post con vari riferimenti sui vari componenti gratuiti, mentre qui https://devblogs.microsoft.com/dotnet/game-development-with-net/ altro post sullo sviluppo dei video giochi.

Qui https://dotnet.microsoft.com/apps/games?WT.mc_id=gamedev-blog-abhamed il nuovo portale per la creazione dei video giochi, mentre qui https://dotnet.microsoft.com/learn/games?WT.mc_id=gamedev-blog-abhamed l'area formativa qui https://dotnet.microsoft.com/learn/games/unity-tutorial/intro?WT.mc_id=gamedev-blog-abhamed l'area formativa Unity.


Che dire, buona programmazione.

mercoledì 25 novembre 2020

Strumento online convertire un file pdf in word

 Altro sito interessante, che può tornare utile in certi contesti.

Dal seguente sito https://www.pdftowordconverter.org/ è possibile utilizzare uno strumento online, gratuito e senza dare la propria email o registrarsi, per convertire file pdf in formato Word.

Anche se il sito è in lingua inglese è facilmente utilizzabile.


martedì 24 novembre 2020

Strumento online per comprimere file Javascript

 Dal seguente sito https://jscompress.com/ è possibile generare i file .min, ossia file Javascript compressi.

Dopo aver copiato il codice sorgente di un file Javascript o caricato il file stesso, sarà possibile generare il file compresso, ridotto.



lunedì 23 novembre 2020

c# format string with zeros

 Utilizzando la funzione PadLeft o PadRight, vengono inseriti tanti zeri a sinistra o destra in una stringa quanto i valori mancanti.

Supponiamo di avere una variabile di tipo string, di lunghezza 6 caratteri , se abbiamo 6 caratteri non verranno aggiunti zero, altrimenti tanti zeri quanto sono i caratteri che mancano.

Nel frammento qui di seguito, tramite la funzione PadLeft vengono aggiunti i vari zeri o nessuno.


Nel caso che è il valore è "123456" nessuno 0 viene aggiunto.

Oggetto.ProprietaString.PadLeft(6,'0')

Nel caso che il valore è "34567"

Oggetto.ProprietaString.PadLeft(6,'0')  

Il valore restituito sarà "0345672

Nel caso che il valore della proprietà è "3456"

 Oggetto.ProprietaString.PadLeft(6,'0')   

Viene restituito "003456" 

domenica 22 novembre 2020

Download gratuito gioco The World Next Door

 



Fino al 26 novembre 2020 è possibile scaricare gratuitamente e senza limitazioni il gioco The World Next Door per sistema operativo Windows ed in lingua inglese.

Dal seguente sito https://www.epicgames.com/store/it/product/the-world-next-door/home il download e maggiori informazioni.


sabato 21 novembre 2020

Download gioco Elite Dangerous

 



Fino al 26 novembre 2020 è possibile scaricare gratuitamente il gioco Elite Dangerous per piattaforma Windows.

Il gioco non è in lingua italiana.

Per il download e maggiori informazioni visitate il seguente sito https://www.epicgames.com/store/it/product/elite-dangerous/home 

venerdì 20 novembre 2020

C# regex regular express multi email separator ,

Se vogliamo verificare indirizzi email multipli separati con la virgola, il frammento di codice di qui seguito verifica ciò

string espressioneEmail = @"^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[,]{0,1}\s*)+$";

bool valido = Regex.IsMatch(textBox1.Text, espressioneEmail);



MessageBox.Show(valido.ToString());


mercoledì 18 novembre 2020

Asp.Net Jquery ordinamento dropdowlist

 Nel caso che si vuole ordinare gli elementi di un controllo di tipo DropDownlist, ossia un Select, il frammento di codice qui di seguito illustra una tecnica in Jquery con la selezione al primo elemento.


  $("#NomeDropDownList").html($('#NomeDropDownListoption').sort(function (x, y) {

                return $(x).val() < $(y).val() ? -1 : 1;

            }))

            $("#NomeDropDownList").get(0).selectedIndex = 0;

martedì 17 novembre 2020

Asp.Net C# Populating dropdownlist using Jquery

Il frammento di codice qui di seguito illustra una tecnica di come popolare un controllo dropodownlist tramite Jquery da un oggetto di tipo dictionary

success: function (response) // Dati ricevuti
        {
            $.each(response, function (key, val) {
                var html = '<option value="' + key + '">' + val + '</option>'
                $("#DdlControllo").append(html);
                
            })

        }

lunedì 16 novembre 2020

Asp.Net jQuery get value of select onChange

Il frammento di codice qui di seguito, illustra una tecnica di come rilevare il valore di un elemento selezionato di un controllo Select o dropdownlist tramite Jquery in Asp.Net

$(document).ready(function () {
 
    $("#DdlNomeControllo").change(function () {
        MiaFunzione(this.value);
      
    });
  

});

domenica 15 novembre 2020

Download gratuito ebook Blazor WebAssembly

Un ebook in formato pdf o per sistemi mobile in lingua inglese di circa 100 pagine per avvicinare il lettore all'utilizzo del nuovo Framework Blazor.

Il libro è scaricabile gratuitamente previa il possesso di un account, attivabile gratuitamente.

Per maggiori informazioni e download visitate il seguente sito https://www.syncfusion.com/ebooks/blazor_webassembly_succinctly

sabato 14 novembre 2020

.Net Uno Platform programma multi piattaforma

 Uno Platform è un add-in per Visual Studio 2017 e Visual Studio 2019 che permette la creazione di applicazioni multi piattaforma per ambienti Windows, Linux, Android e Mac.

Dal sito ufficiale qui https://platform.uno/ è possibile consultare la documentazione ed altre informazioni utili,  mentre qui il tutorial https://platform.uno/docs/articles/get-started-vs.html 

Il componente è gratuito per il Marketplace di Visual Studio, visibile qui https://marketplace.visualstudio.com/items?itemName=nventivecorp.uno-platform-addin

venerdì 13 novembre 2020

download gioco gratuito The Textorcist: The Story of Ray Bibbia


 

Fino al 19 novembre 2020 è possibile scaricare il gioco The textorcist: The Story of Ray Bibbia, in lingua inglese e per sistema operativo gratuitamente e senza limitazioni.

Per il download e maggiori informazioni visitate il seguente sito https://www.epicgames.com/store/it/product/the-textorcist/home 

giovedì 12 novembre 2020

Javascript chart componente gratuito per fare i grafici

Dal seguente sito https://www.chartjs.org/ è possibile scaricare un componente gratuito per la creazione di grafici per siti, il tutto in ambito Javascript.

Il componente offre numerosi modelli di grafici.

Per il download e maggiori informazioni visitate il sito indicato.

mercoledì 11 novembre 2020

Rilasciato .Net 5

Rilasciate da poche ore la versione 5 del Framework .Net, quella che porterà il cambiamento nello sviluppo di applicazione.

Come annunciato dal seguente sito https://devblogs.microsoft.com/dotnet/announcing-net-5-0/  novità per tutti gli sviluppatori .Net, e con questo rilascio, ci sono novità anche per lo sviluppo web come Asp.Net, qui https://devblogs.microsoft.com/aspnet/announcing-asp-net-core-in-net-5/ e Entity Framework, come riportato qui https://devblogs.microsoft.com/dotnet/announcing-the-release-of-ef-core-5-0/ .

Insomma tante novità per lo sviluppo software.

martedì 10 novembre 2020

C# Regex espressione regolare su indirizzi email multipli

Il frammento di codice qui di seguito, illustra una tecnica di come verificare se una serie di indirizzi email inseriti in una casella email sono validi. Gli indirizzi email, devono essere separati dal carattere ";".

string espressioneEmail = @"^((\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)\s*[;]{0,1}\s*)+$";

bool valido = Regex.IsMatch(textBox1.Text, espressioneEmail);



MessageBox.Show(valido.ToString());

lunedì 9 novembre 2020

C# .Net convertire una pagina web in un file PDF

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_c-convertire-una-pagina-web-in-un-file-pdf_1720.aspx 

 

In questo articolo vedremo come trasformare una pagina web, ossia codice html in un file Pdf, oppure dato un certo indirizzo web convertirlo in un file PDF.
Utilizzeremo il componente gratuito “Select.html.PDF” qui https://www.nuget.org/packages/Select.HtmlToPdf/ il sito, mentre qui https://selectpdf.com/community-edition/ il sito riguardante il componente gratuito.
 

Creazione del progetto

Si crea un nuovo progetto di tipo Web, ricordando che il codice è utilizzabile anche per progetti di tipo windows application.
Dopo aver creato un progetto di tipo Asp.Net Web Form, o comunque sempre web, aggiungiamo un pulsante, con il quale andremo ed esportare in formato pdf, la home page del sito “www.iprogrammatori.it “.
Prima di passare a scrivere il codice, dobbiamo aggiungere tra i riferimenti il componente gratuito per l’esportazione di pagine web in formato PDF.
Dalla finestra Nuget (strumenti->Gestione Pacchetti Nuget->Console di Gestione pacchetti) scrivere la seguente istruzione.


Install-Package Select.HtmlToPdf -Version 20.1.0


Nel momento in cui si sta scrivendo l’articolo l’ultima versione è la 20.1.0


Stesura del codice


Ora non ci resta che scrivere il codice per trasformare la pagina di un sito in un file pdf.
Nel nostro caso si crea una file pdf, dalla home page del portale www.iprogrammatori.it
Facciamo doppio click sul pulsante in questo modo verrà visualizzata la modalità codice dell’evento click del pulsante.
Le classi che utilizzeremo sono HtmlToPdf per convertire codice Html o un sito, e la classe PdfDocument per la generazione dei file in formato PDf.
Qui di seguito il frammento di codice che dato un sito crea un file pdf della pagina (in questo caso home page) del sito che viene passato.

C#

 protected void BtnEsporta_Click(object sender, EventArgs e)

        {

            SelectPdf.HtmlToPdf sitoDaTrasformare = new SelectPdf.HtmlToPdf();

            SelectPdf.PdfDocument filePdf = sitoDaTrasformare.ConvertUrl("www.iprogrammatori.it");

            //filePdf.Save(@"C:\Varie\test.pdf");

            filePdf.Save(Response, false, "test.pdf");

            filePdf.Close();

        }

Come si è visto dal precedente codice tramite il metodo “ConvertURl” della classe HtmlToPdf si converte la home page del sito iprogrammatori in un file pdf passandolo ad un oggetto di tipo PdfDocumenti.
Tramite il metodo “Save” della classe PdfDocument, possiamo salvarlo in un percorso, oppure effettuare il download del file dal proprio browser.

Ritorniamo in visualizza grafica ed aggiungiamo un altro pulsante.
Vedremo come trasformare il codice html della propria pagina, in un file pdf.
Facciamo doppio click sul pulsante appena inserito nella pagina in questo modo si passa in visualizzazione codice nell’evento click del pulsante.

Prima di scrivere il codice dobbiamo inserire lo spazio dei nomi per le classi che devono gestire il codice html.
In particolare la classe webclient per estrapolare il codice html e la classe econding per la gestione del testo.
Qui di seguito le dichiarazioni dello spazio dei nomi.

using System.Text;

using System.Net;

Ritorniamo nell’evento click del pulsante e scriviamo il codice che permette di estrapolare il markup html della pagina in cui sta girando il nostro sito e di convertire il tutto in un file pdf, prendendo spunto dal codice precedente per le classi per la gestione della conversione in file pdf.
Qui di seguito il codice completo per l’evento click del pulsante.

C#

  protected void BtnDaCodiceHtml_Click(object sender, EventArgs e)

        {

             WebClient ClientWeb = new  WebClient();

            string CodiceHtml = "";

            byte[] requestHTML;

           

            string PaginaCorrente = Request.Url.ToString();

 

            UTF8Encoding utf8 = new UTF8Encoding();

 

 

            requestHTML = ClientWeb.DownloadData(PaginaCorrente);

 

            CodiceHtml = utf8.GetString(requestHTML);

            SelectPdf.HtmlToPdf CodiceHtmlDaConvertire = new SelectPdf.HtmlToPdf();

            SelectPdf.PdfDocument filePdf = CodiceHtmlDaConvertire.ConvertHtmlString(CodiceHtml, PaginaCorrente);

            filePdf.Save(Response, false, "test.pdf");

            filePdf.Close();

        }

Con la classe Webclient, ricaviamo il codice html della pagina, la quale viene utilizzata nel metodo ConvertHtmlString, con un secondo parametro riguardante il sito, in modo che rileva anche i fogli di stili e le relative immagini.


Conclusioni

L’articolo ha voluto fornire al lettore l’introduzione di questo componente gratuito per trasformare pagine e siti web in file pdf. Le funzionalità di questo componente offre al programmatore diverse scenari per lavorare anche su altri aspetti del file, come la larghezza, pagine ed altro ancora. Un componente flessibile e che offre in maniera semplice ed agevolata la scrittura del codice su operazioni anche complesse.

domenica 8 novembre 2020

Download gratuito gioco Dungeons 3


 

Un gioco per il solo pubblico adulto (per maggiorenni) disponibile gratuitamente fino al 12 novembre 2020 dalla piattaforma epicagame.

Il gioco Dungeons 3 è un gioco di strategia, per sistemi operativi Windows 10 ed in lingua italiana.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/product/dungeons-3/home 

sabato 7 novembre 2020

download ebook Lavoro da remoto - Vademecum delle policy di sicurezza per le organizzazioni

thumbnail


Interessante ebook sulla sicurezza informatica per chi in questo periodo sta lavorando in Smart Working.
Il libro in lingua italiana scaricabile gratuitamente è stato  realizzato dal Consiglio dei Ministri, per fornire interessanti informazioni sull'uso adeguato e sicuro delle varie postazioni di lavoro.
L'ebook di circa 15 pagine in formato pdf, può essere scaricato dal seguente sito https://csirt.gov.it/contenuti/lavoro-da-remoto-vademecum-delle-policy-di-sicurezza-per-le-organizzazioni

venerdì 6 novembre 2020

.Net creazione di video giochi tools e componenti

Per coloro che sono alla ricerca di componenti gratuiti per lo sviluppo di video giochi oppure di Tools, sempre in ambito del Framework .Net, nel seguente post https://devblogs.microsoft.com/dotnet/choose-a-net-game-engine/ possono trovare interessanti risorse.

Strumenti per facilitare lo sviluppo di video giochi con la tecnologia .Net

giovedì 5 novembre 2020

Editor online pdf gratuito

Dal seguente sito https://www.jotform.com/products/smart-pdf-forms/ uno strumento gratuito ed in lingua inglese, con il quale è possibile compilare i file pdf, dopo averli caricati.
Il sito, permette di impostare nei file pdf che vengono caricati, delle aree editabili con il quale una volta impostato è possibile scrivere del testo.

mercoledì 4 novembre 2020

Download karaoke5

Dal seguente sito https://www.karaoke5.it/ potete scaricare il programma gratuito Karaoke5 in lingua italiana.
Per maggiori informazioni e download visitate la pagina indicata.

martedì 3 novembre 2020

Download antivirus gratuito comodo

Se cercate un antivirus gratuito, è possibile scaricare tra le varie versioni, anche quella gratuita di Comodo, qui https://antivirus.comodo.com/ il sito.

Per maggiori informazioni e download visitate il sito indicato.

lunedì 2 novembre 2020

Download gratuito Kaspersky Security Cloud

Kaspersky azienda leader mondiale della protezione dei sistemi informatici, tra i vari prodotti anche un antivirus per il proprio pc gratuito.
Il programma Kaspersky Security Cloud free scaricabile qui https://www.kaspersky.it/free-cloud-antivirus in lingua italiana, offre la protezione del proprio pc gratuitamente ma con meno funzionalità della versione a pagamento.
Per maggiori informazioni ed altro visitate il sito indicato.

domenica 1 novembre 2020

Download gratuito gioco Ghostbusters: The Video Game Remastered


 

 

Il famosissimo gioco Ghostbusters, torna con una nuova avventura.
Fino al 5 novembre 2020 si potrà scaricare gratuitamente e senza limitazioni Ghostbusters: The Video Game Remastered, in lingua italiana e per sistemi operativi Windows 10.
Per maggiori informazioni e download, visitate il seguente sito https://www.epicgames.com/store/it/product/ghostbusters-the-video-game-remastered/home

sabato 31 ottobre 2020

Download gratuito gioco Blair Witch


 

Fino al 5 novembre 2020 è possibile scaricare il gioco di horror per un pubblico adulti Blair Witch.

Il gioco per sistemi Windows e in lingua italiano, si può scaricare senza limitazioni entro il 5 novembre.

Per maggiori informazioni e download visitate il seguente sito https://www.epicgames.com/store/it/product/blair-witch/home

venerdì 30 ottobre 2020

C# Regex replace space con altro carattere

Nel frammento di codice qui di seguito tramite C#, l'espressione regolare per togliere lo spazio con il simbolo chiocciola.

string testo= "testo - con - tanti-trattini-da-togliere";

string risultatoTesto = Regex.Replace(testo, "\\s+", "@");



MessageBox.Show(risultatoTesto);

giovedì 29 ottobre 2020

C# Game Engine Open-source

Se cercate un componente gratuito per la creazione di video giochi, dal seguente sito https://stride3d.net/ potete scaricare Stride 3D che agevola il programmatore nello sviluppo di video giochi 3D.

Il sito in lingua inglese, è presente anche la documentazione.

Per il download e maggiori informazioni visitate il sito indicato.

mercoledì 28 ottobre 2020

Visual Studio inserimento multiplo su più righe codice

Interessante funzionalità in Visual Studio (testato su 2017 e 2019) che permette di inserire lo stesso testo su più parti di righe di codice di un file.
Tenendo premuto la combinazione di tasti "ALT" + "CTRL" e click del mouse nelle righe di proprio interesse, permette di avere il cursore in varie parti del file, con il quale digitando del testo verrà ripetuto per i vari click fatti nella visualizzazione codice. In questo modo si evita di ripetere lo stesso codice su più parti.

martedì 27 ottobre 2020

Maker Faire Roma 2020 l’evento on line sull'innovazione a 360 gradi da non perdere

Torna a Roma il Maker Faire https://makerfairerome.eu/it/ , quest’anno un’edizione particolare visto la situazione della pandemia sul Coronavirus, proprio questa ottava edizione sarà svolta online ed è gratuita per tutti.

Una manifestazione che in questi anni ha visto una crescente attenzione e partecipazione da parte di un pubblico interessato ad un'offerta di contenuti interessante per studenti, docenti, aspiranti imprenditori, professionisti e startup .

Per maggiori informazioni anche sugli interessanti contest visitate il seguente sito https://makerfairerome.eu/it/

 

lunedì 26 ottobre 2020

Scansione online dei virus sui file

Se cercate un antivirus online per effettuare la scansione di alcuni file sia sul pc che online dal seguente sito https://www.virustotal.com/gui/ è possibile utilizzare il servizio gratuito.

E' possibile segnalare i file del proprio pc, o della chiavetta o hard disk, oppure quelli presenti online indicando l'indirizzo web.

Il sito è in lingua inglese ma facilmente utilizzabile.

domenica 25 ottobre 2020

Siti di informazione tecnologica guideitech

Oggi segnalo un sito costantemente aggiornato nel quale trovare informazioni e notizie, ma soprattutto guide, sulla tecnologia.

Il sito https://www.guideitech.com/ in lingua italiana fornisce costantemente delle guide e tutorial su diversi ambiti relativi alla tecnologia.

 

sabato 24 ottobre 2020

download gioco gratuito Layers of Fear 2


 

Fino al 29 ottobre 2020 è possibile scaricare gratuitamente e senza limitazioni il gioco Layers Of Fear 2.

Si ricorda che il gioco, per piattaforma Windows ed in lingua italiana è per un pubblico maggiorenne.

Per maggiori informazioni e download vistate il seguente sito https://www.epicgames.com/store/it/product/layers-of-fear-2/home

venerdì 23 ottobre 2020

Download gratuito gioco costume Quest 2


 

Fino al 29 ottobre 2020 è possibile scaricare il gioco gratuito per sistemi operativi Windows "Costume Quest 2" non in lingua italiana dal seguente sito https://www.epicgames.com/store/it/product/costume-quest-2/home 

Per il download e maggiori informazioni visitate il sito indicato.

giovedì 22 ottobre 2020

.Net La gestione del database SQLite con operazioni CRUD con C#

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_la-gestione-del-database-sqlite-con-operazioni-crud_1719.aspx

 

In questo articolo vedremo come utilizzare il database SQLite in ambito Windows Application con il linguaggio di programmazione C# e la versione di .Net 4.8 con l’ambiente di sviluppo Microsoft Visual Studio community 2019.
In particolare prendendo spunto dall’articolo precedente qui https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_net-utilizzo-del-database-sqlite-in-windows-application_1717.aspx nel quale veniva fatta l’introduzione di questo database, in questo articolo vedremo le operazioni di Inserimento, Cancellazione, modifica e Lettura, le cosiddette operazioni CRUD.

Il database SQLite può tornare utile anche nelle applicazioni per smarthpone, ma in questo articolo vedremo come semplifica il rilascio in varie postazioni.


Creazione del progetto CRUD per SQLite

Si crea un nuovo progetto di tipo Windows application, selezionando il linguaggio di programmazione C#.
Tralasciando l’installazione e l’aggiunta di componenti per la gestione del database SQLite, che sono riportati in questo https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_net-utilizzo-del-database-sqlite-in-windows-application_1717.aspx precedente articolo, vedremo come gestire le operazioni CRUD.
Inseriamo nella form, un controllo di tipo Datagridview, che visualizzerà i dati, due caselle di testo, con il quale andiamo ad impostare il valore o modificare, due controlli label per mettere il titolo alle caselle e tre controlli di tipo button, con in quale si andrà a fare le seguenti operazioni, inserimento, modifica e cancellazione, il tutto come mostrato in figura 1.

Figura 1 – La form con i vari controlli

Come database e tabelle, faremo riferimento a quello del precedente articolo, con la tabella anagrafica composto da tre colonne, quali ID, che è l’identificativo di tipo autoincrement, nome e cognome.

A questo punto tramite Entity Framework, aggiungiamo il modello.

Stesura del codice


Vedremo in questi passi come creare il codice per effettuare le operazioni comuni sulla gestione dei dati, nel precedente articolo si è visto come caricare i dati, che ripeteremo anche qui.
Passiamo in visualizzazione codice, nella classe in una qualunque parte, inseriamo una funzione per il caricamento dati.
Qui di seguito l’esempio di codice delle suddette operazioni.

private void CaricaDati()

        {

            try

            {

                mainEntities entita = new mainEntities();

                var risultato = (from Dati in entita.Anagrafica select Dati).ToList();

                DtgDati.DataSource = risultato;

            }

            catch (Exception ex)

            {

                MessageBox.Show(ex.Message);

            }

        }

Ora passiamo in visualizzazione codice e facciamo doppio click sulla form in modo da passare in visualizzazione codice nell’evento LOAD.

In questo evento dobbiamo richiamare la funzione appena creata, qui di seguito il frammento di codice.

private void Form1_Load(object sender, EventArgs e)

        {

            CaricaDati();

        }

Terminata questa parte, andiamo in visualizzazione grafica della nostra form, e facciamo doppio click sul pulsante “Inserisci” in questo modo si passerà all’evento click del pulsante.
Il codice è molto semplice e riguarda la possibilità di creare un nuovo oggetto Anagrafica ed aggiungerlo alla classe Anagrafica.
Qui di seguito il frammento di codice delle operazioni, per l’inserimento di un record.

  private void btnNuovo_Click(object sender, EventArgs e)

        {

            try

            {

 

                Anagrafica NuovaAnagrafica = new Anagrafica();

                NuovaAnagrafica.Nome = TxtNome.Text;

                NuovaAnagrafica.Cognome = TxtCognome.Text;

                  mainEntities entita = new mainEntities();

                entita.Anagrafica.Add(NuovaAnagrafica);

                entita.SaveChanges();

                TxtNome.Text = "";

                TxtCognome.Text = "";

                CaricaDati();

            }

            catch (Exception ex)

            {

 

                MessageBox.Show("Errore: " + ex.Message);

            }

        }

Da notare che quando si crea la tabella, con un campo ID chiave, questo dev’essere autoincrement, in modo che non bisogna impostare il valore, altrimenti verrà generato un errore.
Possiamo eseguire il nostro frammento di codice e verificare se l’inserimento avviene correttamente.
Dalla visualizzazione grafica, facciamo doppio click sul pulsante “Elimina” in modo che passiamo in visualizzazione codice nell’evento click del pulsante.
Verifichiamo se è stato selezionato un record, in caso di no, visualizza un messaggio, altrimenti chiediamo all’utente se è certo.
La cancellazione del record avviene tramite il metodo “Remove” della tabella, selezionando il dato tramite il campo chiave.
Qui di seguito le suddette operazioni.

private void BtnElimina_Click(object sender, EventArgs e)

        {

            if (DtgDati.SelectedRows.Count < 1)

            {

                MessageBox.Show("Selezionare almeno un record");

                return;

            }

            if (MessageBox.Show("Si è certi di voler eliminare il record selezionato?", "", MessageBoxButtons.YesNo) == DialogResult.Yes)

            {

                try

                {

 

 

                    mainEntities entita = new mainEntities();

                    Int32 idRecord = Convert.ToInt32(DtgDati.SelectedRows[0].Cells[0].Value);

 

 

                    var risultato = (from Dati in entita.Anagrafica where Dati.Id == idRecord select Dati).FirstOrDefault();

                    entita.Anagrafica.Remove(risultato);

                    entita.SaveChanges();

                    CaricaDati();

                }

                catch (Exception ex)

                {

                    MessageBox.Show("Errore: " + ex.Message);

                }

            }

        }

Ora eseguiamo il nostro codice e verifichiamo che tutto funziona correttamente.
Passiamo in visualizzazione grafica della nostra form, dobbiamo intercettare l’evento di selezione riga del controllo datagrid, in modo che i dati vengono copiati nelle caselle di testo.
Per l’evento “SelectionChanged” nella finestra proprietà, facciamo doppio click, in modo che visualizza la parte di codice, in questo evento andremo a copiare i dati selezionati nelle caselle.

private void DtgDati_SelectionChanged(object sender, EventArgs e)

        {

            if (DtgDati.SelectedRows.Count > 0)

            {

                TxtCognome.Text = DtgDati.SelectedRows[0].Cells[1].Value.ToString();

                TxtNome.Text = DtgDati.SelectedRows[0].Cells[2].Value.ToString();

            }

 

        }

Ora non ci resta che passare in visualizzazione grafica e fare doppio click sul pulsante “Modifica” in modo che passiamo in visualizzazione codice nell’evento click del pulsante.
In questo evento, scriviamo il codice per modifica i dati.
Dopo aver selezionato l’oggetto con il campo id chiave, si impostano le proprietà e tramite il metodo “SaveChange” dell’oggetto entity salveremo il dato.
Qui di seguito l’esempio di codice delle suddette operazioni.

private void BtnModifica_Click(object sender, EventArgs e)

        {

            if (DtgDati.SelectedRows.Count > 0)

            {

                try

                {

 

 

                    Int32 idRecord = Convert.ToInt32(DtgDati.SelectedRows[0].Cells[0].Value);

                    mainEntities entita = new mainEntities();

 

                    var AnagraficaTrovata = entita.Anagrafica.Where(p => p.Id == idRecord).FirstOrDefault();

                    AnagraficaTrovata.Nome = TxtNome.Text;

                    AnagraficaTrovata.Cognome = TxtCognome.Text;

                    entita.SaveChanges();

                    CaricaDati();

 

                }

                catch (Exception ex)

                {

                    MessageBox.Show("Errore: " + ex.Message);

                }

               

            }

        }

Ora non resta che eseguire il nostro applicativo per effettuare tutte le operazioni di inserimento, modifica e cancellazione.

Conclusioni

Il database Sqlite, può tornare utile in molti contesti, soprattutto per applicazioni Windows Application, nel quale si vuole facilitare la distribuzione del programma, ad un utenza che ha poca dimestichezza con le tecnologie.
Un database che a differenza di tanti altri, non necessità di installazione server o comunque di altro software visto che è tutto racchiuso nel file di tipo .db.