Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ricardovinzo en 19 Septiembre 2008, 05:23 am



Título: como crear funcion que?
Publicado por: ricardovinzo en 19 Septiembre 2008, 05:23 am
Saludos, bueno estuve pensando pero de verdad que no encuentro una solucion, y es como creo una funcion para generar cadenas aleatorias que contenga numeros y letras, es decir un ejemplo de la cadena que hablo es

15gh5c1d5

eso seria un ejemplo, pero como hago una funcion para que me haga esto?

Gracais!


Título: Re: como crear funcion que?
Publicado por: Hans el Topo en 19 Septiembre 2008, 12:00 pm
Código:
Private Const c_caracteres = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890abcdefghijklmnñopqrstuvwxyz"

'parámetros opcionales
'cuantos caracteres necesitas y la ubicación de la cadena de donde sacarlos
Private Function dame_text_rnd(optional cuantos As Integer=1, optional cadena as string=c_caracteres) As String
   Dim i As Integer
   Dim longitud as integer
   longitud=Len(cadena)
   Randomize
   For i = 1 To cuantos
       dame_text_rnd = dame_text_rnd & Mid(cadena, Int((longitud * Rnd) + 1), 1)
   Next i
End Function


Título: Re: como crear funcion que?
Publicado por: Littl3 en 19 Septiembre 2008, 21:04 pm
Sencillo y eficaz mejor imposible :P


Título: Re: como crear funcion que?
Publicado por: ssccaann43 © en 19 Septiembre 2008, 21:46 pm
Pfff... Está buenisimo el ejemplo...


Título: Re: como crear funcion que?
Publicado por: cassiani en 19 Septiembre 2008, 21:49 pm
Código
  1. Private Function RndString(ByVal LongString As Integer) As String
  2. Dim I As Integer
  3.    Randomize Timer
  4.    For I = 0 To LongString - 1
  5.        Select Case (Int((3 * Rnd) + 1))
  6.            Case 1: RndString = RndString & Chr$(Int((10 * Rnd) + 48))
  7.            Case 2: RndString = RndString & Chr$(Int((26 * Rnd) + 65))
  8.            Case 3: RndString = RndString & Chr$(Int((26 * Rnd) + 97))
  9.        End Select
  10.    Next
  11. End Function


Título: Re: como crear funcion que?
Publicado por: BlackZeroX en 20 Septiembre 2008, 02:38 am
Código
  1. Private Function RndString(ByVal LongString As Integer) As String
  2. Dim I As Integer
  3.    Randomize Timer
  4.    For I = 0 To LongString
  5.        Select Case (Int((3 * Rnd) + 1))
  6.            Case 1: RndString = RndString & Chr$(Int((10 * Rnd) + 48))
  7.            Case 2: RndString = RndString & Chr$(Int((26 * Rnd) + 65))
  8.            Case 3: RndString = RndString & Chr$(Int((26 * Rnd) + 97))
  9.        End Select
  10.    Next
  11. End Function

Corrigiendo xP

Código
  1. Private Function RndString(ByVal LongString As Integer) As String
  2. Dim I As Integer
  3.    Randomize Timer
  4.    For I = 1 To LongString
  5.        Select Case (Int((3 * Rnd) + 1))
  6.            Case 1: RndString = RndString & Chr$(Int((10 * Rnd) + 48))
  7.            Case 2: RndString = RndString & Chr$(Int((26 * Rnd) + 65))
  8.            Case 3: RndString = RndString & Chr$(Int((26 * Rnd) + 97))
  9.        End Select
  10.    Next
  11. End Function


el anterior me daba 11 caracteres cuando yo pedia 10 je xP este me gusta mas


Título: Re: como crear funcion que?
Publicado por: cassiani en 20 Septiembre 2008, 04:25 am
claro, se me escapo, esa era la idea  ;)

saludos!