Visual Basic.NET - Generar Codigos Alfanumericos

   
Vista:

Generar Codigos Alfanumericos

Publicado por Ing Tony Medina, Venezuela (1 intervención) el 23/04/2008 19:33:12
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