Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/10/2008, 04:34
Avellaneda
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 4 meses
Puntos: 37
Respuesta: Paso de cadenas

Cita:
Iniciado por Alc_user Ver Mensaje
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