lunedì 27 luglio 2026

C# rilevare la data di creazione e modifica di un file

Il frammento di codice qui di seguito, nel linguaggio di programmazione C#, in un progetto Windows Forms, permette di rilevare la data di creazione e modifica di un file.


C#

private void BtnRilevaDataFile_Click(object sender, EventArgs e)

 {

     try

     {

         string percorso = @"c:\varie\ucellino.jpg";

         if (!File.Exists(percorso))

         {

             return;

         }

 

         DateTime dataCreazione = File.GetCreationTime(percorso);

 

         DateTime dataModifica = File.GetLastWriteTime(percorso);

 

         MessageBox.Show("File Creato: " + dataCreazione);

 

         MessageBox.Show("File Modificato: " + dataModifica);

 

     }

     catch (IOException exio)

     {

         MessageBox.Show(exio.Message);

     }

     catch (Exception ex)

     {

         MessageBox.Show(ex.Message);

     }

 }


domenica 26 luglio 2026

download gratuito gioco Amiko Arena

 

video gioco amiko arena

Da qualche giorno è disponibile un video gioco per sistemi operativi Windows, di tipo avventura, adatto a bambini e non solo.

Il gioco, offre una giocabilità molto carina. 

Per maggiori informazioni e per il download gratuito, visitate il seguente sito https://store.epicgames.com/p/amiko-arena-a5986d

sabato 25 luglio 2026

Microsoft Outlook: come programmare l'invio di un'email

 


In questo articolo vedremo come programmare l'invio di un'email a un determinato orario o anche in un giorno specifico utilizzando Microsoft Outlook.

Può capitare di avere la necessità di inviare un'email a una certa ora o in una determinata data. Grazie alle funzionalità offerte da Microsoft Outlook, è possibile pianificare l'invio del messaggio in modo semplice e veloce.

Dopo aver creato un nuovo messaggio, inserito il destinatario (o i destinatari), l'oggetto, il testo ed eventuali allegati, facciamo clic sulla scheda Opzioni, dove troveremo diversi pulsanti, come mostrato nella figura 1.





Figura 1 - I pulsanti del menu opzioni.


Facciamo clic sul pulsante "Ritarda recapito", contraddistinto dall'icona di una busta con un orologio, come mostrato nella figura 1.

Facendo clic su questo pulsante, verrà aperta una finestra (figura 2) suddivisa in varie sezioni. Tra queste, la sezione "Opzioni di recapito" ci permette di impostare il giorno e l'ora in cui verrà inviata l'email.

Se desideriamo inviare l'email nello stesso giorno, possiamo lasciare la data proposta, che corrisponde a quella odierna, e impostare l'orario desiderato.

Una volta configurate le opzioni di invio, facciamo clic sul pulsante "Chiudi".

 


Figura 2 - La finestra per le opzioni di invio 

Dopo aver fatto clic sul pulsante Chiudi, il pulsante "Ritarda recapito" verrà evidenziato con uno sfondo grigio, come mostrato nella figura 3.

 




Figura 3 - Il pulsante ritarda recapito, che evidenzia l'impostazione di ritardo

Ora non resta che inviare l'email facendo clic sul pulsante Invia. Il messaggio rimarrà nella cartella Posta in uscita fino al giorno e all'orario impostati, dopodiché verrà inviato automaticamente.


Conclusioni

In questo articolo abbiamo visto una funzionalità molto utile di Microsoft Outlook, che consente di programmare l'invio delle email in una data e a un orario prestabiliti. Si tratta di una funzione particolarmente pratica quando si desidera che un messaggio venga recapitato in un momento preciso, senza dover essere presenti davanti al computer.

venerdì 24 luglio 2026

Terminato il progetto Lupo, per il download delle immagini del motore di ricerca Bing

 

Programma lupo

Terminato in questi giorni il progetto Lupo, qui https://github.com/Emanuele2025/Lupo il repository, che permette di scaricare le immagini di sfondo del motore di ricerca Bing.

Il progetto è interamente realizzato nel linguaggio di programmazione C# e di tipo Windows Forms.

giovedì 23 luglio 2026

C# Windows Forms, selezionare tramite un menu contestuale contexmenustrip le righe che hanno il valore uguale di una determinata colonna di un controllo datagridview

Il frammento di codice riportato di seguito mostra come selezionare, tramite una voce del menu contestuale di un controllo DataGridView, tutte le righe che contengono lo stesso valore in una determinata colonna.

In questo esempio, la colonna di riferimento si chiama "Nome". Facendo clic con il tasto destro su una cella e scegliendo la voce del menu contestuale, verranno selezionate tutte le righe che hanno lo stesso valore nella colonna Nome.

Per prima cosa, a livello di form, dichiariamo una variabile che conterrà il valore della cella sulla quale viene eseguito il clic con il tasto destro.

Di seguito la dichiarazione della variabile.

 

C#

string testoSel = "";



Successivamente, nell'evento CellMouseDown del controllo DataGridView, scriviamo il codice che intercetta il clic con il tasto destro, seleziona la riga corrente e memorizza nella variabile il valore della colonna Nome.

Di seguito il codice.

 

C#

private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)

{

    //Verifico il tasto detro e se non ha fatto click nell'intestazione delle grafiglia o fuori dalle celle

    if (e.Button != MouseButtons.Right)

        return;

 

    //Escludo intestazioni e griglia

    if (e.RowIndex < 0 || e.ColumnIndex < 0)

        return;

 

    //Rilevo oggetto riga

    var riga = dataGridView1.Rows[e.RowIndex];


    //seleziono la riga dove ho fatto click

    dataGridView1.ClearSelection();

    riga.Selected = true;

           

    testoSel = riga.Cells["Nome"].Value?.ToString();

    //Abilito il menu solo se c'è un valore

    mniSeleziona.Enabled = !string.IsNullOrEmpty(testoSel);

 

 

    contextMenuStrip1.Show(Cursor.Position);

}



Quando l'utente fa clic sulla voce del menu contestuale, il codice scorre tutte le righe della DataGridView e seleziona quelle che hanno lo stesso valore della colonna Nome memorizzato nella variabile testoSel.

Di seguito il codice dell'evento Click della voce di menu.

C#

private void mniSeleziona_Click(object sender, EventArgs e)

{

    if (string.IsNullOrWhiteSpace(testoSel))

        return;

 

 

    foreach (DataGridViewRow row in dataGridView1.Rows)

    {

        string nome = row.Cells["Nome"].Value?.ToString();

 

        if (nome == testoSel)

        {

            row.Selected = true;

        }

    }

}








Con questa tecnica è possibile selezionare rapidamente tutte le righe che condividono lo stesso valore in una determinata colonna. È sufficiente sostituire "Nome" con il nome della colonna desiderata per adattare il codice ad altri scenari.

mercoledì 22 luglio 2026

download video gioco NTE: Neverness to Everness

 

video gioco neverness to everness

Un gioco per sistemi operativi Windows, molto ben fatto e con una grafica curata ed ottima giocabilità.

Parliamo del gioco di avventura NTE: Neverness to Everness, indicato per ragazzi ed adulti.

Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/p/nte-neverness-to-everness-965a32

martedì 21 luglio 2026

C# aprire esplora file selezionando un file

Il frammento di codice riportato di seguito illustra una tecnica, utilizzabile con C# e .NET 10, per aprire Esplora file di Windows e selezionare automaticamente un file specifico.
Il codice, pensato per un progetto Windows Forms, verifica innanzitutto l'esistenza del file e, in caso positivo, avvia Esplora file posizionandosi nella cartella che lo contiene e selezionandolo.


C#

try

{

    string percorsoFileDaAprire = Path.Combine(percorsoCartella, lsbListaFile.SelectedItem?.ToString());

    if (!File.Exists(percorsoFileDaAprire))

    {

        return;

    }

     string argomento = "/select, \"" + percorsoFileDaAprire + "\"";

     System.Diagnostics.Process.Start("explorer.exe", argomento);

}

catch (Exception ex)

{

    Utility.MessaggioErrore(ex.Message);

}


lunedì 20 luglio 2026

Download icone gratuite tabler

 

icone gratuite

Una serie di icone gratuite da utilizzare nei propri progetti anche in ambito commerciale.

Il sito Tabler, qui https://tabler.io/icons il portale di riferimento, offre la possibilità di scaricare immagini gratuitamente, senza registrazione e senza lasciare indirizzo email.

Il sito è in lingua inglese.

domenica 19 luglio 2026

FT: Due milioni di visite e tante pubblicazioni

 

oltre 2 milioni di visitatori

Il blog ha da poco superato i due milioni di visite. È un risultato che mi rende davvero felice, ma ancora di più sapere che questo spazio, nato quasi in punta di piedi, sia stato negli anni utile a tante persone.

In tutto questo tempo, migliaia di lettori sono passati da queste pagine per cercare informazioni sulla tecnologia, approfondimenti, esempi di codice o semplicemente per leggere qualche articolo. In passato ho ricevuto numerose email di complimenti e tanti messaggi da parte di persone che avevano bisogno di una mano con un problema di programmazione o di tecnologia. Ogni volta che sono riuscito ad aiutare qualcuno, ho avuto la conferma che dedicare tempo a questo progetto aveva un senso.

Aiutare gli altri mi ha sempre dato una grande soddisfazione. L'ho fatto senza cercare un ritorno economico o un vantaggio personale. Sapere che un articolo ha permesso a qualcuno di risolvere un problema, imparare qualcosa di nuovo o semplicemente risparmiare tempo è sempre stata la ricompensa più bella.

Con alcuni lettori è nato anche qualcosa di più di un semplice scambio di email. Ho avuto il piacere di conoscerli di persona, sia a Roma, quando hanno visitato la mia città, sia in altre città, quando ci siamo trovati casualmente nello stesso posto. Sono incontri che porto ancora con me con piacere.

Qualcuno, con una generosità che non dimenticherò, ha voluto anche ringraziarmi con un piccolo regalo: un mouse, un portapenne e altri pensieri. Non è mai stato il valore dell'oggetto a colpirmi, ma il gesto. Sono momenti che fanno capire come, anche attraverso uno schermo, possano nascere rapporti sinceri e quanto siano ancora importanti i valori umani.

Negli ultimi anni il modo di cercare informazioni è cambiato. L'intelligenza artificiale e i social network hanno modificato le abitudini di molti utenti e questo si riflette inevitabilmente anche sui blog tecnici. È un'evoluzione naturale della tecnologia, ma non cambia ciò che rappresenta questo spazio per me.

Questo blog continuerà a esistere e continuerò a scrivere. È nato per condividere conoscenza, ma è diventato anche il mio archivio personale: un luogo dove raccolgo esempi di codice, appunti, soluzioni e idee che, nel tempo, si sono rivelati utili sia a me sia a chi è passato di qui. Perché ricordarsi tutto è impossibile, mentre condividere ciò che si è imparato permette a quella conoscenza di continuare a essere utile.

Sono passati tanti anni. Tante mattine, tanti pomeriggi, molte sere e perfino giorni di festa trascorsi a scrivere, provare codice, correggere errori e pubblicare nuovi contenuti. Vedere che quel lavoro continua ancora oggi a essere letto, utilizzato e apprezzato è una soddisfazione enorme.

La cosa che mi rende più orgoglioso è che tutto questo è avvenuto in modo naturale. Non ho mai inseguito i numeri, non ho mai scritto pensando alle visite o agli algoritmi. Ho semplicemente cercato di pubblicare contenuti che potessero essere utili. Se, nel tempo, questo blog è diventato un piccolo punto di riferimento per qualcuno, allora significa che tutto il tempo dedicato a questo progetto è stato ben speso.

Un grazie sincero va a tutti coloro che hanno letto anche solo un articolo, lasciato un commento, inviato un'email o semplicemente trovato una soluzione grazie a queste pagine.

Un grazie speciale va anche alle persone a me care, ai miei familiari in primis, che in tutti questi anni hanno condiviso con me il tempo dedicato a questo progetto. Scrivere con costanza richiede impegno e inevitabilmente significa rinunciare a qualche momento insieme. La loro comprensione e il loro supporto hanno contribuito, anche se indirettamente, a far crescere questo blog.

Due milioni di visite sono un bel traguardo. Ma, più dei numeri, porterò sempre con me le persone incontrate lungo il cammino, i messaggi ricevuti, le storie condivise e la consapevolezza di aver dato, nel mio piccolo, un contributo alla comunità degli sviluppatori.

Ai prossimi articoli... e ai prossimi anni di condivisione.

sabato 18 luglio 2026

download gioco gratuito 3on3 FreeStyle

 

video gioco di basket

Un gioco con una grafica molto accattivante ed ottima giocabilità, parliamo del video gioco 3on3 FreeStyle, da qualche giorno disponibile su piattaforma EpicGames.

Il tema di questo gioco è lo sport, in particolare la disciplina sportiva del basket.

Il gioco è per sistemi operativi Windows.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/p/3on3-freestyle-d79f77

mercoledì 15 luglio 2026

strumento online per la verifica e correzione del codice sorgente grasp

 

verifica codice online


Un altro interessante strumento online per la correzione e l'analisi del codice, che non richiede registrazione né l'inserimento di un indirizzo email. Una risorsa che vale la pena aggiungere ai propri preferiti.

Si tratta di AI Code Fixer di Grasp, disponibile all'indirizzo https://grasp.info/it/tools/ai-code-fixer . Il servizio consente di analizzare gratuitamente il proprio codice sorgente, individuando eventuali errori, bug e possibili miglioramenti, fornendo suggerimenti utili per ottimizzarlo.

L'analisi è dettagliata e, nelle prove effettuate, si è dimostrata accurata e di buona qualità.

Un ulteriore punto a favore è la disponibilità dell'interfaccia completamente in lingua italiana, che rende lo strumento semplice da utilizzare anche per chi preferisce lavorare nella propria lingua.

martedì 14 luglio 2026

C# windows forms, selezionare un valore in un controllo combobox tramite testo

Nel caso che si deve selezionare un elemento in un controllo combobox, in un progetto Windows Forms, tramite linguaggio di programmazione C#, il frammento di codice qui di seguito, illustra una tecnica per la selezione dell'elemento tramite testo.


C#

 if (combobox1.Items.Count>0)

 {

     int indice = combobox1.FindStringExact("Testo");

     if (indice >= 0)

     {

         combobox1.SelectedIndex = indice;

     }

 }

lunedì 13 luglio 2026

Download gioco Misty Forest: The Parkour Game

 

video gioco Misty Forest: The Parkour Game

Disponibile gratuitamente e senza limitazioni, il gioco di strategia Misty Forest: The Parkour Game per sistemi operativi Windows.

Il video gioco, in lingua inglese, è adatto a ragazzi ed adulti.

Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/p/misty-forest-the-parkour-game-bd5a9f

domenica 12 luglio 2026

(In)sicurezza informatica nella Pubblica Amministrazione Italiana: quando l’autenticazione a due fattori non basta

 

immagine due fattori sicurezza informatica
Immagine creata con l'intelligenza artificiale Copilot 


Introduzione

Salvatore, dopo otto anni di lavoro come consulente informatico presso vari enti pubblici della capitale, torna nella sua Sicilia. È il 29 febbraio, giorno che secondo la tradizione italiana porta con sé presagi poco rassicuranti. E infatti, i notiziari di tutta Italia raccontano eventi inquietanti:


- quattro caccia militari precipitati durante le prove,

- un noto mafioso prosciolto perché le prove digitali sono “misteriosamente” scomparse,

- un comune piemontese sommerso dopo il cedimento di una diga,

- contribuenti improvvisamente “a credito” perché i debiti risultano cancellati nei sistemi dell’Agenzia delle Entrate.


Cosa sta succedendo?

Un errore informatico. Un errore costato caro.

Salvatore ha venduto a criminali le chiavi per entrare nei sistemi informativi della Pubblica Amministrazione italiana.


Sembra la trama di un film americano, ma è uno scenario più realistico di quanto si creda.


La PA italiana e il problema delle credenziali condivise

In oltre trent’anni di esperienza nella Pubblica Amministrazione, ho visto spesso una gestione superficiale delle credenziali di accesso. In molti enti, i consulenti esterni, anche di aziende importanti,  ricevono accessi a informazioni sensibili e persino agli ambienti di produzione.

Una pratica rischiosa.

Per quanto una persona possa essere onesta, le credenziali dovrebbero rimanere solo a personale interno: funzionari, dirigenti, responsabili dei sistemi.

E invece, password, riferimenti ai server, accessi privilegiati vengono consegnati a esterni.

Un errore sistemico.


Il falso senso di sicurezza del 2FA

Negli ultimi anni, l’autenticazione a due fattori (2FA) è diventata la norma.

Peccato che venga spesso implementata nel modo sbagliato.

Molti enti pubblici installano l’app di autenticazione sul telefono privato del consulente esterno.

Risultato?

- Il consulente può accedere ai sistemi ovunque,

- può farlo in qualunque momento,

- può farlo anche dopo la fine dell’incarico,

- e in alcuni casi, l’utenza non viene disattivata per giorni, settimane… o mesi.

Durante un caffè con un amico, ho notato sul suo smartphone l’app di autenticazione.

“È per un cliente della PA”, mi ha detto.

Ecco la vulnerabilità: la sicurezza dipende da un dispositivo privato, non controllato dall’ente.


Un caso reale: quando il consulente diventa un rischio

Qualche anno fa, un consulente di una grande azienda IT ha “hackerato” dei sistemi informatici proprio perché aveva ancora le credenziali.

Il danno fu contenuto, ma il precedente resta.

La domanda è semplice:

perché un esterno dovrebbe avere le chiavi digitali di un ente pubblico?


La soluzione? Semplice, economica, immediata

Basterebbe che ogni ente pubblico acquistasse un solo smartphone dedicato al 2FA:

- senza SIM,

- collegato alla rete interna,

- custodito in ufficio,

- utilizzato solo dal personale interno,

- mai affidato a consulenti esterni.


Un dispositivo controllato, tracciato, gestito.

Il 2FA tornerebbe ad essere una misura di sicurezza reale, non un’illusione.


Una domanda che vale più di mille normative

Daresti le chiavi di casa a una persona estranea?

O le credenziali del tuo conto bancario?

Allo stesso modo, la Pubblica Amministrazione non dovrebbe consegnare le chiavi dei propri sistemi informativi a chi non fa parte dell’ente.


Conclusione

La sicurezza informatica non è un dettaglio tecnico: è una responsabilità civile.

E la PA italiana deve comprenderlo, prima che un errore, o una leggerezza  costi molto più di quanto si possa immaginare.

sabato 11 luglio 2026

Strumento online di intelligenza artificiale per migliorare il codice e verificare parti di bug

 

sito di ai per la verifica del codice

Un ottimo sito in lingua italiana di intelligenza artificiale, per analizzare il codice, migliorarlo e verificare parti di bug.

Il sito https://linnk.ai/it/tools/ai-code-fixer/ in lingua italiana, non richiede ne registrazione e ne email, e fornisce al programmatore un ottimo strumento per migliorare il proprio codice o scoprire possibili bug.