Cita:
Iniciado por Alc_user
Hola a todos,
Soy un principiante en VB y estoy haciendo un código muy sencillo en Visual Basic 6.0 y me da un error que seguro que se puede resolver fácilmente pero no consigo saber cómo. El código consiste en mandarle a una función una cadena de dos caracteres (un número hexadecimal) para que la función devuelva la conversión a binario. Os muestro el código:
....
El error que me sale al compilar se encuentra sobre las primera línea de la función "Private Function Hex2Bin(ByVal CodHex As String) As String" y dice "Se esperaba una matriz" pero no consigo arreglarlo bien para que funcione el código...
A ver si me podeis ayudar. Muchas gracias.
Saludos
Alc_user
Bueno, la verdad es que el código tiene bastantes errores, te pongo como quedaría la función comentando los errores
Código:
Private Function Hex2Bin(ByVal CodHex As String) As String
Dim CodBin As String
CodBin = ""
'For i = 0 To Len(CodHex) - 1 <--- hay que leer la cadena desde el primer carácter
For i = 1 To Len(CodHex)
'Hex2Bin = CodBin <--- esta línea sobra
' Select Case UCase(CodHex(i)) <--- aquí estaba el error, pasas CodHex como un array
Select Case UCase(Mid(CodHex, 1, i))
Case "0": CodBin = "0000"
Case "1": CodBin = "0001"
Case "2": CodBin = "0010"
Case "3": CodBin = "0011"
Case "4": CodBin = "0100"
Case "5": CodBin = "0101"
Case "6": CodBin = "0110"
Case "7": CodBin = "0111"
Case "8": CodBin = "1000"
Case "9": CodBin = "1001"
Case "A": CodBin = "1010"
Case "B": CodBin = "1011"
Case "C": CodBin = "1100"
Case "D": CodBin = "1101"
Case "E": CodBin = "1110"
Case "F": CodBin = "1111"
End Select
Hex2Bin = Hex2Bin & CodBin
Next
'Hex2Bin = Hex2Bin & CodBin <--- tienes que concatenar las variables antes de salir del bucle
End Function
Saludos y suerte