Visual Basic - Generar Codigos Alfanumericos

Life is soft - evento anual de software empresarial
 
Vista:

Generar Codigos Alfanumericos

Publicado por Ing Tony Medina (1 intervención) el 23/04/2008 19:31:48
Saludos a usuarios del foro.
Realice una rutina para Generar Codigos Alg¡fanumericos, la cual es muy util para Generar Cidigos Unicos para almacenar datos en bases de datos. La caracteristica de que sean alfanumericos permite ahorrar longitud de los cogigos cuando son solo numericos.

Esta es la Rutina, sirve para VB 6 y VB.net

'Completa con ceros a la izquierda del codigo
Public Function strCodigo(ByVal Numero As String, ByVal Longitud As Byte) As String
strCodigo = Numero
While Len(strCodigo) < Longitud
strCodigo = "0" & strCodigo
Wend
End Function

'Genera codigo alfanumerico
Public Function strCodigoAlfa(ByVal AlfaN As String, Longitud As Byte) As String
Dim i As Integer, CaracterAnterior As String * 1, CadenaPosterior As String
AlfaN = strCodigo(AlfaN, Longitud)
AlfaN = UCase(AlfaN)
CadenaPosterior = ""
For i = Longitud To 1 Step -1
CaracterAnterior = Mid(AlfaN, i, 1)
strCodigoAlfa = Mid(AlfaN, 1, i - 1)
Select Case Asc(CaracterAnterior)
Case Asc("0") To Asc("8"), Asc("A") To Asc("Y") '48 a 56 o 65 a 89
strCodigoAlfa = strCodigoAlfa & Chr(Asc(CaracterAnterior) + 1) & CadenaPosterior
Exit For
Case Asc("9") '57
strCodigoAlfa = strCodigoAlfa & "A" & CadenaPosterior
Exit For
Case Asc("Z") '90
If i = 1 Then
MsgBox "No Se Pueden Generar más Codigos Alfanumericos", vbCritical, "SISATEC"
strCodigoAlfa = ""
Exit Function
Else
CadenaPosterior = "0" & CadenaPosterior
End If
End Select
Next
End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Dedicado a mi querido PROFE!

Publicado por Diego (211 intervenciones) el 24/04/2008 23:48:54
Yo creo Laura, que antes de aprender VB deberias aprender a escribir. (empiezas tu post a !!!falta por palabra!!!).
Lo digo porque VB es muy quisquilloso, y si te dejas una coma se pone hecho un basilisco y no funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar