42 messaggi dal 10 giugno 2010
Buonasera,

sto cercando di generare QR code utilizzando MVC 5. Non ho nessun problema particolare nella gestione di diversi tipi di QR (sms, testo, mms ecc...), ma solo con il tipo Calendar.

In particolare, sto utilizzando la libreria GMA.QRCODENET.

Ho impostato una stringa url formattata nel seguente modo:

url = "";
url = url + "BEGIN:VEVENT ";
url = url + "SUMMARY:Test ";
url = url + "DTSTART;VALUE=DATE:20120124 ";
url = url + "DTEND;VALUE=DATE:20120125 ";
url = url + "END:VEVENT ";

Il problema è che il QR-CODE generato non viene decodificato come calendar, ma come testo.

Ho provato a generare un qr di tipo calendar da un generatore online, e quando procedo con la decodifica mi viene riconociuto come tipo Calendar e non come testo. Anche inserendo lo stesso codice, la decodifica non va a buon fine.

Qualcuno ha avuto esperienze in merito? Potrebbe essere un problema di codifica di caratteri? Conoscete qualche libreria per la generazione di QR (anche a pagamento!)?

Grazie mille.
11.884 messaggi dal 09 febbraio 2002
Contributi
ciao,
prova a sostituire gli spazi che hai inserito in fondo alla stringa con un \n, cioè un "a capo". A quel punto dovrebbe andare.

Ecco un esempio che ti permette di parametrizzare i valori:
var summary = "Community Days";
var location = "Peschiera Borromeo (MI)";
var dtStart = new DateTime(2015, 3, 24, 9, 0, 0);
var dtEnd = new DateTime(2015, 3, 26, 18, 0, 0);
var evento = string.Format("BEGIN:VEVENT\n" +
             "SUMMARY:{0}\n" +
             "LOCATION:{1}\n" +
             "DTSTART:{2:yyyyMMdd'T'HHmmss}\n" +
             "DTEND:{3:yyyyMMdd'T'HHmmss}\n" +
             "END:VEVENT",
             summary, location, dtStart.ToUniversalTime(), dtEnd.ToUniversalTime());

QrEncoder qrEncoder = new QrEncoder(ErrorCorrectionLevel.M);
QrCode qrCode = qrEncoder.Encode(evento);

Su Windows Phone 8.1, la scansione con Bing Vision non sembra rilevare il codice come evento ma se installi l'applicazione Qr Code Reader allora potrai aggiungerlo al calendario.

ciao,
Moreno
Modificato da BrightSoul il 20 dicembre 2014 23.43 -

Enjoy learning and just keep making
42 messaggi dal 10 giugno 2010
Ciao Grazie per il suggerimento,

effettivamente funziona.

Stavo provando a fare il reverse eng di un QRCODE creato da un generatore online e funzionante.

Anche la soluzione di generare la stringa da codificare usando la modalità raw funziona:

url = @"BEGIN%3AVEVENT%0D%0ASUMMARY%3A"+dati.IcalSoggetto+"%0D%0ADTSTART%3A"+sinizio+"%0D%0ADTEND%3A"+sfine+"%0D%0ALOCATION%3A"+dati.IcalLocation+"%0D%0ADESCRIPTION%3A"+dati.IcalDesc+"%0D%0AEND%3AVEVENT%0D%0A";

Ovviamente userò quella che mi hai indicato, che è sicuramente più pulita.

Grazie mille.

Ciao e Buon Natale

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.