vbQRCode é una classe per linguaggio Basic (Visual Basic 6.0/.NET/20xx) che permette di generare codici QRCode, senza l’utilizzo di OCX o DLL esterne: solo puro codice Visual Basic.
Funzioni
- Codifica BIN, ALPHA, NUMERIC. Possono essere codificate le seguenti quantità di informazioni (Versione 40, livello correzione errore L):
- NUMERIC: 7.089 caratteri (cifre 0-9)
- ALPHA: 4.296 caratteri (cifre 0-9; lettere maiuscole A-Z ed altri nove simboli: spazio,$%*+-./:)
- BIN 8 bit: 2.953 caratteri (byte 0-255)
- Versioni da 1 a 40. La versione indica la dimensione del codice. Versione 1 indica una matrice 21×21 e versione 40 una matrice 177×177.
- MicroQRCode da M1 a M4.
- Supporto per UTF-8.
- Livello di correzione errore L (7%), H (15%), M (20%) e Q (30%).
- Modelli per: testo libero, sms, email, contatti vCard, URL, …
- Esportazione diretta in formato BMP, EPS, SVG, HTML, WMF, Font (non proporzionale)
- Funzione di stampa diretta
- Aggiunta logo sul QRCode
Download
Come ottenere il codice sorgente
Il codice sorgente della libreria vbQRCode è rilasciato in cambio di un contributo allo sviluppo di almeno 30 euro.
Se ti interessa, puoi usare il pulsante “Donazione” qui sotto:
Puoi trovare altri modi per contribuire nella pagina delle donazioni o puoi contattarmi.
Screenshot
Ecco alcune schermate di esempio:
Esempio di utilizzo
Utilizzo con una PictureBox
'' Visual Basic 6.0
Set vbQRObj = New vbQRCode
vbQRObj.Encode("testo da codificare")
QRSize = vbQRObj.Size
Matrix() = vbQRObj.Matrix()
iScale = 5
For y = 0 To QRSize -1
For x = 0 To QRSize -1
If Matrix(y,x) = 1 Then
picCode.Line (x * iScale, y * iScale)- Step(iScale, iScale), vbBlack, BF
End If
Next
Next
Inserimento di un logo
'' Visual Basic 6.0
Set vbQRObj = New vbQRCode
Dim logo(10) As String
logo(0) = " 00000 "
logo(1) = " 0111110 "
logo(2) = " 011111110 "
logo(3) = "01100100110"
logo(4) = "01100100110"
logo(5) = "01111111110"
logo(6) = "01011111010"
logo(7) = "01101110110"
logo(8) = " 011000110 "
logo(9) = " 0111110 "
logo(10) = " 00000 "
Call vbQRObj.AddLogo(logo)
vbQRObj.Encode("testo da codificare")
'' ...
Salvataggio su file
'' Visual Basic 6.0
Set vbQRObj = New vbQRCode
vbQRObj.Encode("testo da codificare")
iScale = 5
'' Save to EPS format file
fb = FreeFile
Open "qrcode.eps" For Output As #fb
Print #fb, vbQRObj.GetEPS(iScale)
Close #fb
'' Save to SVG format file
fb = FreeFile
Open "qrcode.svg" For Output As #fb
Print #fb, vbQRObj.GetSVG(iScale)
Close #fb
End If
'' Save to HTML format file
fb = FreeFile
Open "qrcode.html" For Output As #fb
Print #fb, vbQRObj.GetHTML(iScale)
Close #fb
'' Save to BMP format file
fb = FreeFile
Open "qrcode.bmp" For Output As #fb
Print #fb, vbQRObj.GetBMP(iScale)
Close #fb
'' Save to WMF format file
fb = FreeFile
Open "qrcode.wmfp" For Output As #fb
Print #fb, vbQRObj.GetWMF(iScale)
Close #fb
Stampa diretta
'' Visual Basic 6.0
Set vbQRObj = New vbQRCode
vbQRObj.Encode("testo da codificare")
ModuleSize = 5
'' Print on default printer
Call vbQRObj.ToPrinter(Printer, XPos, YPos, ModuleSize)
Printer.EndDoc