elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Píldoras formativas en seguridad de la información


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (Moderadores: Novlucker, seba123neo, kub0x, Eleкtro)
| | | |-+  Codigo QR
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Codigo QR  (Leído 348 veces)
PETTETE

Desconectado Desconectado

Mensajes: 77


Ver Perfil
Codigo QR
« en: 12 Abril 2017, 07:33 »

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;)


En línea

pkj

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Codigo QR
« Respuesta #1 en: 12 Abril 2017, 09:38 »

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


En línea

PETTETE

Desconectado Desconectado

Mensajes: 77


Ver Perfil
Re: Codigo QR
« Respuesta #2 en: 12 Abril 2017, 09:51 »

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


mas o menos el codigo es ese..

una ayudita porfaaaaaa!
« Última modificación: 12 Abril 2017, 10:00 por PETTETE » En línea

Eleкtro
Novato Astral y
Moderador Global
***
Conectado Conectado

Mensajes: 8.824


El sentido común es el menos común de los sentidos


Ver Perfil
Re: Codigo QR
« Respuesta #3 en: 12 Abril 2017, 10:30 »

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!
« Última modificación: 12 Abril 2017, 10:45 por Eleкtro » En línea


NEBIRE

Desconectado Desconectado

Mensajes: 277


Ver Perfil
Re: Codigo QR
« Respuesta #4 en: 12 Abril 2017, 17:24 »

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.

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines