sabato 27 aprile 2024

Strumento online per convertire codice C# in VB.Net e viceversa

Per chi ha necessità di convertire codice dal linguaggio C# a VB.Net e viceversa, può trovare utile il seguente strumento online di Telerik https://converter.telerik.com/ 

Servizio gratuito che funziona molto bene, non richiede email e nessuna registrazione.

venerdì 26 aprile 2024

Download gioco INDUSTRIA

 


Disponibile gratuitamente e senza limitazioni il gioco sparatutto Industria, con una grafica molto ben fatta.

Il gioco è per sistemi operativi Windows.

Fino al 2 maggio 2024 è possibile scaricarlo gratuitamente dopo tale data il download sarà a pagamento.

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

programmi gratuiti portatili di grafica

I software portatili, detti anche portable, non richiedono installazione e si possono tenere su una chiavetta o unità esterna ed utilizzare su più computer.
Dal seguente sito https://portableapps.com/apps/graphics_pictures è possibile scaricare una serie di programma portatili, in lingua inglese, in ambito di grafica.

Che dirvi... buon utilizzo. 

giovedì 25 aprile 2024

Angular material input matInput numbers only

Il controllo di testo input Matinput di Angular Material , permette tramite la proprietà type, di rendere la casella numerica. All'interno però è possibile scrivere anche i simboli + e -, per evitare che vengono inseriti questi simboli, ma soprattutto solo numerici, occorre gestire nell'evento keypress il dato che si sta digitando.
Di seguito il frammento di codice html relativo all'inserimento di soli numeri.


HTML:

 <input matInput
       
        type="number"
     
        (keypress)="($event.charCode >= 48 && $event.charCode < 58)"
        
        >

mercoledì 24 aprile 2024

appunti di Windows più copie tramite tasto windows+v

 


Windows ha una funzionalità che può tornare molto utile qualora si ha la necessità di copiare più informazioni ed utilizzarle più volte.

Parliamo della funzionalità "appunti", attivabile tramite la combinazione della scelta dei tasti "Windows"+V (il tasto Windows è quello con la bandiera) che fornisce una piccola finestra con il quale troviamo i vari appunti.

La funzionalità appunti, va attivata, o tramite la parola "appunti" nella casella di ricerca, oppure in impostazioni->sistema->appunti->Cronologia Appunti (figura 1).

Figura 1 - La finestra per attivare gli appunti

Una volta attivata la funzionalità "Appunti", non resta che utilizzarla. Ogni volta che si copia un elemento (tramite ctrl+c o tasto destro voce copia) questa verrà salvata nella finestra degli appunti (figura 2).

Figura 2 - La finestra degli appunti dove troviamo tutto ciò che è copiato


E' possibile copiare anche le immagini oltre al testo. 

Una funzionalità molto interessante. 


martedì 23 aprile 2024

C# Windows Forms rilevare tutti i controlli che iniziano con un determinato nome

Supponiamo di avere in una forms di un progetto Windows Forms una serie di caselle di testo, tutte quante iniziano con "textbox" e vogliamo impostare del testo per ogni casella presente nella form.
Il frammento di codice nel linguaggio C#, tramite Linq, rileva tutte le caselle di testo "TextBox", che iniziano per un determinato nome ed imposta la proprietà "Text" con un valore.



C#
var controlli = this.Controls.Cast<Control>().Where(controllo => controllo.Name.StartsWith("textBox"));

            foreach (TextBox textBox in controlli)
            {
                textBox.Text = "Mio testo";
            }

lunedì 22 aprile 2024

Angular material mat-option on select item

Il framework Angular Material, offre una serie di controlli, tra questi anche l'elenco a discesa, detta combobox o dropdownlist.
Nel caso che si vuole gestire la selezione di un elemento, dobbiamo utilizzare l'evento "OnSelectionChange" con il quale possiamo passare anche l'oggetto del singolo elemento.
Questo evento è da inserire nel singolo elemento e non nel controllo "Mat-Select".

Di seguito un esempio di utilizzo


HTML:
 <mat-select >
      <mat-option *ngFor="let oggetto of listaOggetti"
[value]="oggetto.id"  (onSelectionChange)="onSelectEvent($event, oggetto)">
                        {{ testo }}
</mat-option>
    </mat-select>

TypeScript:
onSelectEvent(value: any, oggetto: classe){

 }






domenica 21 aprile 2024

C# ottenere il numero dei processori logici del computer tramite Environment.ProcessorCount

 


Se vogliamo sapere il numero dei processori logici installati sul proprio pc tramite linguaggio di programmazione C# , dobbiamo utilizzare la classe Environment.

Il numero dei processori logici che troviamo nel task manager (vedi figura precedente), possiamo rilevarli tramite la proprietà ProcessorCount .

Di seguito il frammento di codice per ottenere il numero dei processori, tramite linguaggio C#.


         int numeriProcessori = Environment.ProcessorCount;

sabato 20 aprile 2024

Download gioco Town of Salem 2

 



Un gioco di strategia e con grafica molto semplice, quella disponibile gratuitamente sulla piattaforma EpicGames.

Parliamo di Town Of Salem 2, per sistemi operativi Windows e Mac, un gioco per tutti.

Fino al 25 aprile 2024 si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per il download e maggiori informazioni visitate il seguente sito https://store.epicgames.com/it/p/town-of-salem-2-ab6497 

Download vari giochi portatili

Per tutti gli amanti dei video giochi, dal seguente sito https://portableapps.com/apps/games possono scaricare alcuni giochi portatili, ossia che non richiedono installazione e possono essere portati in chiavetta o altro dispositivo portatile.
Sito in lingua inglese.
Per il download e maggiori informazioni visitate il sito indicato.

venerdì 19 aprile 2024

The Big Con

 



Disponibile gratuitamente e senza limitazioni il gioco di strategia The Big Con, per sistemi operativi Windows.

Il gioco offre una giocabilità molto interessante, e grafica a livello di cartoon.

Fino al 25 aprile 2024 si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/it/p/the-big-con

Gioco Surf dal browser Edge

 


Il browser Edge, che troviamo in tutti i sistemi operativi Windows, permette di eseguire gratuitamente un gioco molto semplice ma ben fatto.

Il gioco Surf, è attivabile dal browser edge, digitando il seguente comando nella barra degli indirizzi, ossia quella casella dove inseriamo i siti da visitare.

Il comando è:

edge://surf/

Inoltre anche dal seguente sito https://www.microsoft.com/it-it/edge/features/surf-game è possibile eseguirlo. 

Che dirvi.... buona partita.

giovedì 18 aprile 2024

Angular TypeScript parametro di funzione di diversi tipi

In TypeScript è possibile creare una funzione che ha un parametro di due tipi (per esempio string o numerico) e restituisce un generico.
Di seguito il frammento di codice di tale funzione e di tale utilizzo

Funzione.


TypeScript:

Maiuscole(parametro:string | number) : any{
  if(typeof parametro==="string")
    return parametro.toUpperCase();
  else
    return parametro;
}

Utilizzo.

TypeScript:
  ngOnInit(): void {
    alert(this.Maiuscole('Mio testo'));
  }



Oppure.
TypeScript:

  ngOnInit(): void {
 
    alert(this.Maiuscole(3));
  }

mercoledì 17 aprile 2024

Ambiente di sviluppo con intelligenza artificiale download gratuito

 


Rilasciato un nuovo ambiente di sviluppo gratuito, per la programmazione con la funzionalità dell'uso dell'intelligenza artificiale durante la stesura del codice.

Il programma Cursor - The AI-first Code Editor in varie versioni (gratuite ed a pagamento) permette tramite l'intelligenza artificiale di scrivere codice di programmazione in vari linguaggi.

Il sito ed il programma sono in lingua inglese.

Per maggiori informazioni e download visitate il sito indicato.

martedì 16 aprile 2024

Angular input matInput focusin gestione del focus attivo

Nel caso che si sta gestendo un controllo di tipo input Matinput in Angular Material, e si vuole gestire il focus attivo, tramite l'evento "focusin" possiamo gestire tale evento.

Di seguito il frammento di codice.

HTML:
<input matInput
            required
           
            (focusin)="onFocusIn( $event )"

TypeScript:
 onFocusIn( _event: FocusEvent ) {

}

lunedì 15 aprile 2024

Download di programmi di educazione software portatile (portable)

Il software portatile permette di utilizzarlo su più computer e di portarlo con sè tramite chiavetta o altro dispositivo esterno, senza doverlo installare.
Dal seguente sito https://portableapps.com/apps/education si possono scaricare una serie di software gratuiti portatili in ambito di educazione, come geografica, astronomia, e tanto altro ancora.
Sito in lingua inglese. 

domenica 14 aprile 2024

Download gioco Phantasy Star Online 2 New Genesis

 



Disponibile gratuitamente e senza limitazioni il gioco di combattimento Phantasy Start 2, per sistemi operativi Windows.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/phantasy-star-online-2

Microsoft Rewards modifica punti set giornaliero e altre attività

 




Da qualche giorno il programma Microsoft Rewards (qui https://emanuelemattei.blogspot.com/2022/12/nuovi-regali-per-il-programma-microsoft.html la notizia del programma) ha una nuova assegnazione dei punti.

Modificati i punti del set giornaliero e delle altre attività.

Per il set giornaliero, non c'è più quello dei 30 e 50 punti, ma sono tutti da 10 punti, mentre il set delle altre attività, ogni giorno la sola possibilità di fare 5 punti.

Al momento non si sa se rimarrà così per sempre oppure temporaneo com'è successo qualche mese fa .



sabato 13 aprile 2024

Download gioco ghostrunner

 



Un gioco con una grafica molto accattivante ma dai contenuti molto violenti, per questo il video gioco Ghostrunner è adatto a persone maggiorenne.

Fino al 18 aprile 2024 il gioco si ptrà scaricare gratuitamente, dopo tale data il download sarà a pagamento.

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

Angular input matInput focus lost

Nel caso che si vuole intercettare la perdita dello stato attivo (focus) del controllo input MatInput di Angular Material, dovremmo utilizzare il metodo focusout.

Di seguito un frammento di codice del relativo utilizzo.


HTML:
 <input matInput
           
            formControlName = "NomeControllo"
            (focusout)="VerificaDati( $event )"


TypeScript:
 VerificaDati( _event: FocusEvent ) {

    const dato = this.form.get( 'NomeControllo' ).value;
   
    console.log(dato );

 }

venerdì 12 aprile 2024

Visual Studio Code format code utilizzo di tasti di scelta rapida

Se stiamo utilizzando Visual Studio Code, e vogliamo formattare il codice tramite la sequenza di tasti di scelta rapida, dobbiamo tenere premuto nel seguente ordine:

shift + Alt + f 

Questa combinazione di tasti formatterà il codice.

giovedì 11 aprile 2024

C# linq metodo IntersectBy per ritornare gli oggetti di due insieme

Il metodo Intersect, estrapola quei dati che presi due liste, hanno i valori uguali, qui https://emanuelemattei.blogspot.com/2021/04/linq-utilizzo-del-metodo-intersect-per.html un esempio di utilizzo.
Con la versione .Net 6 e versione successive, è possibile utilizzare il metodo "IntersectBy" per estrapolare un oggetto presente in entrambi le liste.

Di seguito il frammento di codice di una lista per la classe persona, con il quale si estrapolano gli oggetti che sono uguali in entrambi le liste, utilizzando come condizione la proprietà "Eta".

List<Persona> persone = new List<Persona>();
Persona persona = new Persona();
persona.Cognome = "Mattei";
persona.Nome = "Emanuele";
persona.Eta = 1;
persone.Add(persona);
persona = new Persona();
persona.Cognome = "Cristaldi";
persona.Nome = "Luigi";
persona.Eta = 2;
persone.Add(persona);
persona = new Persona();
persona.Cognome = "Bianchi";
persona.Nome = "Luca";
persona.Eta = 3;
persone.Add(persona);


List<Persona> persone2 = new List<Persona>();
Persona persona2 = new Persona();
persona2.Cognome = "Mattei";
persona2.Nome = "Emanuele";
persona2.Eta = 1;
persone2.Add(persona2);
persona2 = new Persona();
persona2.Cognome = "Cristaldi";
persona2.Nome = "Luigi";
persona2.Eta = 4;
persone2.Add(persona2);
           
var risultato = persone.IntersectBy(persone2.Select(p=>p.Eta), p=>p.Eta); //Restituisce Emanuele Mattei

mercoledì 10 aprile 2024

Download programmi portatili per la programmazione

Se state cercando una serie di strumenti per la creazione dei programmi o gestione database ed altro, dal seguente sito https://portableapps.com/apps/development potete scaricare programmi portatili, ossia software che non richiede installazione.
I software si possono copiare su una chiavetta o hard disk esterno ed utilizzare su vari computer.
Il sito è in lingua inglese.
Per maggiori informazioni e download visitate il sito indicato.

martedì 9 aprile 2024

Strumento online gratuito di conversione e modifica video ed audio

 


Video2Edit è un sito online, che fornisce una serie di strumenti gratuiti e senza registrazioni, per la modifica o conversione dei file video ed audio.

Il sito, visibile qui https://www.video2edit.com/it  è in lingua italiana e offre interessanti funzionalità.


lunedì 8 aprile 2024

C# utilizzo del metodo ExceptBy

Altra novità interessante della versione .Net 6 e versioni successive, è quella del metodo ExceptBy, con il quale esaminando due liste, restituisce gli oggetti che non sono presenti nella seconda lista in riferimento ad una condizione.
Nell'esempio seguente, si esaminano due liste di oggetti di tipo persone, utilizzando la proprietà "Eta" come condizione.

  List<Persona> persone = new List<Persona>();
  Persona persona = new Persona();
  persona.Cognome = "Mattei";
  persona.Nome = "Emanuele";
  persona.Eta = 1;
  persone.Add(persona);
  persona = new Persona();
  persona.Cognome = "Cristaldi";
  persona.Nome = "Luigi";
  persona.Eta = 2;
  persone.Add(persona);
  persona = new Persona();
  persona.Cognome = "Bianchi";
  persona.Nome = "Luca";
  persona.Eta = 3;
  persone.Add(persona);


  List<Persona> persone2 = new List<Persona>();
  Persona persona2 = new Persona();
  persona2.Cognome = "Mattei";
  persona2.Nome = "Emanuele";
  persona2.Eta = 1;
  persone2.Add(persona2);
  persona2 = new Persona();
  persona2.Cognome = "Cristaldi";
  persona2.Nome = "Luigi";
  persona2.Eta = 4;
  persone2.Add(persona2);
 
  var risultato = persone.ExceptBy(persone2.Select(p=>p.Eta), p=>p.Eta); //Restituisce l'oggetto Cristaldi e Bianchi Luca
            

Mentre nel caso di utilizzo di liste semplice (esempio array di string) è consigliabile usare il metodo Except .

domenica 7 aprile 2024

Angular regular expression validation Typescript Validators.pattern only number

Nel caso che vogliamo verificare se il testo digitato è solo numerico, utilizzando l'espressioni regolar con il linguaggio di programmazione TypeScript, tramite "Validators.pattern" e l'espressione regolare  qui di seguito verificare la correttezza di tale dato.


TypeScript:

 Validators.pattern("^(0|[1-9]\\d*)$")

sabato 6 aprile 2024

Strumento online per il trasferimento dei file

Il sito https://anontransfer.com/ offre la possibilità di traferire file, anche di grandi dimensioni sia tramite il copia di un link, e sia tramite indirizzo email.

Il servizio è gratuito, ma nel sito è presente molta pubblicità, da fare attenzione a dove si clicca.





venerdì 5 aprile 2024

Download gioco Thief

 


Disponibile gratuitamente e senza limitazioni, il gioco di azione Thief. 

Il gioco è in lingua inglese e per sistemi operativi Windows, ed offre una grafica molto accattivante e ben fatta.

Fino al 11 aprile 2024 si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/thief-5bb95f

Download programmi portatili (portable) per l'accessibilità

Se cercate una serie di software portatile, che non richiedono installazione e che potete portare con voi tramite chiavetta o hard disk, dal seguente sito https://portableapps.com/apps/accessibility una serie di programmi portatili in ambito accessibilità.


giovedì 4 aprile 2024

The Outer Worlds: Spacer's Choice Edition

 


Disponibile gratuitamente e senza limitazioni il gioco di azione The Outer Worlds: Spacer's Choice Edition. 

Il gioco è per sistemi operativi Windows, ed offre una buona grafica e giocabilità.

Il gioco è in lingua italiana e per un pubblico maggiorenne.

Fino al 11 aprile 2024 il download è gratuito dopo tale data, il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/the-outer-worlds-spacers-choice-edition

.Net esempi di codice dal sito Microsoft

 


Tanti esempi di codice in vari linguaggi e su varie tecnologici, tutto questo gratuitamente e senza lasciare email o registrazione, dal sito di Microsoft.

Qui https://learn.microsoft.com/it-it/samples/browse/  è possibile consultare e visionare vari esempi di codice, ordinati per ultimo inserito o aggiornato.

Che dirvi... buona programmazione.


mercoledì 3 aprile 2024

Download programma gratuito di riproduzione video VLC media player

 


VLC media Player è un programma gratuito e molto conosciuto per la qualità e funzionalità nella riproduzioni video.

Un software molto valido.

Dal seguente sito https://www.videolan.org/vlc/ è possibile scaricarlo. Il programma ed il sito sono in lingua italiana.

 

martedì 2 aprile 2024

C# ottenere il numero seriale e modello del hard disk o SSD

Il frammento di codice qui di seguito, con il linguaggio C#, illustra una tecnica per rilevare il numero seriale e modello del proprio Hard Disk o SSD.
Tramite la classe ManagementObject possiamo ottenere queste informazioni.
Di seguito il frammento di codice.


 ManagementObjectSearcher ManObjectSearcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
   
  foreach (ManagementObject wmiObj in ManObjectSearcher.Get())
  {
      var serialNumber = wmiObj.GetPropertyValue("SerialNumber");
      var modello = wmiObj.GetPropertyValue("Model");
      
  }

lunedì 1 aprile 2024

Aggiornamento archivio comuni d'Italia e paesi esteri per il calcolo del codice fiscale ed altre attività

 


Da qualche giorno è disponibile sul sito ufficiale dell'Agenzia delle Entrate, qui https://www.agenziaentrate.gov.it/portale/web/guest/schede/fabbricatiterreni/archivio-comuni-e-stati-esteri/consultazione-archivio-comuni-stati-esteri l'archivio dei Comuni e paesi esteri, che può tornare utile quando si realizzano programmi che devono convalidare o calcolare il codice fiscale, o altre operazioni al quale fanno riferimento i comuni d'Italia e paesi esteri.

Il file è di tipo csv in un file compresso autoestraente. 



Tools per effettuare la differenza tra file

 



Il componente gratuito DiffTastic https://difftastic.wilfred.me.uk/ permette di aggiungere funzionalità ai propri programmi nel verificare la differenza tra file.

Un componente che supporta vai linguaggi di programmazione, tra cui il linguaggio C#.

Nel sito si trova anche un manuale.


domenica 31 marzo 2024

C# utilizzo del metodo DistinctBy .Net 6

Altra novità della versione .Net 6 è quella della funzione DistinctBy che restituisce il primo elemento di un insieme in base alla condizione impostata.
Supponiamo di avere una classe persona e di questa tramite il metodo DistinctBy restituisce il primo che corrisponde alla condizione tramite età.

Di seguito il frammento di codice del relativo utilizzo DistinctBy e Distinct.

            List<Persona> persone = new List<Persona>();
            Persona persona = new Persona();
            persona.Cognome = "Mattei";
            persona.Nome = "Emanuele";
            persona.Eta = 1;
            persone.Add(persona);
            persona = new Persona();
            persona.Cognome = "Cristaldi";
            persona.Nome = "Luigi";
            persona.Eta = 1;
            persone.Add(persona);
            persona = new Persona();
            persona.Cognome = "Bianchi";
            persona.Nome = "Luca";
            persona.Eta = 3;
            persone.Add(persona);
            var risultato = persone.DistinctBy(x => x.Eta); //Restituisce l'oggetto Mattei Emanuele e Bianchi Luca
            var risultato2 = persone.Distinct(); //Restituisce tutti gli oggetti 

sabato 30 marzo 2024

Programma gratuito per la visualizzazione dei video

 


Il programma SmPlayer, è un software gratuito che permette la visualizzazione dei video.

Offre interessanti funzionalità ed è anche open source.

Per il download e maggiori informazioni, visitate il seguente sito https://www.smplayer.info/

venerdì 29 marzo 2024

Programma gratuito per la creazione dei file chm West Wind Html Help Builder

 


Il programma West Wind Html Help Builder, scaricabile qui https://helpbuilder.west-wind.com/ permette la creazione di file di guida di tipo .Chm, da utilizzare nei propri programmi.

La versione gratuita genera una scritta informativa, per dare la possibilità di utilizzarlo gratuitamente.

Il sito è in lingua inglese.


giovedì 28 marzo 2024

Download gioco Islets

 


Un gioco adatto anche ai ragazzi ed adulti, quello di avventura Islets per sistemi operativi Windows.

Il gioco offre una grafica molto ben fatta.

Il download gratuito e senza limitazioni è disponibile fino al 4 aprile 2024, dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download, visitate il seguente sito https://store.epicgames.com/it/p/islets-5f2670

mercoledì 27 marzo 2024

Download gioco Rocket Racing

 



Un gioco molto semplice ma con una buona grafica, parliamo del gioco di corsa automobilistica Rocket Racing, un gioco in lingua italiano e per sistemi operativi Windows.

Per il download e maggiori informazioni visitate il seguente sito https://store.epicgames.com/it/p/fortnite--rocket-racing 

lunedì 25 marzo 2024

C# .Net MinBy

Dalla versione 6 del Framework .Net, è possibile utilizzare la funzione MinBy che restituisce l'oggetto del valore minimo di una lista.
Supponiamo di avere una classe di tipo persona, con proprietà quali nome, cognome ed età, e vogliamo estrapolare da una lista di questa classe, quello che ha l'età minore. In una espressione lambda, avremmo ottenuto il valore minimo con il metodo Min, mentre con il metodo MinBy otteniamo l'oggetto che ha il valore minimo di una proprietà.


            List<Persona> persone = new List<Persona>();
            Persona persona = new Persona();
            persona.Cognome = "Mattei";
            persona.Nome = "Emanuele";
            persona.Eta = 1;
            persone.Add(persona);
            persona = new Persona();
            persona.Cognome = "Cristaldi";
            persona.Nome = "Luigi";
            persona.Eta = 2;
            persone.Add(persona);
            persona = new Persona();
            persona.Cognome = "Bianchi";
            persona.Nome = "Luca";
            persona.Eta = 3;
            persone.Add(persona);
            var risultato = persone.MinBy(x => x.Eta); //Restituisce l'oggetto Mattei Emanuele
            var risultato2 = persone.Min(x => x.Eta); //Restituisce 1 



domenica 24 marzo 2024

Microsoft Outlook annullare l'ultima operazione

 


Nel caso che vogliamo annullare l'ultima operazione nel programma di posta elettronica "Microsoft Outlook" , come per esempio aver eliminato inavvertitamente un'email. Tramite il pulsante in alto a sinistra, il secondo, quello con l'icona della freccia verso sinistra possiamo annullare l'ultima azione.

sabato 23 marzo 2024

Strumento online per le impostazioni della posta elettronica

 


Il seguente sito https://www.emailsettings.email/ offre la possibilità di conoscere le impostazioni per configurare la posta elettronica su un programma client.

Indicando l'indirizzo verranno visualizzati i settaggi per la propria casella di testa.


venerdì 22 marzo 2024

Download gioco Invincible Presents: Atom Eve

 


Disponibile gratuitamente e senza limitazioni il gioco Invincible Presents: Atom Eve, per sistemi operativi Windows.

Il gioco per un pubblico maggiorenne è di una eroina che combatte i suoi nemici.

Fino al 28 marzo 2024 si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per il download e maggiori informazioni, visitate il seguente sito https://store.epicgames.com/it/p/atom-eve-ff090d

giovedì 21 marzo 2024

Download gioco Call of the Wild: The Angler

 


Un gioco con una grafica molto interessante ma soprattutto alla portata di tutti, parliamo del gioco di pesca Call Of The Wild: The Angler.

Il gioco è per sistemi operativi Windows.

Fino al 28 marzo 2024 il download è gratuito dopo tale data sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/call-of-the-wild-the-angler

mercoledì 20 marzo 2024

Tutorial TypeScript : Parte quinta - procedure e funzioni



In questo nuovo articolo vedremo come creare ed utilizzare nel linguaggio di programmazione TypeScript, procedure e funzioni.
Nel linguaggio Typescript, come per altri linguaggi possiamo creare procedure, che sono quelle funzionalità che non restituiscono nessun valore ma eseguono varie operazioni di codice e le funzioni che restituiscono un dato.
Come per le variabili, le funzioni possiamo avere una visibilità private (limitata nella classe in cui viene creata) o pubblica (che viene vista anche fuori dalla classe in cui è creata), dichiarandole private o public.
Prendendo il progetto creato nei precedenti articoli, in questo articolo andremo a creare vari frammenti di codice sull’utilizzo di procedure e funzioni.

Le procedure

Le procedure, sia pubbliche e sia private non restituiscono nessun valore, di norma vengono dichiarate con la parola chiave “void”.
Di seguito si riporta un frammento di codice di una procedura che scrive nella console del browser.

TypeScript:

  private MiaProcedura() : void{

 

      console.log("Codice");

  }

 

Come si è visto dal codice precedente, viene creata una procedura che scrive un log, dichiarata con la parola chiave “Void”.
Di seguito si riporta il frammento di codice per eseguire tale procedura.

TypeScript:

export class AppComponent implements OnInit {

 

 

  ngOnInit(): void {

 

  this.MiaProcedura()  ;

 

  }

 

  private MiaProcedura() : void{

 

      console.log("Codice");

  }

 

 

}

 

La dichiarazione può essere anche public, ossia con visibilità anche esterna alla classe o nella parte html di Angular.
Di seguito la dichiarazione di una procedura di tipo “Public”.

TypeScript

 public MiaProcedura() : void{

 

      console.log("Codice");

  }

 

Possiamo creare procedure che accattano parametri, variabili che ci permettono di gestire alcuni dati.
Di seguito si riporta una procedura che accetta due parametri, una di tipo string ed una di tipo “number”.


TypeScript:

  private MiaProcedura(paramTesto: string, paramNumero: number) : void{

 

      console.log("Valore: " + paramTesto + " numero: " + paramNumero);

  }

 

Per richiamare la procedura, occorre passare dei valori, di seguito il frammento di codice per eseguire la procedura con i parametri precedentemente creata.

TypeScript

  ngOnInit(): void {

 

     this.MiaProcedura("Mio Testo", 3) ;

 

  }

 

È possibile dichiarare una procedura con parametri facoltativi, in questo caso la procedura viene invocata senza passare un valore al parametro facoltativo. Per creare un parametro facoltativo occorre dichiarare la variabile con il simbolo del punto interrogativo “?”.
Di seguito il frammento di codice per la creazione di una procedura con parametro facoltativo.

 

TypeScript

  private MiaProcedura(paramTesto: string, paramNumero?: number) : void{

 

      console.log("Valore: " + paramTesto + " numero: " + paramNumero);

  }

 

Si ricorda che non passando nessun parametro, verrà considerato “undefined”.
Di seguito si riporta un esempio di codice per eseguire la procedura senza passare il parametro.


 TypeScript

 ngOnInit(): void {

 

     this.MiaProcedura("Mio Testo") ;

 

  }

 

Le procedure, come anche le funzioni, possono avere un parametro con valore di default, questo lo si fa in sede di dichiarazione assegnando un valore.
Di seguito si riporta un frammento di codice che illustra un parametro con valore di default.


Typescript:

 

  private MiaProcedura(paramTesto: string, paramNumero: number = 5) : void{

 

      console.log("Valore: " + paramTesto + " numero: " + paramNumero);

  }

 

Per richiamare la procedura è possibile anche omettere il valore da passare al parametro con il valore di default.
Di seguito un esempio di tale utilizzo.



TypeScript:

  ngOnInit(): void {

 

     this.MiaProcedura("Mio Testo") ;

 

  }

 

Oppure passando un valore al parametro di default, di seguito si riporta il frammento di codice delle suddette operazioni.

TypeScript:

  ngOnInit(): void {

 

     this.MiaProcedura("Mio Testo", 20) ;

 

  }

 

Le funzioni

In questo capitolo vedremo l’utilizzo delle funzioni, che sono simili alle procedure con la differenza che restituiscono un valore, oltre che possono essere creati con lo stesso nome tramite la tecnica dell’ovveride.
Di seguito sono riportati i vari utilizzi delle funzioni.
Le funzioni possono restituire un tipo, testo, numero, date ed altri tipi, di seguito un frammento di codice che restituisce del testo e viene visualizzato a video tramite alert.

TypeScript:

 private   MiaFunzione() : string {

 

  return "La mia funzione";

 

 }

 

Il frammento di codice precedente, illustra la creazione di una funzione di tipo privata, ossia con visibilità all’interno della classe, che restituisce del testo. Anche le funzioni come per le procedure possono essere pubbliche o private.
Per richiamare la funzione appena creata, dobbiamo richiamarla, vedremo che restituisce il testo presente nella funzione.
Di seguito il frammento di codice per richiamare la funzione.

TypeScript:

 ngOnInit(): void {

 

   alert(this.MiaFunzione());

 

  }

 

Le funzioni, sia private che pubbliche, possono avere parametri, di seguito una funzione che riceve un parametro di tipo “string” e restituisce del testo.
Di seguito la dichiarazione delle suddette operazioni per il linguaggio TypeScript.

TypeScript:

public   MiaFunzione(parametroTesto: string) : string {

 

  return 'Il testo del parametro è ' + parametroTesto;

 

 }

 

Per richiamare la funzione, occorre invocarla passando del testo come parametro, di seguito il frammento di codice di tale utilizzo.

TypeScript:

 ngOnInit(): void {

 

   alert(this.MiaFunzione('Prova '));

 

  }

 

Le funzioni si comportano come le procedure, come visto negli esempi precedenti, la possibilità di avere un parametro facoltativo, definendolo con il carattere “?”.
Di seguito si riporta una funzione con parametro facoltativo.

TypeScript:

 public   MiaFunzione(parametroTesto: string, parametroOptional?: number) : string {

 

  return 'Il testo del parametro è ' + parametroTesto + ' numero ' + parametroOptional;

 

 }

 

La funzione con parametro facoltativo può essere richiamata anche passando il valore per un solo parametro, di seguito il frammento di codice delle suddette operazioni.

TypeScript:

 ngOnInit(): void {

 

   alert(this.MiaFunzione('Prova '));

 

  }

 

Come si è visto nel precedente frammento di codice, il secondo parametro, sarà “undefined”.
Altro aspetto delle funzioni, come nelle procedure è la possibilità di avere un parametro di default, di seguito si riporta un frammento di codice nel quale si crea una funzione con un secondo parametro di default.


TypeScript:

 private   MiaFunzione(parametroNumerico: number, parametroDefault : number = 2) : number {

 

  return parametroNumerico + parametroDefault;

 

 }

 

Per invocare la funzione con parametro di default, è possibile passare solo  il primo parametro, di seguito il frammento di codice delle suddette operazioni.

TypeScript:

ngOnInit(): void {

 

   alert(this.MiaFunzione(1));

 

  }

 

Il risultato che verrà restituito dall’esempio precedente è il 3.

Una particolarità interessante è quella di passare un numero imprecisato di parametri, questo avviene tramite la tecnica di rest, ossia dichiarare un parametro con i tre punti.
Di seguito si riporta il frammento di codice delle suddette operazioni, con il quale possiamo passare n valori alla funzione.

TypeScript:

 private   MiaFunzione(  ...parametroArrayString: string[]) : string {

  let returnValore: string = "";

  parametroArrayString.forEach(p=> returnValore += " " + p );

  return returnValore;

 

 }

 

La funzione sarà richiamata passando tre parametri, di seguito il frammento di codice delle suddette operazioni.

TypeScript:

  ngOnInit(): void {

 

   alert(this.MiaFunzione('Ema', 'Luigi', 'Fra'));

 

  }

 

Le funzioni anonime, se pur poche utilizzate possono tornare utile in certi contesti. Queste funzioni possiamo vederle come delle variabili che eseguono determinate azioni.
Di seguito la creazione di una funzione anonima ed il relativo utilizzo. 



TypeScript:

  ngOnInit(): void {

    var messaggio = function(testo:string){

      alert("testo passato: " + testo);

 

    }

    messaggio("Prova");

 

  }

 

Siamo giunti all’ultima parte dell’utilizzo delle funzioni, la tecnica di overloading, ossia una tecnica di creare due o più funzioni con lo stesso nome, con la sola differenza dei parametri che vengono passati o del tipo restituito.
Di seguito un frammento di codice di funzioni con lo stesso nome.


TypeScript:

private MiaFunzione(testo: string, testo2: string): string

private MiaFunzione(testo: number, testo2: number): number

 

private MiaFunzione(testo: any, testo2: any): any

{

 

    return testo + testo2;

}

 



Di seguito il relativo utilizzo:



TypeScript:

  ngOnInit(): void {

 

    alert(this.MiaFunzione("Prova", "Prova2"));

    alert(this.MiaFunzione(1, 2));

  }

 

Conclusioni

In questa parte abbiamo acquisito la conoscenza sull’utilizzo di procedure e funzioni che sono tecniche di programmazione molto usate anche in altri linguaggi di programmazione.
I vari esempi di codice hanno permesso al lettore di acquisire quella conoscenza completa sull’utilizzo delle procedure e funzioni, illustrando i vari utilizzi che si possono fare nella creazione dei propri programmi.
Per chi già programma con altri linguaggi di programmazione, troverà la sintassi ed il relativo utilizzo simile al linguaggio che utilizza.