lunedì 31 ottobre 2022

sql An error occurred while updating the entries. See the inner exception for details. constraint failed UNIQUE constraint failed: Riparazione.IdRiparazione

 


Quando si crea un progetto gestionale che fa uso del Db Sqlite, può capitare che venga visualizzato il messaggio di errore "An error occurred while updating the entries. See the inner exception for details." che andando nel dettaglio, fornisce il seguente messaggio ""constraint failed UNIQUE constraint failed: Tabella.NomeColonna" questo perchè il valore che si sta inserendo nella colonna chiave primaria non è univoca.

Se abbiamo creato un campo numerico di tipo contatore occorre impostare la colonna di tipo "autocrementale" tramite la parola chiave "autoincrement" come riportato qui di seguito.

[NomeColonna] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL

domenica 30 ottobre 2022

Servizio gratuito di hosting per la condivisione dei file tmp.ninja

 


Il sito tmp.ninja visibile qui https://tmp.ninja/ , offre la possibilità gratuitamente e senza registrazione e senza lasciare l'email, di condividere i file da poter scaricare da altri pc o da fornire agli amici.

Il file caricato resterà online per 48 ore al termine verrà cancellato. La dimensione massima del file da caricare è di 10GB.

Un servizio gratuito per condividere e trasferire i file in maniera temporanea.



sabato 29 ottobre 2022

Download gratuito controlli per MAUI

 

DevExpress, offre fino a tutto il primo novembre 2022 la possibilità di scaricare gratuitamente e senza limitazioni, controlli da utilizzare nello sviluppo di applicazioni con il Framework .Net MAUI.

Dal seguente sito https://www.devexpress.com/maui/ è possibile scaricare i vari controlli e conoscere il tipo di controllo presente nel pacchetto gratuito.

Per il download richiede la creazione gratuita di un account in Devexpress.

Per maggiori informazioni e download visitate il sito indicato.


Strumento online gratuito Convert Images to WebP

Un servizio online gratuito per convertire le proprie immagini in formato WebP.

Il servizio non richiede ne registrazioni e ne indirizzo email, molto semplice da utilizzare e con ottime prestazioni.

Dal seguente sito https://towebp.io/ è possibile effettuare la conversione.



venerdì 28 ottobre 2022

Download gioco Warhammer 40,000: Mechanicus

 


Disponibile gratuitamente il gioco di guerra Warhammer per sistemi operativi Windows.

Il download gratuito è possibile fino al 3 novembre, dopo tale data, il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito Warhammer 40,000: Mechanicus - Standard Edition | Acquistalo e scaricalo subito sull'Epic Games Store 

Download ebook Microsoft SQL Server Notes for Professionals

 


Interessante l'ebook gratuito in lingua inglese e formato pdf, sull'utilizzo del database Microsoft Sql Server, scaricabile qui https://sf.tradepub.com/free/w_goaa24/ previa registrazione gratuita.

L'ebook è di oltre 200 pagine e fornisce interessanti informazioni su questo database.


giovedì 27 ottobre 2022

Download gioco Saturnalia

 



Disponibile gratuitamente e senza limitazioni il gioco di avventura horror Saturnalia per sistemi operativi Windows.

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

Per maggiori informazioni e download visitate il seguente sito Saturnalia | Acquistalo e scaricalo subito sull'Epic Games Store 

Strumento online gratuito per rimuovere lo sfondo

 


Il sito FocoClipping Remove BG | Free Image Background Remover Online fornisce la possibilità di rimuovere lo sfondo da un file immagine che caricate.

Il servizio è gratuito e non richiede nessuna email.

Funziona molto bene.

mercoledì 26 ottobre 2022

Ctjs Programma gratuito per la creazione di video giochi in 2D

 


Per tutti coloro che sono interessati allo sviluppo di video giochi, per hobby o professionali, possono trovare nella multi piattaforma Ctjs un ottimo ambiente di sviluppo visivo per la creazione di video giochi.

Il sito è anche in lingua italiana Ct.js — un editor per giochi  libero (ctjs.rocks) con all'interno anche la guida all'uso del programma ed un forum dove poter fare domande.

Per maggiori informazioni, download ed altro visitate il seguente sito Ct.js — un editor per giochi  libero (ctjs.rocks)


martedì 25 ottobre 2022

Visual Studio 2022 inviare e ricevere sms dall'emulatore Android Smartphone MAUI

 

Per chi sviluppa applicazioni multi piattaforma con il Framework MAUI, nel caso che vuole fare una simulare per l'invio e ricezione di SMS, tramite le opzioni dell'emulatore, può fare una tale prova.

Le opzioni, si trovano tramite i tre puntini posizionati in basso alla barra, e nella sezione "Phone" è possibile inviare un messaggio SMS al numero dell'emulatore che è  quello che troviamo di default (650) 555-1212 .

Un ambiente di sviluppo completo per realizzare applicazioni multi piattaforma con MAUI.



lunedì 24 ottobre 2022

Programma gratuito media player open source

Dal seguente sito https://mpv.io/ è possibile scaricare un programma gratuito per la gestione dei video.

Il programma è anche open source, ossia con disponibilità dei sorgenti.

Un programma ben fatto.

Per il download e maggiori informazioni visitate il sito indicato.


domenica 23 ottobre 2022

Download gioco Fallout 3: Game of the Year Edition

 

Disponibile gratuitamente e senza limitazioni il gioco di guerra Fallout 3, per un pubblico maggiorenne.

Il gioco è in lingua italiana ed è disponibile per un pubblico adulto.

Fino al 27 ottobre 2022 il download del gioco è gratuito dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito Fallout 3: Game of the Year Edition | Acquistalo e scaricalo subito sull'Epic Games Store

Elenco sfondi di Bing dal 2010 ad oggi

 

Interessante il seguente sito https://peapix.com/bing/it/2022/10 che offre la possibilità di vedere e scaricare gli sfondi di bing, dal 2010 ad oggi. Suddiviso per anni e mesi, fornisce tutti le immagini che ogni giorno sono pubblicate nel motore di ricerca Microsoft.


sabato 22 ottobre 2022

Download gioco Evoland Legendary Edition

 


Disponibile gratuitamente e senza limitazioni il gioco di avventura Evoland Legendary Edition, un gioco per sistemi operativi con una grafica semplice.

Fino al 27 ottobre 2022 il download sarà gratuito dopo tale data, il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito Evoland Legendary Edition | Acquistalo e scaricalo subito sull'Epic Games Store

Download editor coding

 

Una versione pubblica e gratuita di un ambiente di sviluppo gratuito realizzato da JetBrains.

L'editor Fleet scaricabile qui JetBrains Fleet: The Next-Generation IDE by JetBrains fornisce strumenti e funzionalità per lo sviluppo di software in con vari linguaggi, tra cui C#.

Per maggiori informazioni e download visitate il sito indicato.

venerdì 21 ottobre 2022

C# vibration in MAUI for Smartphone

Se vogliamo effettuare la vibrazione allo smartphone tramite C# ed il Framework MAUI, dobbiamo utilizzare l'interfaccia Ivibration. 
Prima di scrivere il codice, occorre impostare nel file Android Manifest l'utilizzo abilitato alla vibrazione.
Nel file "AndroidManifest.xml" situato nella cartella "Android", scriviamo la seguente abilitazione:

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

Di seguito la schermata di tale impostazione.



Oppure nel file "AssemblyInfo", l'autorizzazione, il tutto come mostrato qui di seguito:
[assembly: UsesPermission(Android.Manifest.Permission.Vibrate)]

Ora non resta che scrivere il codice in C#, passando al metodo "Vibrate" i secondi per quanto farlo vibrare.
Di seguito il frammento di codice.

Vibration.Default.Vibrate(TimeSpan.FromSeconds(3));


Se invece vogliamo fermare la vibrazione dobbiamo utilizzare il metodo "Cancel" qui di seguito il frammento di codice.

Vibration.Default.Cancel();


giovedì 20 ottobre 2022

Servizio online gratuito di editor pdf

 

Il sito Free PDF Editor | The Best Online PDF Editor by DocFly offre la possibilità di modificare i file pdf, ed una volta modificati, poter effettuare la stampa oppure salvarli in formato pdf con le relative modifiche.

Il servizio è gratuito e non richiede ne registrazioni e ne email.


mercoledì 19 ottobre 2022

Programma gratuito per la creazione di video giochi

 


Per tutti coloro che cercano un software gratuito per la creazione dei video giochi, possono trovare in GDevelop, qui Free and Easy Game-Making App | GDevelop uno strumento molto valido e che offre interessanti funzionalità.

Il sito è in lingua inglese, ma ben fatto con all'interno anche il manuale di utilizzo del programma.


martedì 18 ottobre 2022

Servizio online per tagliare pezzi di file audio

Il seguente sito https://mp3cutter.io/ offre gratuitamente la possibilità di tagliare un file audio secondo la traccia desiderata.
Dopo aver caricato il file, è possibile selezionare il pezzo del file audio ciò che si vuole avere, selezionando tramite l'indicatore visibile.
Anche se è in lingua inglese è facilmente utilizzabile.
Non richiede ne registrazioni e ne email.

lunedì 17 ottobre 2022

C# LINQ to get items in one List<>, that are not in another List<>

Supponiamo di avere due liste di oggetti che hanno una serie di proprietà, questi oggetti contengono n dati e vogliamo verificare che i dati presenti in uno non ci sono nell'altro. Per esempio gli oggetti mappano due tabelle con le stesse colonne ma che si vuole vedere la differenza tra il primo ed il secondo.

La classe che utilizzeremo come oggetto e lista è la seguente:

  public class Anagrafica
    {
        public string Nome { get; set; }
        public string Cognome { get; set; }
    }


Di seguito l'inizializzazione della classe con una ipotetica fonte dati:


 List<Anagrafica> AnagraficaOrigine = CaricaDati();

 List<Anagrafica> AnagraficaDestinazione = CaricaDati();

Ora che i due oggetti contengono i dati per le due proprietà (nome e cognome) dobbiamo effettuare una select per vedere quali dati mancano nel secondo oggetto utilizzando le proprietà come condizione di scrematura dati.


 var risultato = AnagraficaOrigine .Where(a => !AnagraficaDestinazione .Any(b => a.Nome  == b.Nome && a.Cognome== b.Cognome));

L'oggetto "risultato" avrà i valori che non sono presenti nell'oggetto "AnagraficaDestinazione.


               



domenica 16 ottobre 2022

Download ebook Cloud-Scale Data for Spring Developers

 


Come riportato nel sito della Community Microsoft, qui https://techcommunity.microsoft.com/t5/azure-developer-community-blog/attention-developers-the-cloud-scale-data-for-spring-developers/ba-p/3639501?ocid=AID3031635&utm_issue=October2022 è disponibile un ebook in lingua inglese sul mondo cloud.

Per consultare il libro, visitate il seguente sito https://azure.github.io/cloud-scale-data-for-devs-guide/ 

Sito online di foglio di calcolo con sheet polarisoffice

 


Se cercate un sito che fornisce gratuitamente la possibilità di modificare o creare un documento di tipo foglio di calcolo, che sono quelli  utilizzati per i calcoli, il sito Sheet polarisoffice, visibile qui https://sheet.polarisoffice.com/ fa al caso vostro.

Il sito fornisce la possibilità gratuitamente di caricare un file di calcolo o crearne uno nuovo, e dopo averlo modificato o creato tramite la parola "Download" è possibile scaricarlo.

Per maggiori informazioni ed utilizzo vedete il sito indicato.

sabato 15 ottobre 2022

DB2 la funzione trim

La funzione Trim, permette di eliminare gli spazi presenti nei vari record.
In DB2, la funzione Trim, viene utilizzando con un parametro, che indica se eliminare gli spazi iniziali (Leading) o quelli finali (Trailing) oppure entrambi (iniziali e finali) tramite il Both.

Di seguito un esempio SQL sull'utilizzo della funzione trim per eliminare gli spazi iniziali e finali.

SELECT TRIM(BOTH  FROM NomeCampo) AS  Alias
FROM     Schema.Tabella

venerdì 14 ottobre 2022

Download gioco ToeJam & Earl: Back in the Groove

 



Disponibile gratuitamente il gioco di strategia ToeJam & Earl back in the Groove, per sistemi operativi Windows e per sistemi operativi Mac.

Il gioco è in lingua italiana con una grafica molto semplice, adatto a tutti.

Fino al 20 ottobre 2022 il gioco si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per il download e maggiori informazioni visitate il seguente sito ToeJam & Earl: Back in the Groove! | Acquistalo e scaricalo subito sull'Epic Games Store

Microsoft Outlook abilitare o disabilitare l'invio e ricezione automatica dei messaggi

Figura 1 - La finestra per invio e ricezione automatica.

Nel caso che abbiamo la necessità di abilitare o disabilitare la ricezione automatica dei messaggi dopo n minuti, possiamo apportare la modifica nella schermata "Invio Ricezioni".

Per accedere alla finestra, andare alla voce "File", successivamente "Opzioni"(figura 2), nella finestra che viene aperta (figura 3) andate alla voce "Avanzate" e poi click sul pulsante "Invio Ricezione", al quale si aprirà la finestra per abilitare o disabilitare l'invio e ricezione dei messaggi, tramite la voce "Pianifica invio/ricezione automatica ogni ...." (figura 4).


Figura 2 - La voce opzioni

Figura 3 - la finestra delle opzioni

Figura 4 - La finestra per disabilitare o abilitare l'opzione di ricezione ed invio


giovedì 13 ottobre 2022

Download gioco gratuito Darkwood

 


Disponibile gratuitamente senza limitazioni di tempo il gioco horror Darkwood per sistemi operativi Windows.

Fino al 20 ottobre 2022 il gioco si potrà scaricare gratuitamente dopo tale data il download sarà a pagamento.

Per maggiori informazioni e download visitate il seguente sito Darkwood | Acquistalo e scaricalo subito sull'Epic Games Store

Strumento online per la conversione dei file

 


Un sito che fornisce numerosi strumenti online gratuiti e senza registrazione e senza lasciare email.

Tanti i convertitori di file, ma anche altre funzionalità che possono tornare utile ad ogni utente.

Il seguente sito Free PDF, Video, Image & Other Online Tools - TinyWow in lingua inglese, fornisce una serie di strumenti online gratuiti, facilmente utilizzabili anche da chi non conosce la lingua inglese.


mercoledì 12 ottobre 2022

Javascript componente gratuito OCR Tesseract

 

Il progetto https://tesseract.projectnaptha.com/ è un componente gratuito di tipo OCR, per trasformare rilevare il testo presente in un'immagine.

Il componente si utilizza in ambito web, in particolare con il linguaggio Javascript, e permette di estrapolare il testo dalle immagini.

Per maggiori informazioni e download visitate il sito indicato.

martedì 11 ottobre 2022

C# espressioni regolari per password complesse

Di seguito si riporta un frammento di codice nel linguaggio C# con espressioni regolari per le password complesse quale minimo 8 e massimo 16 caratteri, con lettera maiuscola e numero.

 string EspressionePassword = @"^(?=.{8,16}$)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9]).*$";

 bool valido = Regex.IsMatch(textBox1.Text, EspressionePassword);

lunedì 10 ottobre 2022

Entity Framework Core creazione dei modelli dal database

Di seguito si riporta il comando di Entity Framework Core, per la creazione delle classi dei modelli che rappresentano le tabelle di un database.
Nel caso che abbiamo un database con le varie tabelle e vogliamo creare le varie classi che sono i modelli delle tabelle tramite il comando Scaffold-DbContext possiamo crearle in automatico.

La prima fase è quella di aggiungere i riferimenti nuget al database, qui di seguito quelli per il database Sql Server.

EntityFramework
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.Tools

Poi nel progetto creare una cartella dove andranno i modelli, per esempio una cartella denominata "Models".
A questo punto dalla console Nuget, eseguire il comando qui di seguito:

Scaffold-DbContext "Data Source=NomeServer\SQLEXPRESS;Initial Catalog=Dati;Integrated Security=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Il comando richiede alcuni parametri, quali, la connessione al database, mettendo il nome del server ed il nome del database, il tipo di provider (in questo caso Sql Server) e la cartella dove creare i modelli (in questo caso Models).
Verranno creati i modelli sulla base del database impostato.


domenica 9 ottobre 2022

Programma online di video scrittura PolairsOffice

 


Sul web oggi come oggi si trovano interessanti soluzioni gratuite per le attività informatiche, tra queste anche un programma online di video scrittura.

Dal seguente sito https://word.polarisoffice.com/ è possibile utilizzare gratuitamente e senza registrazione o email, un programma online per la scrittura di testo, detto comunemente video scrittura per la creazione di documenti di testo..

Dopo aver caricato o creato un nuovo documento, tramite la parola "Download" è possibile scaricarle il file.

Per maggiori informazioni ed utilizzo, visitate il sito indicato.



sabato 8 ottobre 2022

Download gioco Slain: Back From Hell

 


Un gioco dalla grafica semplice ma che prende molto, parliamo del gioco Slain back from hell, disponibile gratuitamente per sistemi operativi Windows, fino al 13 ottobre 2022.

Il gioco è in lingua inglese.

Il download gratuito di questo gioco è fino al 13 ottobre 2022 dopo tale data il download sarà a pagamento, per maggiori informazioni e download visitate il seguente sito Slain: Back From Hell | Acquistalo e scaricalo subito sull'Epic Games Store 

finestra Strumenti di sviluppo in modalità di Internet Explorer su Edge

 


Il browser Edge, offre la possibilità di aprire i siti in modalità Internet Explorer, nel caso che dobbiamo fare il debug, ossia aprire la finestra degli strumenti di sviluppo, non è possibile farlo con il tasto F12 come avviene con Edge.

Per aprire la finestra per esaminare il sito, occorre aprire IEChooser che permette di gestire il codice dei siti che sono aperti in modalità Internet Explorer.

Da esegui digitate il seguente comando "%systemroot%\system32\f12\IEChooser.exe" verrà aperta una finestra che ci indica quale sito esaminare, selezionare il sito di nostro interesse, ed a questo punto avremo la finestra per gestire il debug e lo sviluppo del sito.


venerdì 7 ottobre 2022

Download gratuito gioco Rising Hell

 


Disponibile gratuitamente e senza limitazioni il gioco di combattimento Rising Helle per sistemi operativi Windows.

Fino al 13 ottobre 2022 il download è gratuito, dopo tale data si potrà scaricare a pagamento, per maggiori informazioni e download visitate il seguente sito Rising Hell | Acquistalo e scaricalo subito sull'Epic Games Store

capterra sito per trovare il software o alternativa

Un sito italiano che fornisce informazioni su vari software divisi per categorie o alternative a quello che si sta cercando.
Il sito capterra https://www.capterra.it/ fornisce informazioni su software in determinati settori, è possibile cercare digitando del testo oppure navigando tra le varie categorie.
Oltre a fornire informazioni sui programmi a pagamento e gratuiti, anche le possibile alternative.

giovedì 6 ottobre 2022

C# le MessageBox in MAUI

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_csharp-le-messagebox-in-maui_1809.aspx 

In questo articolo vedremo l’utilizzo dei vari messaggi a video da visualizzare all’utente, tramite il nuovo Framework Maui che permette la programmazione multipiattaforma.

Per chi ha già realizzato applicazioni in ambito Windows Application, avrà sicuramente utilizzato la classe per la visualizzazione dei messaggi a video, tramite la classe “MessageBox”.

In questo articolo, tramite il linguaggio di programmazione C# e l’ambiente di sviluppo Visual Studio 2022 community, vedremo come visualizzare in ambito Desktop application e smartphone Android un messaggio da proporre all’utente.

Creazione del progetto

Si crea un nuovo progetto MAUI tramite il linguaggio C#, impostando la versione del Framework 6.

Nella finestra che viene aperta, inseriamo 4 pulsanti ed un controllo di tipo label nella parte del codice “XAML”, impostando le varie proprietà il tutto come mostrato qui di seguito.


XAML

 

            <Button

                x:Name="BtnAlert"

                Text="Messaggio"

               

                Clicked="BtnAlert_Clicked"

                HorizontalOptions="Center" />

 

<Label  x:Name="lblRisultatoMessaggio"

                    Text="Risultato Messaggio"

                    FontSize="14"

                    HorizontalOptions="Center">

               

            </Label>

             

            <Button

                x:Name="BtnAlertSiNo"

                Text="Alert Si e no"

                SemanticProperties.Hint=""

                Clicked="BtnAlertSiNo_Clicked"

                HorizontalOptions="Center" />

            <Button

                x:Name="BtnMessagggio"

                Text="Messaggio"

                HorizontalOptions="Center"

                Clicked="BtnMessagggio_Clicked"></Button>

 

            <Button

                x:Name="BtnPrompt"

                Text="Messaggio Prompt"

                HorizontalOptions="Center"

                Clicked="BtnPrompt_Clicked"></Button>


Ponendo attenzione nella creazione degli eventi click dei singoli pulsanti, in quanto andremo a gestire il click dei singoli pulsanti.

Ora ci spostiamo nella parte del codice, ed in particolare nell’evento click “BtnAlert_Click”.

In questo evento utilizzeremo il metodo “DisplayAlert”, per visualizzare un messaggio a video informativo (figura 1) . 

Di seguito si riporta un esempio di codice dell’utilizzo.

C#

private void BtnAlert_Clicked(object sender, EventArgs e)

    {

        DisplayAlert("Esempio", "Benvenuto nel mondo MAUI", "Chiudi");

    }

Come si è visto dal frammento di codice precedente, il metodo accetta vari argomenti, tra i quali, il titolo del messaggio, il testo da visualizzare ed il testo per l’unico pulsante che è quello di chiusura form.

Figura 1 – Il messaggio a video in ambito applicazione per desktop

Lo stesso codice, possiamo utilizzarlo anche per dispositivo “Mobili” con sistema operativo “Android”.

Dall’ambiente di Visual Studio 2022, avviamo il “Gestore dispositivi Adroid” per aprire la finestra degli emulatori, ed avviamo quello installato, per esempio il “Pixel 5” che è uno che troviamo di default durante l’installazione di questa piattaforma.

Una volta avviato l’emulatore, non resta che eseguire il nostro programma selezionando come destinazione “Pixel5 – API 31” che è il nome dell’emulatore Android.

In questo modo verrà caricato nell’emulatore il nostro programma e potremmo fare le prove, il tutto come mostrato in figura 2.

Figura 2 – L’esecuzione della nostra applicazione su emulatore Android

Terminata la prova di verifica del codice, scriviamo il codice per il secondo pulsante,

Nel pulsante con il nome “BtnAlertSiNo” scriveremo il codice per visualizzare a video un messaggio di domanda, la quale risposta può essere si o no, com’è avviene per le Windows Application, quando si vuole chiedere se l’utente vuole cancellare oppure no un record, quindi la conferma di una determinata azione da parte dell’utente.

Passiamo in visualizzazione codice, nell’evento click del pulsante scriviamo il codice per visualizzare un messaggio con i due pulsanti, utilizzando sempre la classe “DisplayAlert”, passando tra i vari parametri, il testo dei due pulsanti. Il risultato della scelta del pulsante sarà riportato nella label. 

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

C#

private async void BtnAlertSiNo_Clicked(object sender, EventArgs e)

      {

            bool risultato = await DisplayAlert("Titolo", "Testo del messaggio", "Si",   "No" );

 

        lblRisultatoMessaggio.Text = "Hai fatto click su: " + risultato.ToString();

 

    }


Come si vede in figura 3 e figura 4, viene visualizzo un messaggio simile per entrambi gli ambienti.


Figura 3 – Il messaggio a video di scelta su ambiente Desktop

Figura 4 – Il messaggio a video di scelta su ambiente Smartphone

Vediamo un altro esempio di visualizzare a video di un messaggio, questa volta a scelta multipla tramite il metodo “DisplayActionSheet” che permette di visualizzare a video un messaggio con diverse scelte.

Questo metodo visualizza un messaggio a video, nel quale possiamo chiedere all’utente di selezionare una voce di menu.

Scriviamo il codice di esempio per il pulsante denominato “BtnMessagggio” nel quale visualizzeremo nel controllo “label” la scelta selezionata.

Gli argomenti da passare al metodo “DisplayActionSheet” sono il testo del messaggio da visualizzare, il testo del pulsante per chiudere la finestra, nel caso che non si vuole fare nessuna scelta, il testo da passare per nascondere il messaggio, nel nostro caso passeremo il valore null, ed infine le varie scelte da visualizzare.   

Si riporta il frammento di codice delle suddette operazioni.

C#

private async void BtnMessagggio_Clicked(object sender, EventArgs e)

      {

            string risultato = await DisplayActionSheet("Come vuoi essere contattato?", "Chiudi", null"Email", "Telefono");

            lblRisultatoMessaggio.Text = risultato;    

      }


Figura 5 – La visualizzazione del messaggio su Desktop


Figura 6 – La visualizzazione del Messaggio su Smartphone

Siamo giunti quasi al termine dell’articolo, in quest’ultimo esempio di codice, utilizziamo questa volta il metodo “DisplayPromptAsync” il quale permette all’utente di inserire del testo nella finestra che viene visualizzata.

Questa popup a differenza delle precedente, permette di avere una casella di testo di testo libero, oppure con alcune restrizioni per esempio lunghezza massima del testo, valore predefinito, o aprire direttamente la tastiera numerico, in quest’ultimo caso solo per ambiente smartphone.

Il metodo accetta come parametri, un testo per il titolo del popup, il testo del messaggio, il pulsante di chiusura o annullamento con il quale possiamo rilevare il testo digitato, possibile valore iniziale da visualizzare della popup, la lunghezza massima del testo o numero da inserire, e la visualizzazione della tastiera (solo per Smartphone ).

Nel frammento di esempio qui di seguito, visualizza una serie di possibilità di utilizzo, il cui risultato verrà visualizzato nella label, nel caso che si seleziona il pulsante “Annulla” il valore restituito è null.

C#

private async void BtnPrompt_Clicked(object sender, EventArgs e)

      {

string risultato = await DisplayPromptAsync("Titolo", "Come ti chiami?", "OK", "Annulla");

            lblRisultatoMessaggio.Text = risultato; //Se click su "Annulla" restituisce valore null

//Imposta un valore di default

        string risultato2 = await DisplayPromptAsync("Titolo", "Come ti chiami?", "OK", "Annulla", initialValue:"Ema");

//Imposta una lunghezza fissa di testo

        lblRisultatoMessaggio.Text = risultato2;  

        string risultato3 = await DisplayPromptAsync("Titolo", "Come ti chiami?", "OK", "Annulla",   maxLength:8);

        lblRisultatoMessaggio.Text = risultato3;   

//Imposta un valore di default, una lunghezza fissa e la visualizzazione della tastiera numerica

        string risultato4 = await DisplayPromptAsync("Titolo", "Anni?", "OK", "Annulla", initialValue:"1", maxLength: 3, keyboard:Keyboard.Numeric);

        lblRisultatoMessaggio.Text = risultato4;  

}




Figura 7 – Esempio del messaggio su smartphone

Ora non resta che testare anche questo frammento di codice o tutti quanti, per vedere i vari utilizzi dei messaggi.

Facciamo le prove su entrambi gli ambienti, sia in ambito Desktop e sia in ambito Smartphone, tramite l’emulatore presente in Visual Studio 2022 Community.

Conclusioni

Siamo giunti alla conclusione di questo articolo che ha fornito al lettore una panoramica sui messaggi da visualizzare a video. Per coloro che hanno realizzato in passato oppure attualmente utilizzano applicazioni di tipo Desktop, avranno senz’altro fatto uso dei messaggi a video per l’utente, spesso utilizzati in caso di cancellazione di un dato, per avere conferma da parte dell’utente.

Con il Framework MAUI, queste popup sono diverse ed offrono allo sviluppatore semplicità e personalizzazione a seconda delle proprie esigenze, che possiamo utilizzare in vari ambienti, non solo Desktop ma anche mobile.

L’articolo ha voluto fornire una panoramica sulle varie popup che mette a disposizione questo Framework per la programmazione multipiattaforma.

mercoledì 5 ottobre 2022

C# Introduzione a MAUI con Visual Studio 2022

Si riporta l'articolo scritto per il sito https://www.iprogrammatori.it/articoli/microsoft-net-framework/art_csharp-introduzione-a-maui-con-visual-studio-2022_1806.aspx  

Con l’aggiornamento di Visual Studio 2022 alla versione 17.3, è possibile aggiungere ai modelli esistenti in Visual Studio 2022, anche la programmazione multipiattaforma, denominata MAUI.

Questo nuovo modo di sviluppare per sistemi diversi, quali Windows, Mac, Android, Ubuntu è in versione definitiva ed è utilizzabile con C#.

Lo sviluppo di applicazioni è simile a Xamarin, quindi chi in precedenza ha utilizzato questo framework per la programmazione troverà molto semplice ed intuitiva l’utilizzo di questo nuovo framework e modelli.

In questo breve articolo, vediamo come configurare il nostro ambiente di sviluppo e visualizzare a video un messaggio.


Impostare la nuova funzionalità

La prima operazione da fare è quella di aprire “Visual Studio Installer” e nella finestra che viene visualizzata, troveremo una nuova opzione di modello e componente, la voce “Sviluppo dell’interfaccia utente di app . Net multipiattaforma”, il tutto come mostrato in figura 1.

Figura 1 – La finestra delle opzioni.



Selezioniamo tale componente, nel fare click sul quadrato e poi click sul pulsante “Installa durante il “download” e modifica.

A questo punto verrà avviato il download del componente e la relativa installazione, il tutto come mostrato in figura 2.

Figura 2 – L’installazione del nuovo componente.

Attendiamo che completi l’installazione, ed una volta terminata l’installazione chiudiamo la finestra relativa alla modifica dei componenti ed aggiornamenti di Visual Studio 2022.

Apriamo Visual Studio 2022, e nel creare un nuovo progetto noteremo che è stato aggiunto il modello MAUI, il tutto come mostrato in figura 3.

Figura 3 – Il modello MAUI nella creazione nuovo progetto


Proviamo a creare un nuovo progetto, di tipo “App.Net Maui”, dando un nome e selezionando come versione del Framework il valore “.Net 6”. 

Si aprirà un progetto con applicazioni per i vari ambienti e con lo sviluppo di applicazioni di tipo “XAML”, se proviamo ad eseguire l’applicazione, almeno per applicazione “Desktop”, verrà chiesto all’utente di abilitare il “Firewall” per questa app, il tutto come mostrato in figura 4.

Figura 4 – La finestra per abilitare il firewall a determinate app.


Facciamo click sul pulsante “Consenti accesso”, in modo che viene eseguita la nostra applicazione.

Le applicazioni MAUI fanno uso anche di emulatori per testare e vedere il risultato finale della nostra applicazioni anche in altri ambienti, tra i quali smartphone di tipo “Android”.

Quando viene eseguita l’applicazione per la prima volta, ci chiede di accettare la licenza del “SDK” (figura 5) per l’emulatore “Android” in modo che possiamo installare un’ambiente virtuali con il quale fare le prove come se fosse lo smartphone.

Figura 5 – La richiesta di accettare licenza di Android.


Facciamo click sul pulsante “Accetta”, in modo che possiamo proseguire nell’installazione e configurazione dell’ambiente “Android” per simulare le nostre applicazioni su Smartphone con questo sistema operativo.

Per effettuare le prove su tale ambiente, occorre aver installato sul pc, la funzionalità di virtualizzazione di Windows 11 denominata Hyper-V, questo ci verrà chiesto tramite un messaggio, che ci chiede di installare questo componente.

Dalla finestra dei componenti Windows installati, selezioniamo la voce “Hyper-V”, tutta, e la voce “Piattaforma Windows Hypervisor” il tutto come mostrato in figura 6.

Figura 6 – Le funzionalità di Windows da installare.


Questo componente è indispensabile per il passaggio successivo che è quello creare ed installare l’ambiente di simulazione relativo allo smartphone. Proseguendo, ci verrà chiesto tramite apposita finestra, di creare un dispositivo “Android” (figura 7) con il quale possiamo in seguito aggiungere le varie versioni di Android, su modelli di esempio di Smartphone

Figura 7 – La creazione dell’emulatore Android.


Prima di procedere all’installazione dell’emulatore, verrà visualizzato un messaggio dell’installazione del componente “Hyper-V” (figura 8).

Figura 8 – Il messaggio per installare il componente di Windows


Fare click sul pulsante “Documentazione” e poi aggiungere il componente, a questo punto dopo averlo aggiunto si può proseguire con l’installazione tramite il pulsante “Esegui comunque”.

Verrà aperta un ulteriore finestra, che è la “Gestione Dispositivi Android” con il quale viene visualizzato l’emulatore che si sta installando e il termine dell’installazione, il tutto come mostrato in figura 9.

Figura 9 – L’installazione dell’emulatore.


 A questo punto per rendere effettive le modifiche, verrà visualizzato un messaggio a video, per chiedere il riavvio del pc, facciamo riavvia il pc per apportare le modifiche richieste.

Dopo il login, apriamo Visual Studio 2022, e riprendiamo il progetto creato in precedenza, verrà visualizzato il codice XAML relativo al file “MainPage”, e nella cartella “Platform” altre sotto cartelle dei relativi sistemi operativi (Figura 10).

Figura 10 – Le varie piattaforme.


 Modifichiamo il codice presente in MainPage, che è simile a questo qui di seguito.

  <Label

                Text="Hello, World!"

                SemanticProperties.HeadingLevel="Level1"

                FontSize="32"

                HorizontalOptions="Center" />

 

            <Label

                Text="Welcome to .NET Multi-platform App UI"

                SemanticProperties.HeadingLevel="Level2"

                SemanticProperties.Description="Welcome to dot net Multi platform App U I"

                FontSize="18"

                HorizontalOptions="Center" />

 

            <Button

                x:Name="CounterBtn"

                Text="Click me"

                SemanticProperties.Hint="Counts the number of times you click"

                Clicked="OnCounterClicked"

                HorizontalOptions="Center" />


Con il seguente codice o semplicemente modificando le varie proprietà “Text” dei controlli “Label” e “Button”, come riportato qui di seguito.

<Label

                Text="Applicazione MAUI"

                SemanticProperties.HeadingLevel="Level1"

                FontSize="32"

                HorizontalOptions="Center" />

 

            <Label

                Text="Semplice applicazione multi piattaforma"

                SemanticProperties.HeadingLevel="Level2"

                SemanticProperties.Description="Dimostrazione applicazione"

                FontSize="18"

                HorizontalOptions="Center" />

 

            <Button

                x:Name="CounterBtn"

                Text="Messaggio"

                SemanticProperties.Hint="Counts the number of times you click"

                Clicked="OnCounterClicked"

                HorizontalOptions="Center" />

Passiamo in visualizzazione codice (tramite F7) e nell’evento click del pulsante che viene generato automaticamente con il valore “OnCounterClicked” eliminiamo il codice presente, con la visualizzazione di un messaggio a video, come riportato qui di seguito.

private void OnCounterClicked(object sender, EventArgs e)

      {

            DisplayAlert("Esempio", "Benvenuto nel mondo MAUI", "Chiudi");

             

      }


Non resta che eseguire la nostra applicazione, di default, avremo impostato l’applicazione “Windows Machine” con la voce “Framework” impostata su “Net6.0-Windows….”, il tutto come mostrato in figura 11.


Figura 11 – La piattaforma su cui eseguire l’applicazione.

Eseguiamo la nostra applicazione, che potrebbe chiederci di abilitare la modalità sviluppatore, e aprendo la finestre delle opzioni abilitiamo tale opzione (figura 12).

Figura 12 – La modalità sviluppatore.

A questo punto la nostra applicazione sarà avviata, come mostrato qui di seguito.


Figura 13 – L’applicazione in ambiente Desktop.

Ora chiudiamo l’esecuzione del programma, e selezioniamo come ambiente “Android” selezionando l’emulatore “Pixel 5 – API” (figura 14), in modo che sarà visualizzato in ambiente Android.


Figura 14 –L'ambiente smartphone dove effettuate il test.


Dopo aver impostato come piattaforma l’ambiente “Android”, possiamo o avviare tramite pulsante la funzionalità “Gestione Dispositivi Android” oppure eseguire direttamente l’applicazione che aprirà a sua volta la funzionalità per la gestione dei dispositivi Android, impiegando più tempo.

Attendiamo qualche minuto, sull’emulatore “Android” sarà visibile la nostra applicazione al quale fare i vari test.


Figura 15 – L’emulatore Android per testare l’applicazione


Conclusioni

L’articolo ha voluto fornire le basi e soprattutto i primi passi di utilizzo della programmazione multipiattaforma con il linguaggio C# e l’ambiente di sviluppo Visual Studio 2022.

Per chi ha utilizzato l’ambiente XAMARIN, non troverà difficoltà ad utilizzare questo framework e modello di progetto, visto che è quasi identico alla piattaforma XAMARIN.

Oggi come oggi lo sviluppo di applicazioni che girano su più sistemi operativi è molto richiesto, e con questa nuova versione dell’ambiente di sviluppo e framework, vengono forniti allo sviluppatore strumenti molto potenti e che semplificano la scrittura di codice e dei vari progetti.