Visual Basic.NET - codigo QR

 
Vista:
sin imagen de perfil

codigo QR

Publicado por PETETE (37 intervenciones) el 12/04/2017 12:40:51
buenas,

la duda de hoy es algo complidilla...

He encontrado en internet un codigo que genera codigos QR mediante codigo de VB.NET.

La cosa es que este codigo solo genera codigos QR de 1 en 1 y a mi me gustaría crar una serie entera de codigos QR. Por ejemplo, que desde el numero 1 hasta el 20 genere 1 codigo QR por numero. Y no se como hacerlo. Esto sobrepasa mis conocimientos de vb.net.

Os adjuntaría el codigo que he encontrado pero es largo... largo largo.. ya que esta acompañado de un form que te da distintas opciones de generar el codigo QR..

¿ Alguien sabe como puedo hacerlo?


la cosa es que este programa te permite escribir lo que quieres convertir en QR. lo que yo quiero converitr a QR son unos codigos.
los codigos los escribiria a mano, por ejemplo:
020000000000010000010 ( codigo 1)
020000000000010000020 ( codigo 2)
020000000000010000030 ( codigo 3)
020000000000010000040 ( codigo 4)

Lo que me gustaría hacer es que por cada codigo me genere un QR. Pero que me los genere a l vez, sin tener que meter un codigo cada vez que valla a realizar el QR. Si le meto 10 codigos pues 10 QR.

He conseguido reducir el codigo que genera los QR a la opcion que quiero, ahora mandoel codigo a ver si podeis echarle una ojeada y comentarme lo que sea.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
Imports ThoughtWorks.QRCode
Imports ThoughtWorks.QRCode.Codec
Imports ThoughtWorks.QRCode.Codec.Data
Public Class Form1
 
    Private Sub txtTextoLibre_TextChanged(sender As System.Object, e As System.EventArgs) Handles txtTextoLibre.TextChanged
        txtTextoQR.Text = txtTextoLibre.Text
    End Sub
Código
 
        Private Sub btGenerarQR_Click(sender As System.Object, e As System.EventArgs) Handles btGenerarQR.Click
 
            If txtEscalaPixel.Text.Trim = "" Then
                MsgBox("Debe indicar la escala de los píxeles del " +
                       "QR que se generará.",
                       MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
                txtEscalaPixel.Focus()
            Else
 
                If Val(txtEscalaPixel.Text) = 0 Then
                    txtEscalaPixel.Text = 4
                End If
 
                Dim generarCodigoQR As QRCodeEncoder = New QRCodeEncoder
 
                generarCodigoQR.QRCodeEncodeMode =
                   Codec.QRCodeEncoder.ENCODE_MODE.BYTE
                generarCodigoQR.QRCodeScale = Int32.Parse(txtEscalaPixel.Text)
 
                Select Case lsNivelCorreccion.Text
                    Case "Bajo (7%)"
                        generarCodigoQR.QRCodeErrorCorrect =
                            Codec.QRCodeEncoder.ERROR_CORRECTION.L
                    Case "Medio (15%)"
                        generarCodigoQR.QRCodeErrorCorrect =
                            Codec.QRCodeEncoder.ERROR_CORRECTION.M
                    Case "Alto (25%)"
                        generarCodigoQR.QRCodeErrorCorrect =
                            Codec.QRCodeEncoder.ERROR_CORRECTION.Q
                    Case "Muy alto (30%)"
                        generarCodigoQR.QRCodeErrorCorrect =
                            Codec.QRCodeEncoder.ERROR_CORRECTION.H
                End Select
 
                'La versión "0" calcula automáticamente el tamaño
                generarCodigoQR.QRCodeVersion = 0
 
                '' --------- Forzar una determinada version -----------
                ''En caso de querer forzar una determinada version 
                '(tamaño) el siguiente código devuelve la
                ''versión mínima para el texto que se quiere códificar:
                'Dim iVersion As Integer = 
                '    AdjustQRVersion(TextBox1.Text, QRCodeEncoder.QRCodeErrorCorrect)
                'If iVersion = -1 Then
                '    MessageBox.Show("El texto es demasiado grande o el " +
                '        "Correction Level (ERROR_CORRECTION) no es el apropiado")
                '    Exit Sub
                'Else
                '    qrCodeEncoder.QRCodeVersion = iVersion
                'End If
                '' -----------------------------------------------------
 
 
 
 
                Try
                    If opForzarUTF.Checked Then
                        'Con UTF-8 podremos añadir caracteres como ñ, tildes, etc.
                        imgQR.Image = generarCodigoQR.Encode(txtTextoQR.Text,
                                        System.Text.Encoding.UTF8)
                    Else
                        imgQR.Image = generarCodigoQR.Encode(txtTextoQR.Text)
                    End If
                Catch ex As Exception
                    MsgBox(ex.Message, MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
                End Try
            End If
 
        End Sub
 
        Private Sub btGuardarQR_Click(sender As System.Object, e As System.EventArgs) Handles btGuardarQR.Click
 
            Dim dlGuardar As New SaveFileDialog
 
            If IsNothing(imgQR.Image) Then
                MsgBox("No se ha generado el Código QR. Antes de guardar " +
                       "debe generar un código QR.",
                       MsgBoxStyle.Exclamation + MsgBoxStyle.OkOnly)
            Else
                dlGuardar.Filter = "JPEG|*.jpg|Mapa de Bits|*.bmp|Gif|*.gif|PNG|*.png"
                dlGuardar.Title = "Guardar código QR"
                dlGuardar.FileName = "codigo_qr"
                dlGuardar.ShowDialog()
                If (dlGuardar.FileName <> "") Then
                    Select Case dlGuardar.FilterIndex
                        Case 1
                            imgQR.Image.Save(dlGuardar.FileName,
                                System.Drawing.Imaging.ImageFormat.Jpeg)
                        Case 2
                            imgQR.Image.Save(dlGuardar.FileName,
                                System.Drawing.Imaging.ImageFormat.Bmp)
                        Case 3
                            imgQR.Image.Save(dlGuardar.FileName,
                                System.Drawing.Imaging.ImageFormat.Gif)
                        Case 4
                            imgQR.Image.Save(dlGuardar.FileName,
                                System.Drawing.Imaging.ImageFormat.Png)
                    End Select
                End If
            End If
        End Sub
 
    End Class




mas o menos el codigo es ese..

una ayudita porfaaaaaa!

Un saludo de vuestro amigo y vecino,
petete;)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Edward
Val: 396
Bronce
Ha disminuido 1 puesto en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

codigo QR

Publicado por Edward (146 intervenciones) el 12/04/2017 18:23:09
Buen día para todos,

Petete, Para generar códigos QR te recomiendo la librería ZXing ademas también te permite generar códigos de barra.

Ahora bien para lo que pretendes hacer puedes crear un array y ahí almacenar la cantidad de códigos que vas a generar o almacenarlos en un ListBox u otro control que cumpla con la necesidad.

Luego solo tendrías que usar un ciclo For para recorrer cada código y generar el QR.

Te dejo el link de la librería, es muy sencilla de usar, ademas es muy poco el código que se necesita para usarla.


https://zxingnet.codeplex.com/


Espero haber sido de ayuda.

Que tengan buen día,

El conocimiento siempre debe ser compartido, para que entre todos aprendamos un poco mas...

Mas ejemplos acá...

https://aprendamosdeprogramacion.wordpress.com/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar