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?
Una ayudita porfa.
Un saludo,
PETETE;)
Supongo que esos códigos QR son peticiones a bases de datos.
Si es mucho código, pón la direccion donde lo encontraste y ayudarás a otros. Eso de las bases de datos parece ser una locura.
Yo no entiendo de bases de datos, pero sin el código quizás nadie te conteste algo mejor que esto:
Por lo que he entendido y sin conocer ese form que dices, ya sea .NET o VB6, se me ocurre que el modo facil es insertar ese form en tu programa como un form normal (por ejemplo Form2), y cuando quieras generar un código de esos, cargas los valores en las casillas del form2 desde tu programa principal, ejecutas el boton "generar" que traiga el form2 y recoges el resultado de donde te aparezca.
El form2 se cargará en el momento que introduzcas el primer valor en una de sus casillas. Para que no se vea nunca el form2, ya que lo vas a usar desde código, solo tienes que hacerlo invisible en su evento Load y ya esta.
Espero haberme explicado... mas o menos.
Suerte
el link de la pagina es este:
http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=582 (http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=582)
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.
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
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!
Hola.
1. Esto va en el foro de Visual Basic.NET, esta duda NO tiene que ver con Visual Basic, lo sabes perfectamente puesto que muchas veces has publicado preguntas en el foro de .NET, así que por favor, que esto no se vuelva a repetir.
2. Revisando todas las preguntas que has formulado en los foros de programación, podemos comprobar que jamás has mediado una sola palabra de agradecimiento ni absolutamente ningún tipo de comentario/respuesta tras obtener la ayuda que pedías por parte mia o por parte de los demás compañeros del foro que te han entregado ayuda en bandeja. Creo que si una persona pide ayuda y se la entregan y le resuelven el problema, lo mínimo que esa persona debería hacer es mostrar gratitud; no seré yo quien te ayude esta vez a hacer tu trabajo... aunque lo que pides es facil.
¡Saludos!
Pués si, le doy la razón a EleKtro... aunque yo como llevo poco tiempo en el foro (en la nueva andadura), no te conozco, así que tienes otra oportunidad de 'redimirte' :silbar: :silbar: :silbar:
A - Todo lo que tienes que hacer es meter tus 'códigos' en un array.
B - Y luego invocar una función pasando ese array.
C - En dicha función es un bucle quien recorre el array invocando a la función de ese 'código misterioso superlargo y supersecreto (que encontraste)' (la verdad que si es tan largo como dices, ni siquiera será muy bueno), pasándole como parámetro el 'código' actualmente en ciclo del bucle. Esto es, por cada índice en el array se invoca esa supersecretaFunciónQR(array(k)).
D - Finalmente supongo que devuelve algo, no sé si una imagen o si un fichero... si es un fichero, quizás debas pasarle también una ruta, si es una imagen la guardas tu mismo a fichero.