¿Como puedo crear codigos alfanumericos de x digitos? existe alguna funcion o api para esto? Si hay algun post donde se explique esto, avisenme
Saludos!
hola lo que puedes hacer es escribir en un txt o un dat a travez de random. Busca por ahi
En las msdn tienes ayuda sobre el tema
saludos
si pero ramdon me genera un numerito, y yo qero una clave de 10 numeros y letras, buscare en la msdn
Gracias!
Podrias generas una variable con random k diera numeros aleatorios entre 1 y (num.caracteres del text), k diera unos cuantos valores y los caracteres correspondientes cambiarlos a letras.
Ej: text = 10 caracteres
variable aleatoria te da los valores 2, 5 y 9.
Al segundo, quinto y noveno caracter le poner el Chr$(pa pasarlo a letra) y ya esta.
podria, pero si me diera el 1?? eso en ascii me parece q es nulo, weno ya me pasaron un codigo, y creo q mas o menos es como tu dices, os lo pego por si a alguien le interesa:
Private Function Palabra(iCarMin As Integer, iCarMax As Integer) As String
Dim sPalabra As String
Dim iTotalCarac As Integer
If iCarMin > iCarMax Then Exit Function
iTotalCarac = Int((iCarMax - iCarMin + 1) * Rnd + iCarMin)
For j = 1 To iTotalCarac
sPalabra = sPalabra + Chr(Int((122 - 97 + 1) * Rnd + 97))
Next j
Palabra = sPalabra
End Function
Nota: iCarMin = Caracteres minimos que quieres que tenga la cadena
iCarMax = Caracteres Maximos que tendra la cadena
CitarsPalabra = sPalabra + Chr(Int((122 - 97 + 1) * Rnd +97))
1 question: si le pones el chr$ a todo solo deberian salir letras, no?
Si el procedimiento ahora solo hace letras, pero weno me vale, ¿se les ocurre como hacer para que intercale numeros?
CitarDim letra As String
Dim final As String
Dim DigitosMax As Integer
DigitosMax = 10 'NUMERO DE DIGITOS
Dim i As Integer
For h = 1 To DigitosMax
Randomize Timer
i = Rnd * 35 + 1
Select Case i
Case 10
letra = "A"
Case 11
letra = "B"
Case 12
letra = "C"
Case 13
letra = "D"
Case 14
letra = "E"
Case 15
letra = "F"
Case 16
letra = "G"
Case 17
letra = "H"
Case 18
letra = "I"
Case 19
letra = "J"
Case 20
letra = "K"
Case 21
letra = "L"
Case 22
letra = "M"
Case 23
letra = "N"
Case 24
letra = "O"
Case 25
letra = "P"
Case 26
letra = "Q"
Case 27
letra = "R"
Case 28
letra = "S"
Case 29
letra = "T"
Case 30
letra = "U"
Case 31
letra = "V"
Case 32
letra = "W"
Case 33
letra = "X"
Case 34
letra = "Y"
Case 35
letra = "Z"
Case Else
letra = i
End Select
final = final & letra
Next h
If Len(final) > DigitosMax Then
final = Mid(final, 1, DigitosMax) 'Por si se pasa de los DigitosMAX xD
End If
Text1.Text = final
puedes añadir mas letras o lo que quieras cambiando el RNd y añadiendo mas Case X
CitarFor j = 1 To iTotalCarac
sPalabra = sPalabra + Chr(Int((122 - 97 + 1) * Rnd + 97))
Next j
Pues con una variable aleatoria k diero valores entre 1 o 0, en caso k diera 1 k se ejecute la orden con el chr$. En caso k diera 0 pues k ejecute una orden como la anterior pero sin el chr$.
Supongo k algo asi:
dim R as integer
randomize timer
R = int(rnd*2)
For j = 1 To iTotalCarac
if R = 1 then
sPalabra = sPalabra + Chr(Int((122 - 97 + 1) * Rnd + 97))
elseif R = 0 then
sPalabra = sPalabra + Int((122 - 97 + 1) * Rnd + 97)
end if
Next j