TODOPIC

Lenguajes de programación para PC => Visual Basic => Mensaje iniciado por: karen81 en 20 de Marzo de 2006, 21:21:00

Título: convertir cadena ascii a hexadecimal
Publicado por: karen81 en 20 de Marzo de 2006, 21:21:00
pues tengo una duda yo habia encontrado una rutina para convertir cadenas de ascci a hexadecimal lo que hago es:
Dim a As Byte
Dim b As Byte
Dim c As Byte
Dim d As Byte
Dim e as string
Dim f as long

e= "ABCD"
a = Asc(Mid(e, 1, 1)) "se convierten a decimal los valores ascii
b = Asc(Mid(e, 2, 1))
c = Asc(Mid(e, 3, 1))
d = Asc(Mid(e, 4, 1))
" rutina que finalmente encuentra el valor decimal de todo el arreglo ascii
f = ((a And &H7F) * &H1000000) Or (b * &H10000) Or (CLng(c) * &H100) Or d
   If a And &H80 Then
        f = fOr &H80000000
no se si alguien tiene otra forma de hacerlo, si alguien la tiene le agradeceria mucho que la posteara.
Título: RE: convertir cadena ascii a hexadecimal
Publicado por: BrunoF en 20 de Marzo de 2006, 22:39:00
hola. no entendi muy bien lo que queres... a ver..aca te programe algo:


Codigo:


Private Sub Form_Load()

Cadena2hex "hola"

End Sub


Private Function Cadena2hex(Cadena As String) As String


Dim Recorre As Integer

For Recorre = 1 To Len(Cadena)

    Cadena2hex = Cadena2hex & Hex(Asc(Mid(Cadena, Recorre, 1)))

Next

    MsgBox Cadena2hex

End Function




no se si es lo que querias...
Saludos
Título: RE: convertir cadena ascii a hexadecimal
Publicado por: karen81 en 21 de Marzo de 2006, 10:01:00
Vacilando cometi un error; perdon, mi pregunta era convertir cadena ascii a DECIMAL.
el programa que puse arriba es precisamente para eso de ascii a decimal.
Gracias BrunoF, por tu tiempo Flash, si tenes otra forma de pasar de ascii a decimal te agradeceria mucho que lo postearas. Gracias.
Título: RE: convertir cadena ascii a hexadecimal
Publicado por: BrunoF en 21 de Marzo de 2006, 17:09:00
jeje ok...cualquiera se equivoca...Aca te pongo una "alternativa" que programe para ti. ¿que cosa rara andas inventando?locolocoSonrisa Gigante

Codigo:


Private Sub Form_Load()

MsgBox Cadena2Dec("ABCD"Giño

End Sub


Private Function Cadena2Dec(Cadena As String) As Long

Dim Recorre As Integer

For Recorre = 1 To Len(Cadena)
    Cadena2Dec = Cadena2Dec + (Asc(Mid(Cadena, Recorre, 1))) * (256 ^ (Len(Cadena) - Recorre))

Next

End Function




Exitos...
Título: RE: convertir cadena ascii a hexadecimal
Publicado por: karen81 en 28 de Marzo de 2006, 17:41:00
Giñopues solo queria aclarar que la rutina que puse arriba funciona perfectamente, queria una segunda opinion porque pense que estaba mal, pero no es asiVacilando
gracias BrunoF por tu tiempo Giño
Título: Re: convertir cadena ascii a hexadecimal
Publicado por: BrunoF en 06 de Abril de 2006, 12:16:36
Bueno, una manera simple de comprobar este tipo de pasaje de decimal a binario, hex etc. es utilizar la calculadora de windows en modo cientifica, alli podras comprobar los valores en un sistema u otro. Saludos...