vbQRCode: QRCode per Visual Basic

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

Icona

vbQRCode_Demo 0.00 KB 5265 downloads

...

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