Ir al contenido


Foto

COMO SE PUEDE LEER UN ARCHIVO CON EXTENSIÓN BIN CON DELPHI


  • Por favor identifícate para responder
6 respuestas en este tema

#1 gatopardo

gatopardo

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 27 abril 2013 - 08:17

Hola a todos, necesito hacer un programa para leer una memoria 24C01 de un estereo, no encuentro el formulario HEXEDIT donde hacer las declaraciones en Delphi 7.
Es un programa sencillo donde tengo que leer dos direcciones, 56 y 57 de dicha memoria.
Agradecería cualquier información.
Saludos Ricardo.



delphi
  1. procedure ReadCode;
  2. begin
  3. if not ReadDevice then begin
  4.     MsgBox( 'Read Error', 'Error', MB_OK );
  5.   end
  6.   else begin
  7.         code:= inttohex(GetByteHexEdit($56),2)+inttohex(GetByteHexEdit($57),2);
  8.  
  9. end.


  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 08 mayo 2013 - 06:04

Si te entendiera te intentaría ayudar... peor no se que te falta, la verdad.
  • 0

#3 gatopardo

gatopardo

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 08 mayo 2013 - 06:36

Si te entendiera te intentaría ayudar... peor no se que te falta, la verdad.

Gracias por responder, para leer una memoria hace falta un editor de texto que pueda interpretar el código Hexadecimal, no encuentro en Delphi ese formulario que se llama HEXEDIT.
Como no puedo subir fotografías te doy un ejemplo.

000000 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
000010 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
000020 FF FF FF FF 5632 FF FF FF FF FF FF FF FF FF FF

Así es el formulario HEXEDIT y yo tengo que leer la dirección 24 y 25 que es 5632 hexadecimal
Como tiene el Ponyprog, estas son las instrucciones únicas que lleva.

Code := inttohex(GetByteHexEdit($24),2)+inttohex(GetByteHexEdit($25),2);
MsgBox(Code, 'El Codigo Pin Es', MB_OK);
End;

  • 0

#4 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 08 mayo 2013 - 09:21

Siempre puedes leer esos 4 bytes (dos exadecimales = 4 bytes), ponerlos en cuatro edits para enteros en el rango del 0 al 255, dejar editarlo, y luego abres el fichero para escritura, los FF los envias como 4 veces el char 255 y los 4 que has editado los reemplazas por los 4 bytes que has recogido de los edits.

No se para que quieres editar todo el fichero en exadecimal si solo hay unos cuantos que cambiar, en cualquiier caso no creo que delphi tenga componentes nativos para eso, pero si busca por algo como "delphi exadecimal editor", seguro que encuetras varios (como todos estos).
  • 0

#5 gatopardo

gatopardo

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 08 mayo 2013 - 09:45

Muchas gracias por la información, yo tengo programado muchos programas para usarlo con el software del UPA USB que son para leer  y escribir KM, mi intención es hacer un archivo ejecutable independiente.
Seguiré investigando por lo que me comentaste.
Saludos Ricardo.
  • 0

#6 LuNaTk

LuNaTk

    Newbie

  • Miembros
  • Pip
  • 8 mensajes

Escrito 08 mayo 2013 - 11:36

Que tal, instalate los SynEdit estos traen un grid que te permite visualizar de esa manera y no es complicado utilizarlo.

Imagen Enviada

Claro que tendrias que hacer la conversion a Hexadecimal para visualizarlos asi, pero no es complicado.

Saludos
  • 0

#7 gatopardo

gatopardo

    Newbie

  • Miembros
  • Pip
  • 4 mensajes

Escrito 08 mayo 2013 - 11:58

Muchas gracias, toda información es bienvenida.
Saludos Ricardo.

  • 0




IP.Board spam blocked by CleanTalk.