lunedì 16 settembre 2024

Asp.Net eCommerce portale gratuito per la creazione di siti sul commercio online

 



Un progetto gratuito ed open source in continua evoluzione, che ad oggi fa uso dell'ultima tecnologia di .Net ed in lingua italiana

Parliamo del progetto NopCommerce, qui https://www.nopcommerce.com/it il sito in lingua italiana, che permette tramite l'ultima versione di Asp.Net di creare siti di commercio elettronico, per la vendita di prodotti.

Un valido strumento per chi vuole creare siti di commercio online.


domenica 15 settembre 2024

Ebook gratuito di Python e sql

 


Un ebook in formato pdf ed in lingua inglese sul linguaggio di programmazione Python con l'utilizzo di SQL, disponibile gratuitamente fino al 25 settembre 2024 dal seguente sito https://sf.tradepub.com/free/w_pacc37/ 

Download programma gratuito creazione di oggetti 3D

 


Il programma Wings 3D, è un software gratuito ed open source, che permette la creazione di oggetti in 3D.

Il programma è in lingua inglese e per sistemi operativi Windows, Mac e Linux. Per maggiori informazioni e download visitate il seguente sito Wings 3D

sabato 14 settembre 2024

SUPER CRAZY RHYTHM CASTLE

 


Un gioco in lingua italiana e di tipo avventura, con tema musicale, parliamo del gioco Super Crazy Rhythm Castle, disponibile in questi giorni gratuitamente per il sistema operativo Windows.

Fino al 19 settembre 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/super-crazy-rhythm-castle-e3b464

Angular Error: Could not find the '@angular-devkit/build-angular:dev-server' builder's node package.

 


Nel caso che durante l'esecuzione del comando "ng serve" viene generato il seguente messaggio di errore "Error: Could not find the '@angular-devkit/build-angular:dev-server' builder's node package.", dovuto alla mancanza degli aggiornamenti o installazioni di alcuni componenti,  può essere risolto tramite il seguente comando, con il quale verranno effettuate le varie installazioni ed aggiornamenti dei componenti.


npm install




venerdì 13 settembre 2024

Download gioco Rugrats: Adventures in Gameland

 


Disponibile gratuitamente e senza limitazioni di tempo e funzionalità il gioco Rugrats Adventures in Gameland, un video gioco per sistemi operativi Windows di strategia.

Il gioco in lingua inglese è adatto anche ai bambini.

Fino al 19 settembre 2024 il gioco 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/rugrats-adventures-in-gameland-737402


Spazio web gratuito freehostingnoads

 

Il sito Free Hosting No Ads | Free Website with PHP MySQL Email Domain offre la possibilità di avere dello spazio web gratuito (php, mysql, capacità 1gb) senza la pubblicità.

Sono presenti anche CMS, come Wordpress.

Per maggiori informazioni ed altro visitate il sito indicato. 



giovedì 12 settembre 2024

Angular ERR_OSSL_EVP_UNSUPPORTED

 


Quando si tenta di compilare il proprio progetto Angular tramite il comando "ng serve", può verificarsi l'errore "ERR_OSSL_EVP_UNSUPPORTED", un problema dovuto alla mancanza di allineamento della versione di Node ed Angular installati sul pc, con quella in cui si sta eseguendo il progetto.

Per risolvere tale problema, occorre eseguire il comando "set NODE_OPTIONS=--openssl-legacy-provider" ed una volta eseguito eseguire nuovamente il comando "ng serve".

 

mercoledì 11 settembre 2024

Software gratuito di animazione 2D Pencil2D

 


Pencil2D è un software gratuito multi piattaforma che permette la creazione di animazione grafiche in 2D.

Un software che può essere utilizzato su sistemi operativi Windows, Linux  e Mac.

Per il download e maggiori informazioni visitate il seguente sito Pencil2D Animation | Open Source animation software 

martedì 10 settembre 2024

Strumento online per convertire un file pdf in jpg

Il sito di FoxIt, oltre al programma gratuito di lettore pdf, permette tramite strumento online, di convertire file pdf in formato immagine di tipo jpg.

Il sito è in lingua italiana e non richiede ne email e ne registrazione.
Per maggiori informazioni ed altro visitate il seguente sito https://www.foxit.com/it/pdf-to-jpg/

lunedì 9 settembre 2024

Servizi informatici per programmatori e sviluppatori della Regione Lazio

 


La sezione Salute Lazio https://www.salutelazio.it/ della Regione Lazio offre la possibilità a programmatori e sviluppatori, di realizzare applicazioni utilizzando i servizi sanitari messi a disposizione dell'ente pubblico.

Una serie di servizi per accedere ed utilizzare informazioni sanitari.

Il sito dedicato ai servizi e consultabile qui https://www.salutelazio.it/ab/-/document_library/qcdSK4ODfrYZ/view/1042098

Angular creazione di tabella paginata con TypeScript

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/javascript/art_angular-creazione-di-tabella-paginata-con-typescri_1876.aspx

In questo articolo vedremo come realizzare una semplice tabella html, ma con la paginazione dei dati.
Nella gestione dei dati, spesso si ha la necessità di raggruppare i dati in pagine, in modo da visualizzare di volta in volta i risultati da una fonte dati.
La tecnica della paginazione torna utile anche nel visualizzare in maniera ottimale ed elegante il risultato dell’estrazione dei dati, qualora questi sono tanti e di difficile lettura in una sola pagina.
In questo articolo vedremo come usare il linguaggio TypeScript e la tecnologia Angular per visualizzare i dati da un array (ma possono essere estrapolati anche da una fonte dati o altro) in maniera paginata.
Il tutto sarà come mostrato in figura 1.



Figura 1 - La tabella paginata

Creazione del progetto

Si crea un nuovo progetto di Angular, va benissimo qualsiasi versione, in quanto la paginazione avviene con il linguaggio base di TypeScript e gli standard della tecnologia Angular.
Dopo aver creato il progetto, si crea una nuova classe, che potremmo chiamare “Nominativi”, tramite la voce di menu Nuova classe oppure tramite il seguente comando dal prompt.
ng generate class Nominativi
oppure in forma abbreviata tramite il seguente comando.

ng g cl Nominativi.

Stesura del codice

Terminata la creazione del progetto e della classe non resta che scrivere il codice per realizzare il nostro applicativo e soprattutto applicare la tecnica della paginazione.
La classe sarà utilizzata come model, o meglio per rappresentare i dati, avremo una serie di record con due colonne, quali nome e cognome, che sono rappresentate dalle proprietà della classe.
Di seguito si riporta il codice completo della classe denominata “Nominativi”, in TypeScript.


TypeScript:

export class Nominativi{

 

  public Nome: string;

  public Cognome: string;

  public constructor(nome: string, cognome: string  ) {

 

    this.Nome = nome;

    this.Cognome = cognome;

 

  }

 

}

 

Ora non resta che modificare il file della nostra pagina, utilizzeremo la prima pagina html che viene creata quando si crea un nuovo progetto, quella che di default viene generata con il nome “app.component” .
Si creano due oggetti di tipo array nominativi, che avranno il compito di contenere i dati, un oggetto che conterrà sempre i dati completi, mentre un altro oggetto (denominato dati) conterrà solo quelli di paginazione.
A questi due oggetti, si creano due variabili di tipo numerico, che avranno il compito di visualizzare gli elementi per pagina (denominata elementiPerPagina) con il valore impostato a 10, ed una variabile indicante l’indice della pagina (denominata indicePagina).
Di seguito si riporta il frammento di codice delle suddette operazioni.

TypeScript:

export class AppComponent implements OnInit {

 arrayNominativi: Nominativi[] = [];

 public Dati : Nominativi[] = [];

 indicePagina: number = 1;

 elementiPerPagina: number = 10;

 

 }

 

 

 


Nell’evento di apertura pagina (NgInit) dobbiamo valorizzare le due variabili di tipo array nominativi con una fonte dati, per simulare tale gestione, faremo un ciclo for degli stessi elementi ripetuto per 40 volte.
Di seguito si riporta il frammento di codice completo delle suddette operazioni.

TypeScript:

ngOnInit(): void {

 

   this.arrayNominativi.push( new Nominativi("Emanuele", "Mattei"));

   this.arrayNominativi.push( new Nominativi("Emanuele", "Mattei"));

    for (let Contatore = 1; Contatore < 40; Contatore++) {

      this.arrayNominativi.push( new Nominativi("Emanuele" + Contatore, "Mattei" + Contatore));

      this.arrayNominativi.push( new Nominativi("Luigi"+ Contatore, "Cristaldi"+ Contatore));

 

    }

 

    this.Dati = this.arrayNominativi.slice(0,10);

 

 

  }

 


La simulazione del caricamento dati da una fonte dati, è terminato, ora occorre creare le funzioni, che verranno eseguite quando si fa click sui vari pulsanti.
In particolare, avremo 4 pulsante, ed ognuno tramite l’evento click richiamerà una determinata funzione. I pulsanti sono inizio, che visualizzerà i dati relativi all’inizio, pulsante di fine, che visualizzerà gli ultimi dati della lista, ed il pulsante indietro che visualizzerà i dati precedenti) ed un pulsante avanti, che visualizzerà i successivi record.
Di seguito si riporta il frammento di codice per le operazioni di spostamento.


TypeScript:

public Inizio():void{

 

  this.Dati = this.arrayNominativi.slice(0,10);

  this.indicePagina = 1;

}

 

public Indietro():void{

 

  if(this.indicePagina==0)

    return;

 

  this.Dati = this.arrayNominativi.slice((this.indicePagina-1)*this.elementiPerPagina, this.indicePagina * this.elementiPerPagina);

 

  this.indicePagina -= 1;

 

}

 

public Avanti():void{

  if((this.arrayNominativi.length / this.elementiPerPagina) == this.indicePagina)

    return;

  this.indicePagina += 1;

  this.Dati = this.arrayNominativi.slice((this.indicePagina-1)*this.elementiPerPagina, this.indicePagina * this.elementiPerPagina);

 

}

 

public Fine():void{

 

  this.Dati = this.arrayNominativi.slice(this.arrayNominativi.length-10,this.arrayNominativi.length);

 this.indicePagina = this.arrayNominativi.length / this.elementiPerPagina -1;

}

 

Ora dobbiamo creare una tabella html, che visualizzerà a video i dati paginati.

Il codice html è quello di una tabella normale, con quattro pulsanti, e verranno visualizzati i dati relativo all’oggetto di tipo Arrary denominato in precedenza “Dati”.

Di seguito si riporta il frammento di codice della pagina HTML.




HTML

<table>

  <thead>

    <tr>

      <th style="color: green; width: 200px; text-align: center;">Nome</th>

      <th style="color: green; width: 200px; text-align: center;">Cognome</th>

    </tr>

 

  </thead>

 <tbody>

  <tr *ngFor="let elemento of Dati">

    <td style="width: 100px;  text-align: center;">{{elemento.Nome}}</td>

    <td style="width: 100px;  text-align: center;">{{elemento.Cognome}}</td>

  </tr>

<br><br>

<tr  >

  <td  style="height: 30px; width: 100px; text-align: center;"><button (click)="Inizio();" ><<</button> <button (click)="Indietro();"  ><</button> </td>

  <td style="height: 30px; width: 100px; text-align: center;"><button (click)="Avanti();"  >></button> <button (click)="Fine();"  >>></button></td>

 

</tr>

 </tbody>

 

</table>

 

 







Per ogni evento di un pulsante, verrà eseguito una determinata funzione, un pulsante che porta all’inizio, uno che visualizza i dati precedenti, un altro successivo ed in fine gli ultimi dati dell’oggetto array.

Conclusioni

L’articolo ha voluto fornire al lettore le basi di una tecnica di paginazione dei dati. Tecnica che può divenire utile qualora si ha la necessità di visualizzare i dati in maniera ordinata e non tutti in visualizzazione, comportando anche problemi di lettura.
Ricordiamo che sono presenti vari framework, tra cui Material, di cui sono dotati di controlli (per esempio table) che permettono di visualizzare i dati in maniera paginata.