martedì 31 ottobre 2023

download IObit Malware Fighter 10 Free

 

Sempre più attacchi sul web e sulle singole postazioni si verificano ogni giorno, per questo una buona protezione, costantemente aggiornata può evitare spiacevoli situazioni.

Il programma IOBit Malware Fighter , è un software gratuito per la protezione ed eliminazione dei Malware.

Il programma è in lingua italiana e per sistemi operativi Windows.

Per il download e maggiori informazioni, visitate il seguente sito Software anti malware e antivirus gratis per pc windows e sicurezza pc| IObit Malware Fighter | IObit

lunedì 30 ottobre 2023

Portale per la progrmamazione .Net

Un sito costantemente aggiornato e con interessanti articoli sulla programmazione .Net.
Parliamo del sito in lingua inglese code-maze, visibile qui https://code-maze.com/ che offre interessante materiali per chi programma con .Net.

domenica 29 ottobre 2023

Programma gratuito per sentire file audio audacious

 


Il programma Audacious, è un software gratuito, multi piattaforma ed open source per ascoltare file audio.

Il programma è costantemente aggiornato e sono presenti i file sorgenti.

Per maggiori informazioni e download visitate il seguente sito https://audacious-media-player.org/

sabato 28 ottobre 2023

Download gioco The Evil Within 2

 



Il gioco The Evil Within 2 in lingua italiana e per sistemi operativi Windows, è un gaming per un pubblico maggiorenne di sparatutto ma molto violento.

Fino al 2 novembre 2023 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/the-evil-within-2 

Angular back page Navigate to Previous Page

Tramite il metodo "Back" di "Location" del pacchetto "Angular/Comon" è possibile ritornare alla pagina precedente, di seguito un esempio di utilizzo

Aggiungere l'import per l'utilizzo della classe.
In alto, dove sono presenti altri import, aggiungere la seguente riga di codice

import { Location } from '@angular/common';

Nel costruttore creare un oggetto per l'utilizzo della classe, di seguito il frammento di codice per il costruttore.

constructor(
   
    private Location: Location,
  ){}

Infine nell'evento click di un pulsante, utilizzo del metodo back, ossia tornare alla pagina precedente.

btnIndietro_Click() {
    this.Location.back();
}

venerdì 27 ottobre 2023

download gioco Tandem: a Tale of Shadows

 


Disponibile gratuitamente e per i soli sistemi operativi Windows, il gioco di strategia Tandem a Tale of Shadows.

Il gioco in lingua italiana è disponibile gratuitamente fino al 2 novembre 2023 dopo tale data il download sarà a pagamento. 

Per maggiori informazioni e download visitate il seguente sito https://store.epicgames.com/it/p/tandem-a-tale-of-shadows-c3f55e

Programma per la gestione dell'audio MusE

 


Un programma gratuito ed open source, con tanto di codice sorgente per la gestione dei file musicali.

MuSe, scaricabile qui https://muse-sequencer.github.io/ è un programma con interessanti funzionalità.


giovedì 26 ottobre 2023

Angular mat-icon' is not a known element

 




Quando si utilizza Angular lato html, con il framework material, può verificarsi l'errore "mat-icon' is not a known element" come in figura precedenza.

Questo è dovuto al fatto che nel file ".module.ts" manca nella dichiarazione il nome del componente.

Per risolvere il problema, andare nel file "nomeModule.Module.ts" e nella parte 

@NgModule({
    declarations: [

"

aggiungere il nuovo componente dove usare  i vari controlli. 


mercoledì 25 ottobre 2023

Programma gratuito per la creazione di musica Lmms

 


Se cercate un programma per la creazione di brani musica, o modifiche il software Lmms https://lmms.io/ in lingua italiana e per diversi sistemi operativi fa per voi.

Il programma è gratuito ed offre interessanti funzionalità per chi si deve occupare di musica.

Per il download e maggiori informazioni visitate il sito indicato.

martedì 24 ottobre 2023

Programma gratuito per la gestione dell'audio ardour

 


Ardour https://ardour.org/ è un software gratuito ed open source, che permette la gestione dell'audio.

Il software si può installare su vari sistemi operativi, Windows, Mac e Linux.

Per il download e maggiori informazioni visitate il sito indicato.


lunedì 23 ottobre 2023

Download gratuito Office Suite alternativa a Microsoft Office

 


Il programma Office Suite, scaricabile qui https://www.officesuite.com/it è un programma gratuito per l'office automation, alternativa a Microsoft Office.

Il sito ed il programma sono in lingua italiana.

Per il download e maggiori informazioni visitate il sito indicato.


domenica 22 ottobre 2023

download gratuito aimlabs

 

Il gioco Aimalbs in italiano e per sistemi operativi Windows , scaricabile qui https://store.epicgames.com/it/p/aimlabs permette mi migliorare al giocatore di migliorare ed allenarsi per migliorare la mira nello sparare a vari soggetti.

Un gioco di allenamento.

Il gioco al momento è gratuito.


Angular dynamic bind img src path image in ngfor

Il frammento di codice qui di seguito, da inserire nella parte "html" del component, illustra una tecnica di come aggiungere dinamicamente tramite ciclo for una serie di immagini da una lista.
Tramite la parola chiave "NgFor" si scorre una lista con il percorso e nome del file immagine da caricare.



<div *ngFor="let immagine of arrayFileImagine" >
            <img [src]="immagine" height="100px" width="100px" >
        </div>

sabato 21 ottobre 2023

download gioco The Evil Within

 


Il gioco The Evil Within, è un game di tipo horror per un pubblico maggiorenne, con una grafica molto ben curato, anche se ci sono delle azioni abbastanza violente.

Il gioco è in lingua italiana e per sistemi operativi Windows, fino al 26 ottobre 2023 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-evil-within 

Download programma gratuito di animazione 2d Enve

 


Enve, è un software gratuito ed open source riguardante la creazione di animazioni 2D.

Il software è molto semplice ed è possibile integrarlo modificando anche il codice sorgente.

Per il download e maggiori informazioni visitate il seguente sito https://maurycyliebner.github.io/index

venerdì 20 ottobre 2023

download gioco Eternal Threads

 


Disponibile gratuitamente il gioco di strategia Eternal Threads per sistema operativo Windows.

Il gioco, offre una grafica molto ben curata e valida giocabilità.

Fino al 26 ottobre 2023 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/eternal-threads-197169 

Angular impostare i parametri di un determinato ambiente

Se utilizziamo il Framework Angular, è possibile impostare a riga di comando, i parametri (connessione ai servizi, modalità di accesso, etc) di un determinato ambiente.
Supponiamo di avere tre ambienti, sviluppo, collaudo e produzione, e vogliamo utilizzare i servizi di un determinato ambiente, per esempio sviluppo, tramite alcuni parametri possiamo indicare il file "Environment" da utilizzare.
Di seguito il comando per utilizzare i parametri per ambiente sviluppo.


ng serve --configuration=dev

giovedì 19 ottobre 2023

Office gratuito online

 


Per chi desidera utilizzare gratuitamente il pacchetto Microsoft Office, ed in particolare di Word, Excel, PowerPoint ed altro ancora, può collegarsi alla suite dei programmi online di Microsoft raggiungibile in questo sito https://www.microsoft.com/it-it/microsoft-365/free-office-online-for-the-web

L'utilizzo è gratuito ed è in lingua italiana. 

mercoledì 18 ottobre 2023

Programma gratuito di montaggio video open source kdenlive

 



Un programma molto ben fatto e gratuito sulla gestione dei video, parliamo del programma Kdenlive, in lingua italiana che offre funzionalità molto interessanti sul montaggio video.

Il programma si può scaricare dal seguente sito https://kdenlive.org/it/

martedì 17 ottobre 2023

Framework web front end governativo

 


Un framework creato per i siti governativi nel rispetto degli standard americani.

Parliamo del Framework gratuito U.S. Web Design System https://designsystem.digital.gov/ che fornisce una serie di componenti web per la parte front end.


lunedì 16 ottobre 2023

Programma gratuito ADWARE

 


Un programma gratuito in lingua italiana che permette di eliminare i Adware.

Il software AdwClear, scricabile qui AdwCleaner - Strumento gratuito di pulizia e rimozione adware | Malwarebytes è un programma gratuito che permette di tenere il pc pulito da possibili problemi.

Per il download e maggiori informazioni visitate il sito indicato.


domenica 15 ottobre 2023

Download gioco Disney Speedstorm

 


Un gioco di corsa automobilistica ispirato ai personaggi e luoghi della Walt Disney, un gioco con una grafica molto bella, così si presenta Disney Speedstorm.

Il gioco per sistemi operativi Windows è gratuito ed è in lingua italiana, per il download e maggiori informazioni visitate il seguente sito https://store.epicgames.com/it/p/disney-speedstorm 

vimix programma gratuito per editing video

 


Un programma gratuito e con la possibilità di scaricare i sorgenti, per la gestione dei contenuti multimediali.

Parliamo del programma gratuito Vimix https://brunoherbelin.github.io/vimix/ il quale permette di modificare e gestire i file video.

Il programma è gratuito ed in lingua inglese.


sabato 14 ottobre 2023

Blog su .Net andrewlock

Un blog con interessanti articoli ed altre informazioni utili sulla programmazione .Net.
Il blog https://andrewlock.net/ in lingua inglese fornisce molti esempi di codice con il linguaggio C# .

venerdì 13 ottobre 2023

Download gioco Blazing Sails

 


Il gioco Blazing Sails in lingua italiana è un game di tipo sparatutto ambientato sui pirati in cui sopra ad un galeone si devono effettuare combattimenti.

Il gioco per sistemi operativi Windows e per un pubblico maggiorenne offre una buona grafica e giocabilità.

Fino al 19 ottobre 2023 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/blazing-sails

Angular TypeScript convertire un oggetto in string

Se stiamo utilizzando il framework Angular, e si deve convertire un oggetto in string tramite TypeScript, il frammento di codice qui di seguito converte un oggetto o numero in string.


String(row)

giovedì 12 ottobre 2023

VB.Net caricare una combobox a runtime impostando il value

In Visual Basic Net, se abbiamo l'esigenza di caricare i vari elementi impostando il value e la key, dobbiamo utilizzare un ditctionary.
Di seguito il frammento di codice per impostare a run-time un controllo combobox con tali dati.

ComboBox1.Items.Add(New DictionaryEntry("Chiave", "Valore"))

'Per rilevare il valore chiave dell'elemento selezionato.

Dim ValoreChiave = ComboBox1.SelectedItem.Key


mercoledì 11 ottobre 2023

Angular filtrare i dati e ritornare un solo dato alternativa a filter

Supponiamo di rilevare i dati da un servizio o array e vorremmo che restituisca un solo dato. Con il metodo Filter, ci restuisce un array di dati, anche se la condizione ne estrapola uno, mentre con il metodo "Find", otteniamo un solo record che corrispondere alla condizione.
Di seguito un frammento di codice di tale utilizzo

let MiaVariabile: Oggetto;
              ArrayOServizio.subscribe(
                p => {
                     MiaVariabile = p.find(item => item.NomeProprieta === ValoreDiRicerca)

martedì 10 ottobre 2023

Angular uso archivio locale per salvare i dati

Per ottimizzare la gestione dei dati, può tornare utile salvare i dati nell'archivio locale del browser, permettendo in questo modo di migliorare le prestazioni dell'applicazioni.

Tramite la classe LocalStorage è possibile salvare e caricare i dati.
Di seguito un frammento di codice, che illustra una tecnica di come salvare i dati nell'archivio locale.


localStorage.setItem('Chiave', 'Valore');

Dove chiave è il riferimento al valore che si vuole salvare.

Il metodo getItem invece ci restituisce il valore, passando come parametro la chiave. Di seguito il frammento di codice.

localStorage.getItem('Chiave');

Il metodo removeItem, invece rimuove l'elemento dall'archivio locale, di seguito il frammento di codice.

localStorage.removeItem('Chiave');


lunedì 9 ottobre 2023

Programma per la generazione del codice tramite diagrammi di flusso flowgorithm

 


Il programma Flowgorithm,   scaricabile qui http://flowgorithm.org/index.html , è un programma gratuito anche in versione portatile, che tramite la realizzazione di diagramma di flusso, genera codice per i linguaggi di programmazione C#, C++, Java e tanti altri.

Per maggiori informazioni e download visitate il sito indicato.


domenica 8 ottobre 2023

C# utilizzo del metodo Exists

Il metodo "Exists" di un oggetto Array o list, restituisce true o false, qualora la condizione viene rispettata.
Supponiamo di avere un oggetto di tipo string di array contenente i nomi delle persone, e vogliamo sapere se contengono la lettera "o", tramite questo metodo viene restituito se almeno un elemento contiene la "o".

Di seguito l'esempio di utilizzo.

//Array:

 List<string> Nomi = new()
            {
                "Emanuele",
                "Daniele",
                "Francesco",
                "Marco",
                "Maria",
                "Luigina",
                "Anna",
                "Lisa"
            };


//Utilizzo:

 var risultato  = Nomi.Exists(p => p.Contains("o")); //restituisce true

Nel caso che invece usare una funzione al posto del Predicato, di seguito tale utilizzo.

//Funzione:
 private bool Dato(string Nominativo)
        {
            return Nominativo.ToLower().Contains("o");
        
        }

//Utilizzo:

var risultato  = Nomi.Exists(Dato);

sabato 7 ottobre 2023

Recensione libro Omnichannel Customer Experience

 




La scheda del libro:


Autore:                 Bruno Lenzi, Davide Angiulli, Giulia Bosi, Paolo Confortini

Editore:                 Tecniche Nuove

Prezzo:                 € 29,90

Caratteristiche:         256 pag - 15x21 col. Rilegatura Brossura

ISBN:         978-88-481-4555-8

Anno di edizione:         09/2023

Numero dell'edizione: 1


Potremmo definirli lungimiranti, ed invece sono professionisti con una grande passione per il marketing e gestione del cliente, parliamo degli autori del libro “Omnichannel Customer Experience” da alcuni giorni in tutte le librerie o presso il sito tecnichenuove https://www.tecnichenuove.com/prodotto/omnichaneel-customer-experience/ , il quale diviene oggi uno dei libri fondamenti per chi si occupa di marketing.

Il libro affronta in maniera molto chiara ed esaustiva un tema molto importante per il business, quello della gestione del proprio prodotto o servizio nei confronti dei clienti, offrendo al lettore informazioni e tecniche del nuovo marketing riportando anche paragoni con quello che veniva effettuato in passato.

Il libro affronta in maniera molto semplice gli strumenti tecnologici di cui oggi le aziende e responsabili di marketing hanno a disposizione, illustrando i vari aspetti in maniera molto chiara e semplice, anche per chi non conosce oppure ha poca dimestichezza con l’uso delle tecnologie.

All’interno del libro sono presenti diverse immagini ed illustrazioni a colori permettendo al lettore di comprendere il tema affrontato ma soprattutto acquisire in maniera rapida e memorizzare alcuni concetti significativi del capitolo.

Un libro che nonostante le sue 256 pagine, offra molto tempi, percorrendo anche tecniche di marketing utilizzate in passato e di come quelle strategie ad oggi giorno si sono evoluti grazie all’uso della tecnologia. 

Inoltre viene affrontato anche il tema attuale di questi mesi, l’intelligenza artificiale, il quale si sta facendo sempre più uso per le potenzialità offerte, e per l’attenzione che sta ricoprendo ultimamente.

Un libro adatto a tutte le persone, in particolare a coloro che lavorano nel settore della promozione dei propri prodotti e servizi, fornendo interessanti tecniche di marketing.

Un manuale che non deve mai mancare sul tavolo o nella libreria di chi lavora oppure è appassionato di marketing, un vero punto di rifermento da tenere sempre con sé.

C# Entity Framework core la gestione del log



In questo articolo vedremo come gestire i log, o meglio tracciare le varie azioni che avvengono tramite le operazioni CRUD che si effettuano sui dati, il tutto utilizzando la versione di Entity Framework Core 7 con il Framework 7 ed il linguaggio di programmazione C#.
La gestione dei logs può divenire utile qualora si ha la necessità di conoscere le varie operazioni che hanno scatenato un evento, sia a livello informativo e sia a livello di errore.
In questo articolo vedremo come gestire i log, utilizzando l’ambiente di sviluppo Microsoft Visual Studio Community 2022.

Creazione database

Si crea un database in Microsoft Sql Server, in questo caso è stato utilizzato un database già esistente denominato “Dati” con tre tabelle denominate “Anagrafica” che sarà quella che utilizzeremo, “Categorie” e “Negozi”.
La tabella “Anagrafica” contiene 4 colonne, una di tipo numerico contatore nominata “IdAnagrafica” una colonna di tipo varchar da 50 nominata “Nome”, un’altra colonna nominata “Cognome” sempre di tipo “Varchar” con lunghezza 50, ed infine una colonna di tipo Varchar con dimensione 20 con il nome “Ruolo”, il tutto come mostrato in figura 1.


Figura 1 - La tabella Anagrafica 

Terminata la creazione del database non resta che creare il progetto.

Creazione del progetto e di entità

Apriamo Visual Studio 2022 Community, o versione successive, e tra i modelli preposti selezioniamo “app Windows Forms” che si trova filtrando per “Desktop” per il menu “tutti i tipi di progetti”, facciamo click tramite il pulsante “Avanti” e nella finestra successiva assegniamo un nome, facciamo di nuovo il click sul pulsante “Avanti” e selezioniamo l’ultima versione del Framework, in particolare la versione 7.
A questo punto verrà creato il progetto con una form, aggiungiamo il riferimento al pacchetto di EntityFramework Core per Sql Server e EntityFramework  tools.
Dalla finestra di Nuget, digitiamo “Microsoft.EntityFrameworkCore.SqlServer” versione 7, che è l’ultima ed installiamola nel nostro progetto, e poi sempre nella finestra “Nuget” digitiamo “Microsoft.EntityFrameworkCore.Tools” ed installiamo anche quest’ultima, il tutto come mostrato in figura 2.


Figura 2 – I riferimenti ad Entity Framwork

Tramite riga di comando dalla console Nuget (Strumenti->Gestione Pacchetti Nuget-> Console di Gestione Pacchetti ) scriviamo il comando per la creazione delle classi di modello alle tabelle esistenti, il tutto tramite il comando “Scaffold-DbContext” che inserendo i vari parametri permette la creazione del modello.
Di seguito il comando da eseguire nella finestra dei comandi di Nuget, indicando il server del database ed il nome del database.

Scaffold-DbContext "Server=NomeServer;Database=Dati;TrustServerCertificate=True;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models


In questo modo verrà creata un cartella denominata Models con tutti le classi che rappresentano il database, ed una classe per la gestione dell’entità, il tutto come mostrato in figura 3.

Figura 3 – La cartella models

Stesura del codice

Ora non resta che scrivere il codice per la gestione dei log, in particolare scrivere un primo codice che esegue una semplice query sulla tabella “Anagrafica” e poi vedere la gestione del log.
Facciamo doppio click sulla form, in un punto qualsiasi in modo che si passa in visualizzazione codice nell’evento load della form stessa.
La query estrapola tutti i record della tabella Anagrafica e visualizza a video il risultato della lettura dei dati, da notare che nella tabella sono presenti solo 3 record, quindi in caso di tabelle con tanti record, effettuate solo la selezione del primo record.
Di seguito si riporta il frammento di codice delle suddette operazioni

C#

private void Form1_Load(object sender, EventArgs e)

        {

            DatiContext datiEntita = new DatiContext();

            var risultato = datiEntita.Anagraficas.ToList();

 

            foreach ( var r in risultato ) {

                

                MessageBox.Show(r.Nome + " " + r.Cognome);

           

            }

 

        }




Possiamo eseguire il codice e vedremo che a video verrà visualizzato il valore presente nella proprietà “Nome”  e “Cognome” che corrispondono alle colonne nella tabella.
Verificata la correttezza del codice non resta che apportare le modifiche nell’evento “OnConfiguring” impostando nel “optionsBuilger” la gestione del log.
In particolare aggiungeremo il codice per visualizzare in debug le query che esegue, il tutto tramite il metodo “logTo”.
Si riporta il frammento di codice dell’evento “OnConfiguring”.


C#

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.

        => optionsBuilder.UseSqlServer("Server=NomeServer;Database=Dati;TrustServerCertificate=True;Trusted_Connection=True;").LogTo(messaggio => Debug.WriteLine(messaggio));




Come si è visto dal codice precedente, il metodo LogTo (LogTo(messaggio => Debug.WriteLine(messaggio)); ) visualizza nel debug il messaggio dell’operazione.

Se ora proviamo ad eseguire il nostro programma, vedremo che nella finestra di debug, viene visualizzata l’istruzione SQL relativa alla query di estrapolazione dei dati, il tutto come mostrato in figura 4.

Figura 4 – La query che viene visualizzata nella finestra debug

Se invece vogliamo scrivere in un file di testo, possiamo passare come parametro un oggetto di tipo “StreamWriter”.
Nella classe di contesto, ossia in “DatiContext” sotto la dichiarazione di classe, scriviamo il codice per la dichiarazione dell’oggetto di tipo “StreamWriter” di seguito il frammento di codice.


C#

private readonly StreamWriter scriviLog = new StreamWriter(Environment.CurrentDirectory+"\\LogApplicativo.txt", append: true);


Mentre nel metodo “LogTo” passiamo tale oggetto utilizzando il metodo “WriteLine”, il tutto come mostrato nel frammento qui di seguito.



C#

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.

        => optionsBuilder.UseSqlServer("Server=NomeServer;Database=Dati;TrustServerCertificate=True;Trusted_Connection=True;").LogTo(scriviLog.WriteLine).EnableSensitiveDataLogging();


Da notare che è stato utilizzato il metodo “EnableSensitiveDataLogging” che permette di visualizzare informazioni sensibili come password ed altri dati importanti come i parametri passati.

Infine possiamo filtrare il log per livello di informazione, se quelli informativi, oppure errori, debug, e tanti altri ancora.
Nell’evento LogTo, passare il livello, che è un enumeratore dello spazio dei nomi di “using Microsoft.Extensions.Logging;”

Di seguito il frammento di codice per filtrare tramite information (se vogliamo visualizzare i dati mettiamo debug).

C#

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)

#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.

        => optionsBuilder.UseSqlServer("Server=NomeServer;Database=Dati;TrustServerCertificate=True;Trusted_Connection=True;").LogTo(scriviLog.WriteLine, LogLevel.Information).EnableSensitiveDataLogging();






Conclusioni

L’articolo ha fornito al lettore le basi per effettuare la gestione dei log con Entity Framework Core, utilizzando come versione del Framework la 7.
Il log può tornare utile in quei casi che si vuole conoscere che tipo di query è stata eseguita ed altre informazioni utili sull’utilizzo dell’applicativo. Tenere traccia soprattutto degli errori, permette di affinare le correzioni del proprio progetto e renderlo sempre più performance.
In questo articolo è stato affrontato una delle tante tecniche della gestione dei log, da ricordare che ci sono componenti gratuiti ed a pagamento, che permettono di estendere nelle proprie applicazioni le funzionalità di gestione log ed informazioni sull’utilizzo dell’applicativo.

venerdì 6 ottobre 2023

C# utilizzo del metodo RemoveAll

Il metodo "RemoveAll" presente in oggetti di tipo Array o list, restituisce il numero di elementi che sono stati eliminati in base al predicato, ossia valore che viene passato al valore.

Supponiamo di avere una lista di nomi e si vogliono eliminare tutti quelli che contengono la lettera "o", di seguito il relativo utilizzo.

//Array:

List<string> Nomi = new()
            {
                "Emanuele",
                "Daniele",
                "Francesco",
                "Marco",
                "Maria",
                "Luigina",
                "Anna",
                "Lisa"
            };

//Utilizzo di Remove;

var risultato = Nomi.RemoveAll(p => p.Contains("o")); //restituisce 2

//Utilizzo di un metodo:

private bool Dato(string Nominativo)
        {
            return Nominativo.ToLower().Contains("o");
        
        }

var risultato  = Nomi.RemoveAll(Dato);//restituisce 2


giovedì 5 ottobre 2023

Download gioco Godlike Burger

 


Un gioco di strategia quello di Goodlike burger, ambientato in un ristorante.

Il gioco per un pubblico adulto offre una grafica molto interessante.

Il gioco è per sistemi operativi Windows, e fino al 12 ottobre 2023 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/godlike-burger-4150a0 

Sito online di intelligenza artificiale per creare immagini

 


La creazione di immagini tramite siti online sull'intelligenza artificiale, sono sempre più ricercati, tra questi segnalo il sito Leap AI Cover Images (background.lol) che offre la possibilità gratuitamente di creare immagini digitando del testo nella casella descrizione.

Dopo aver digitato il testo in lingua inglese, è possibile scaricare l'immagine, senza lasciare indirizzo email e senza registrarsi, un sito molto ben fatto e facile da utilizzare.


mercoledì 4 ottobre 2023

Sito creazione di immagini sembianze umane da foto

 


Uno strumento molto interessante gratuite e senza registrazione o inserire indirizzo email, parliamo di https://generated.photos/human-generator/ che permette la creazione di immagini con sembianze umane caricando la foto di un volto di una persona.

Il sito sfrutta anche l'intelligenza artificiale. Sito in lingua inglese ma facilmente utilizzabile.



martedì 3 ottobre 2023

C# utilizzo del metodo FindAll

Nel gestire le liste o array, può tornare utile estrapolare tutti gli elementi che corrispondono ad una condizione.
Supponiamo di avere dei nomi, e vorremmo estrapolare solo quelli che corrispondono ad una determinata lettera, il metodo FindAll estrapolerà tutti gli elementi che rispettano la condizione.
Di seguito un frammento di codice di tale utilizzo.

Array:

List<string> Nomi = new()
            {
                "Emanuele",
                "Daniele",
                "Francesco",
                "Marco",
                "Maria",
                "Luigina",
                "Anna",
                "Lisa"
            };



Utilizzo:

var risultato = Nomi.FindAll(p => p.Contains("o")); //Restituisce Francesco e Marco

Nel caso che invece si vuole utilizzare una fuzione, occorre passare nel predicato il nome funzione.
Di seguito l'esempio.

Funzione:

private bool Dato(string Nominativo)
        {
            return Nominativo.ToLower().Contains("o");
        
        }


Utilizzo:

var risultato  = Nomi.FindAll(Dato); 






lunedì 2 ottobre 2023

RHC Conference 2024

 


Un evento molto interessante in ambito di sicurezza informatica e soprattutto rendere i propri sistemi protetti da possibili attacchi esterni.

Parliamo dell'evento gratuito ed aperto a tutti La Red Hot Cyber Conference che per le due giornate del 19 e 20 aprile 2024 presso il Teatro Italia in Via Bari, 18 di Roma, i partecipanti potranno scoprire aspetti molto importanti sulla sicurezza informatica.

Al momento l'agenda è in fase di definizione, ma promette interessanti argomenti.

Per maggiori informazioni ed altro, visitate il sito ufficiale qui https://www.redhotcyber.com/red-hot-cyber-conference/rhc-conference-2024/

C# la sintesi vocale con il Framework MAUI

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_csharp-la-sintesi-vocale-con-il-framework-maui_1838.aspx


In questo articolo vedremo l’utilizzo della sintesi vocale tramite il Framework .Net 7 di MAUI, aggiungendo quindi alle nostre applicazioni la possibilità di effettuare voci, con il quale sentire il testo viene riprodotto.
La sintesi vocale, può tornare utile in quei contesti, in cui si vogliono dare avvisi o informazioni in maniera sonora, o aggiungere funzionalità particolare alla propria applicazione.
L’articolo fornirà le basi su come utilizzare tramite MAUI ed il linguaggio di programmazione C# questa funzionalità.

Creazione del progetto

Si crea un progetto di tipo MAUI, selezionando l’ultima versione del Framework, nel nostro caso la versione 7.
Una volta creato il progetto, nel file “AndroidManifest” dobbiamo aggiungere il tag, o meglio il nodo per abilitare sui SmartPhone la sintesi vocale.
Sotto al tag permission.Internet, aggiungere il seguente tag.


XML

<queries>

            <intent>

                  <action android:name="android.intent.action.TTS_SERVICE" />

            </intent>

      </queries>



Di seguito si riporta il file AndroidManifest completo.



XML

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android">

      <application android:allowBackup="true" android:icon="@mipmap/appicon" android:roundIcon="@mipmap/appicon_round" android:supportsRtl="true"></application>

      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

      <uses-permission android:name="android.permission.INTERNET" />

      <queries>

            <intent>

                  <action android:name="android.intent.action.TTS_SERVICE" />

            </intent>

      </queries>

</manifest>


Terminato di impostare i permessi per l’utilizzo della sintesi vocale, non resta che aggiungere nel file “MainPage.XAML” un pulsante.
Si seguito si riporta il frammento di codice per aggiungere un pulsante.

XAML

  <Button

                x:Name="BtnVoce"

                Text="Voce"

                SemanticProperties.Hint=""

                Clicked="BtnVoce_Clicked"

                HorizontalOptions="Center" />

 

Con queste operazioni abbiamo terminato la creazione del nostro progetto.

Stesura del codice

Terminata la creazione del progetto non resta che scrivere il codice per eseguire l’audio da un determinato testo.
Facciamo doppio click o digitiamo il pulsante “F7” della tastiera tenendo il puntatore del mouse nell’evento click del pulsante, in modo da passare in visualizzazione codice nell’evento del pulsante.
Sotto all’evento, scriviamo una funzione che verrà richiamata dall’evento click del pulsante, appena visualizzata, in questa funzione verrà eseguito il metodo “SpeakAsync “ della classe “TextToSpeech”.
Di seguito si riporta il codice del metodo per il linguaggio C#

C#

public async void Speak() =>

    await TextToSpeech.Default.SpeakAsync("Buongiorno");

 

Mentre di seguito il codice C# per richiamare la funzione nell’evento click del pulsante.

C#

private void BtnVoce_Clicked(object sender, EventArgs e)

    {

            Speak();

    }


A questo punto terminata la stesura del codice non resta che eseguire la nostra applicazione, sia in ambito mobile per Android, e sia per Windows application.
Nel caso che invece abbiamo la necessità di eseguire più frasi contemporaneamente, possiamo gestire le azioni in maniera asincrona attendendo il termine di ogni frase.
Di seguito, sempre per l’evento click del pulsante, viene illustrato un frammento di codice di come eseguire più frasi contemperamento.
Di seguito il codice nel linguaggio C# delle suddette operazioni.



C#

private void BtnVoce_Clicked(object sender, EventArgs e)

    {

        bool occupato = true;

 

        Task.WhenAll(

        TextToSpeech.Default.SpeakAsync("Buongiorno 1"),

        TextToSpeech.Default.SpeakAsync("Buongiorno 2"),

        TextToSpeech.Default.SpeakAsync("Buongiorno 3"))

        .ContinueWith((t) => { occupato = false; }, TaskScheduler.FromCurrentSynchronizationContext());

 

    }



Nell’eventualità invece che vogliamo applicare delle opzioni, per esempio il volume, oppure il timbro di voce maschile o femminile,  possiamo utilizzare la classe “SpeechOptions” che impostando le varie proprietà permette di eseguire la voce secondo le nostre esigenze.
Con il metodo “GetLocalesAsync” della classe “TextToSpeech” ottiene tutte le impostazioni che abbiamo installato nel dispositivo in cui viene eseguito il programma.

Di seguito si riporta la funzione “Parla” che sarà richiamata dall’evento click del pulsante, nel quale viene impostata la voce femminile.


C#

private async void Parla()

    {

        IEnumerable<Locale> setteggioLocale = await TextToSpeech.Default.GetLocalesAsync();

 

        SpeechOptions options = new SpeechOptions()

        {

            Pitch = 2.0f,   // 0.0 - 2.0

            Volume = 1.0f, // 0.0 - 1.0

            Locale = setteggioLocale.ToList()[1] //0 voce di uomo - 1 voce di donna

        };

 

        await TextToSpeech.Default.SpeakAsync("Buongiorno, benvenuti a bordo!", options);

    }




Conclusioni

L’articolo ha fornito al lettore le basi per utilizzare nelle proprie applicazioni la funzionalità audio, in particolare utilizzando la classe TextToSpeech, messa a disposizione dal Framework MAUI, dotiamo i nostri progetti di una voce. L’utilizzo di questa classe è molto semplice e con pochi accorgimenti diviene utilizzabili per diverse piattaforme, non solo Windows ma anche Android e Mac.

domenica 1 ottobre 2023

download gioco Soulstice

 




Il gioco in lingua italiana Soulstice per sistemi operativi Windows è un game di tipo combattimento con una grafica molto ben curata ed accattivante.

Il gioco è per un pubblico adulto.

Fino al 5 ottobre 2023 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/soulstice