Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Generador de Códigos de Autorización

Estas en el tema de Generador de Códigos de Autorización en el foro de Visual Basic clásico en Foros del Web. Hola, buenas tardes... He estado haciendo el siguiente programa en Visual Basic 6... Código: Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As ...
  #1 (permalink)  
Antiguo 16/06/2009, 12:04
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años
Puntos: 27
Pregunta Generador de Códigos de Autorización

Hola, buenas tardes...

He estado haciendo el siguiente programa en Visual Basic 6...

Código:
Private Declare Function GetVolumeInformation Lib "Kernel32" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long
Private Const MAX_FILENAME_LEN = 256

Public Function DriveSerial(ByVal sDrv As String) As Long
    Dim retval As Long
    Dim str As String * MAX_FILENAME_LEN
    Dim str2 As String * MAX_FILENAME_LEN
    Dim a As Long
    Dim b As Long
    Call GetVolumeInformation(sDrv & ":\", str, MAX_FILENAME_LEN, retval, a, b, str2, MAX_FILENAME_LEN)
    DriveSerial = Mid(retval, 2, 10)
    
End Function
El cual me sirve para generar el serial del HD de mi computadora - aunque me parece que no es el correcto -, pero bueno. Tengo un formulario, donde tengo un botón para generar este serial, del cual me aparece una ventana donde me lo proporciona.

Código:
Private Sub BtnGenerar_Click()

 Dim LimiteInferior As Integer
    Dim LimiteSuperior As Integer
    Dim CadenaDate As String
    Dim CadenaRand As Integer
    Dim CadenaFinal As Integer
    
    'Randomize
    
    LimiteInferior = 1000
    LimiteSuperior = 9999
    
    CadenaDate = Mid(Date, 1, 2) & Mid(Date, 4, 2) & Mid(Date, 7, 4)
    CadenaRand = Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)
  
           MsgBox "Por favor, envíanos este número para generar tu Código de Autorización. " & DriveSerial("C") & CadenaDate & CadenaRand

End Sub
Luego, en el mismo formulario, tengo un TextBox, donde me gustaría que apareciera el Serial generado, lo cual no he podido lograr y tengo otro TextBox donde hay que colocar un Número de Autorización que se generará a partir del primer Serial (estoy trabajando en el algoritmo para ello).

Pero bueno, mis preguntas son las siguientes: ¿Cómo puedo colocar el serial generado en un textbox? y como almacenar ese serial en alguna variable para luego hacer el código de activación?

Agradezco sus comentarios, saludos.
  #2 (permalink)  
Antiguo 18/06/2009, 08:36
 
Fecha de Ingreso: noviembre-2008
Mensajes: 136
Antigüedad: 15 años, 5 meses
Puntos: 2
Mensaje Respuesta: Generador de Códigos de Autorización

Cita:
¿Cómo puedo colocar el serial generado en un textbox?
Código vb:
Ver original
  1. Private Sub BtnGenerar_Click()
  2.  
  3.     Dim LimiteInferior As Integer
  4.     Dim LimiteSuperior As Integer
  5.     Dim CadenaDate As String
  6.     Dim CadenaRand As Integer
  7.     Dim CadenaFinal As Integer
  8.    
  9.     Dim strSerial As String
  10.     'Randomize
  11.    
  12.     LimiteInferior = 1000
  13.     LimiteSuperior = 9999
  14.    
  15.     CadenaDate = Mid(Date, 1, 2) & Mid(Date, 4, 2) & Mid(Date, 7, 4)
  16.     CadenaRand = Int((LimiteInferior - LimiteSuperior + 1) * Rnd + LimiteInferior)
  17.  
  18.     strSerial = DriveSerial("C") & CadenaDate & CadenaRand
  19.     MsgBox "Por favor, envíanos este número para generar tu Código de Autorización. " & strSerial
  20.     Text1.Text = strSerial
  21. End Sub

Cita:
y como almacenar ese serial en alguna variable para luego hacer el código de activación?
Como puedes ver en el codigo anterior, el serial es almacenado en la variable strSerial, ya depende si el codigo lo vas a realizar dentro de este boton, o necesites declarar la variable a nivel de modulo para que todos tus procedimientos de este modulo (formulario) puedan tener acceso a esa variable.

Espero que te sea de utilidad.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:42.