martedì 15 aprile 2025

Guitar software gratuito per la gestione del codice sorgente git

 



Guitar è un programma gratuito ed open source per la gestione del codice sorgente per il repository GIT.

Il programma è utilizzabile per vari sistemi opeartivi, Windows, Mac e Linux.

Per maggiori informazioni e download visitate il seguente sito https://github.com/soramimi/Guitar

lunedì 14 aprile 2025

TypeScript ottenere i valori di un Enum

Nel caso che abbiamo la necessità di ottenere tutti i valori di un enum, tramite il linguaggio TypeScript, tramite la tecnica qui di seguito possiamo ottenere solo i valori di un enum.

Enum di esempio.

TypeScript:

 

enum GiornoSettimana {

  Lunedì = 1,

  Martedì,

  Mercoledì,

  Giovedì,

  Venerdì,

  Sabato,

  Domenica

}

 


Tecnica per ottenere i vari valori.

TypeScript:

 

//Ottiene solo i valori

   let giorni = Object.values(GiornoSettimana).filter((value) => typeof value === 'number') as number[];

   for (let giorno of giorni) {

    console.log(giorno);

 

   }

 


Entity Framework strumenti e componenti

Dal sito Microsoft, un elenco di componenti e strumenti per Visual Studio, per la gestione dei dati con Entity Framework.
Dal seguente sito Tools & Extensions - EF Core | Microsoft Learn sono elencati alcuni estensioni di Visual Studio o strumenti per migliorare l'attività lavorativa con Entity Framework.
Il sito è in lingua inglese.

domenica 13 aprile 2025

TypeScript, leggere tutti i nodi di un file XML

Nel caso che si ha la necessità di leggere tutti i nodi ed i relativi valori di un file XML, nel linguaggio TypeScript, tramite la seguente tecnica possiamo estrapolare i nodi e valori di un file XML.

Di seguito si riporta un file XML di esempio, che sarà utilizzato in questo frammento di codice.


XML.
<dati>
<nodoA>Valore 1</nodoA>
  <nodoB>Valore 2</nodoB>
  <nodoC>
    <sottoNodo>Valore 3</sottoNodo>
  </nodoC>
</dati>


Inseriamo nel progetto, il riferimento alla libreria "HttpClient", in altro sopra ad ogni dichiarazione, dove si trovano gli import, inseriamo la seguente riga di codice.

TypeScript:

import {HttpClient } from '@angular/common/http';

 

Nel costruttore della pagina Angular, si crea una variabile che fa riferimento alla classe httpClient. Si riporta il frammento di codice delle suddette operazioni.

TypeScript:

 

 constructor(

    private http: HttpClient

) { }

 

Nel component della pagina Angular, scriviamo una funzione che legge i vari nodi del file XML, utilizzando le classi "Document"  e "DOMParser".


Di seguito si riporta il frammento di codice delle suddette operazioni.

TypeScript:

 

  leggiFileXML(): void {

    const url = 'assets/dati2.xml'; // Percorso del file XML (nella cartella assets)

 

    this.http.get(url, { responseType: 'text' }).subscribe({

      next: (data) => {

        const parser = new DOMParser();

        const xmlDoc = parser.parseFromString(data, 'application/xml');

 

        //Legge tutti i nodi

        const elementi = xmlDoc.getElementsByTagName('*');

        for (let i = 0; i < elementi.length; i++) {

          console.log(`Nodo: ${elementi[i].nodeName}, Contenuto: ${elementi[i].textContent}`);

        }

      },

      error: (error) => {

        console.error('Si è verificato un errore:', error);

      }

    });

  }

 

Ora non resta che eseguire la nostra funzione appena creata. Nell'evento NgOnInit, o nell'evento click di un pulsante o altra parte, richiamiamo tale funzione.
Di seguito l'esempio di tale utilizzo.

TypeScript:

 

 ngOnInit(): void {

    this.leggiFileXML();

 

   }




TypeScript ottenere gli elementi di un enum

Il frammento di codice TypeScript qui di seguito, illustra una tecnica di come ottenere sia i valori e sia le chiavi di un enum, utilizzando il metodo "values" di object.


Enum di esempio:

TypeScript:

 

enum GiornoSettimana {

  Lunedì = 1,

  Martedì,

  Mercoledì,

  Giovedì,

  Venerdì,

  Sabato,

  Domenica

}

 


Il ciclo per ottenere chiavi e valori dell'enum:
TypeScript:

let giorni = Object.values(GiornoSettimana);

   for (let giorno of giorni) {

    console.log(giorno);

 

   }