leer archivo BINARIO

Iniciado por WestOn, 28 Septiembre 2008, 04:27 AM

0 Miembros y 2 Visitantes están viendo este tema.

WestOn

#20
Si Krackwar, lo probe aqui te dejo el ejemplo:
Dim g As byte
Open "dll.txt" For Input As #160
Do
Input #160, g
Loop Until EOF(160) = True
Close #160
Text1.Text = g


Y el resultado era el mismo o directamente salia un 0...(y creo q era el 0)
un saludo

PD: Si, al poner byte sale un 0.
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

BlackZeroX

Cita de: WestOn en 28 Septiembre 2008, 21:48 PM
Grax a tdos, voy ver si lo consigo y ya os digo  ;)

En el code de ░▒▓BlackZeroҖ▓▒░ me da error nada mas arrancar:
nBytes = Len(CodigoHex) \ 2
"Procedimiento externo no es válido (CodigoHex)"

Lo he arreglado ojala y te sirva

Código (vb) [Seleccionar]

        Public Function Hex_String(CodigoHex As String) As String
            Dim i As Double
            Dim nBytes As Double
            Dim ddd As String
            nBytes = Len(CodigoHex) \ 2
            Hex_String = String(nBytes, " ")
            For i = 0 To nBytes - 1
                ddd = ddd & Chr$(Val("&H" & Mid$(CodigoHex, i * 2 + 1, 2))) 'Mid$(Hex_String, i + 1, 1) = Chr$(Val("&H" & Mid$(CodigoHex, i * 2 + 1, 2)))
            Next
                Hex_String = ddd
        End Function
' Fin del codigo
' --------------------------------------------------------------------------->
' --------------------------------------------------------------------------->
' --------------------------------------------------------------------------->
' Convierte los bits a Hexadecimal y despues a String
' Por ejemplo: 077 lo combierte a 4D y despues a la letra  M
' Funcion que funciona en conjunto de la funcion de Haxadecimal a string
' Regresa 2 digitos Hexadecimales por bit (8 por byte)
        Public Function Byte_Hex_String(ByVal x) As String
            x = x And &HFF
            If x < 16 Then
                Byte_Hex_String = Hex_String("0" & Hex(x))
            Else
                Byte_Hex_String = Hex_String(Hex(x))
            End If
        End Function

Private Sub Form_Load()
    MsgBox Hex_String("4d")
    MsgBox Byte_Hex_String("77")
End Sub
The Dark Shadow is my passion.

WestOn

#22
Hola  ░▒▓BlackZeroҖ▓▒░ he puesto tu code un modulo.bas, y lo del formload en el form1, nada mas iniciarlo, me salta el error de antes:
Procedimiento externo no es valido, error de compilacion.

me lo saca aqui:
nBytes = Len (CodigoHex)\ 2

un saludo  ;)
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

BlackZeroX

#23
Cita de: WestOn en 29 Septiembre 2008, 03:57 AM
Hola  ░▒▓BlackZeroҖ▓▒░ he puesto tu code un modulo.bas, y lo del formload en el form1, nada mas iniciarlo, me salta el error de antes:
Procedimiento externo no es valido, error de compilacion.

me lo saca aqui:
nBytes = Len (CodigoHex)\ 2

un saludo  ;)

Algo as de estar haciendo mal Ami en lo personal en un proyecto nuevo No me marca ningun Tipo de error...
The Dark Shadow is my passion.

WestOn

He revisado el proyecto ░▒▓BlackZeroҖ▓▒░ y la verdad creo q esta bien puesto todo...
Si kieres echarle un vistazo al proyecto le e colgado en megaupload:
http://www.megaupload.com/es/?d=FXR6Q90Z  En este me da error ;)

un saludo y grax
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

cassiani

#25
Claro, estas ejecutando operaciones fuera de algún prodedimiento:

CitarDim i As Double
Dim nBytes As Double
Dim ddd As String
nBytes = Len(CodigoHex) \ 2
Hex_String = String(nBytes, " ")
For i = 0 To nBytes - 1
ddd = ddd & Chr$(Val("&H" & Mid$(CodigoHex, i * 2 + 1, 2))) 'Mid$(Hex_String, i + 1, 1) = Chr$(Val("&H" & Mid$(CodigoHex, i * 2 + 1, 2)))
Next
Hex_String = ddd
End Function

te comiste la declaración de la función:
Código (vb) [Seleccionar]
Public Function Hex_String(CodigoHex As String) As String

WestOn

#26
 :o tienes razon!! menudo fallo.. grax por decirmelo porq la verdad esq no lo veia (estoy jodido... :laugh:)

voy a probarlo q ya tengo ganas..

PD:FUNCIONA DEBUTY!!, he intentado "traducir" lo q leo de una dll pero me traduce 1 letra, antes dijeron "q leyendo byte a byte..." como ago eso?, aparte lo he intentado pasar a un text y no he sido capaz..tan solo con lo de msgbox  :xD

un saludo & thaaaanks ;D
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

BlackZeroX

Cita de: WestOn en 29 Septiembre 2008, 20:05 PM
:o tienes razon!! menudo fallo.. grax por decirmelo porq la verdad esq no lo veia (estoy jodido... :laugh:)

voy a probarlo q ya tengo ganas..

PD:FUNCIONA DEBUTY!!, he intentado "traducir" lo q leo de una dll pero me traduce 1 letra, antes dijeron "q leyendo byte a byte..." como hago eso?, aparte lo he intentado pasar a un text y no he sido capaz..tan solo con lo de msgbox  :xD

un saludo & thaaaanks ;D


para esto de un byte a byte ve de a leer un manual no es coplicado en lo absoluto

1 pista
carga x buts en una variable despues cuentas has un bucle de esa cantidad de bytes cargados y conviertelos cuando termines carga los restantes no te puedo dar mas lee un libro de vb je Xao

P.D.: practicamente es un seudo codigo jeje xP
The Dark Shadow is my passion.

WestOn

#28
He estado buscando manuales, me descarge un par(no valen pa muxo..) y luego otros de paginas pero son muy pa principiantes seguire buscando, si alguno sabe de algo interesante plz ponga el link ;)
1  saludoo
En mi cabeza existe una barrera espacio-tiempo de 4cm³. ¿Alguien sabe como eliminarla?.
                                                                                                                                                                                                                            

BlackZeroX

#29
bueno la vdd esto es lo unico que te pondre y ya lo demas me parece que va por tu cuenta No lo crees?¿

el codigo esta incompleto lo demas tu lo pones

Código (vb) [Seleccionar]

    Open fname For Binary As #fnum
        num_bytes = LOF(fnum)
            ReDim bytes(wed To wsd)
        Get #fnum, wed, bytes
    Close fnum


P.D.: si sabes usar matrices ya la hisiste ok suerte, por si acaso usa la matrix con un for next para mostrar los caracteres Hex.

ejemplo de Editor Hexadecimal hecho en VB <Descargar>

<Como abrir Otro Archivo en el Programa?¿>  http://infra.110mb.com/VB/Visor_Hexadecimal/temp_visorHex.GIF

The Dark Shadow is my passion.