SoloCodigo

Programación General => Pascal => Mensaje iniciado por: Simeon en Jueves 10 de Junio de 2004, 19:56

Título: Leer Archivo Binario Sin Tipo Y Visualizarlos
Publicado por: Simeon en Jueves 10 de Junio de 2004, 19:56
Alguien puede indicarme como se visualiza en cristiano lo leido en binario?.
Ocurre que para usar los datos de un archivo binario ejecuto otro programa que convierte en ascii. Quiciera leerlo directamente. Gracias
Título: Re: Leer Archivo Binario Sin Tipo Y Visualizarlos
Publicado por: Amilius en Viernes 11 de Junio de 2004, 16:51
Mira, no somos adivinos para conocer el formato o codificación del archivo binario que quieres interpretar.
Título: Re: Leer Archivo Binario Sin Tipo Y Visualizarlos
Publicado por: FSR en Viernes 11 de Junio de 2004, 17:35
Un Ejemplo:

Código: Text
  1. Program Lee_Archivo_Binario;
  2.  
  3. Type
  4.     TProc = Procedure(Ch :Char);
  5.     PProc = ^TProc;
  6.  
  7. {Va leyendo un archivo binario Byte por Byte, llamado al procedimiento "Proc"}
  8. {después de cada lectura. Le pasa como parámetro el caracter leído}
  9. Procedure LeeBin(Arch :String; Var Proc :PProc);
  10.     Var
  11.         Ch :File;
  12.         Dt :Byte;       {Almacena el Byte leído}
  13.         Ld :Word;      {Cantidad de Bytes que se pudieron leer}        
  14.     Begin
  15.         Assign(Ch, Arch);
  16.         Reset(Ch, 1);
  17.         Repeat
  18.             BlockRead(Ch, Dt, 1, Ld);
  19.              If (Ld=1)  then Proc^(Chr(Dt));
  20.         Until (DosError>0) or (Ld=0);
  21.         Close(Ch);
  22.     End; {LeeBin}
  23.  
  24.  
  25. {Despliega un caracter en pantalla}
  26. Procedure MiProc(Ch :Char);
  27.     Begin
  28.         Write(Ch);
  29.     End; {MiProc}
  30.  
  31.  
  32. Begin
  33.     LeeBin('C:\MIBIN.DAT', @MiProc);
  34.     ReadLn;
  35. End. {Lee_Archivo_Binario}
  36.  



Cualquier duda, postéala por acá. Saludos ;)
Título: Re: Leer Archivo Binario Sin Tipo Y Visualizarlos
Publicado por: Simeon en Viernes 11 de Junio de 2004, 18:51
Gracias a quienes me ayudaron, en particular al amigo FSR, por darme un ejemplo. Creo con esta información resolver mi problema.

Simeón