Ver Mensaje Individual
  #12  
Antiguo 03-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola elmago00.

Acabo de probar el código de LoPiTaL y funciona perfectamente, sólo faltaba un begín del while (omisiones que suelen pasar cuando publicamos algún código).

La prueba:
Código Delphi [-]
{
 Agregué el parámetro "od" por que ConvertBinFileToTxtFile no es método del Form,
 y el parámetro "Destino" para darle mas versatilidad al procedimiento  
}
procedure ConvertBinFileToTxtFile(od: TOpenDialog; const Destino: TFileName);
var
  LStream: TMemoryStream;
  miVar: longWord;
  miStr: string;
  todasMisStrings: TStringList;
  I: integer;
begin
  if not od.Execute then Exit;

  LStream:= TMemoryStream.Create;
  todasMisStrings:=TStringList.Create;
  try
    LStream.LoadFromFile(od.FileName); //Supongo que od es un Diálogo para seleccionar un archivo....
    LStream.Seek(0,soBeginning);
    miStr:='';
    I:=0;
    while (I < LStream.Size-1) do
    begin
      LStream.ReadBuffer(miVar, sizeOf(longWord));
      //8 es el nº de caracrteres hexadecimales que deseas para la conversión - 4 bytes= 8 caracteres hex.
      miStr:=miStr+IntToHex(miVar,8);  
      miStr:=miStr+' ';  //Añadimos el espacio que deseabas
      if (I mod 32) = 0 then //Cada 32 bytes, añadimos una nueva línea
      begin
        todasMisStrings.Add(miStr);
        miStr:='';  //Volvemos a empezar para la siguiente línea.
      end;
      inc(I,4);  //Incrementamos en 4 el valor de I
    end;
    todasMisStrings.SaveToFile(Destino);
  finally
     LStream.Free;
     todasMisStrings.Free;
  end;
end;

{ Llamada de ejemplo }
procedure TForm1.Button1Click(Sender: TObject);
begin
  ConvertBinFileToTxtFile(OpenDialog1, 'C:\miArchivoDestino.txt');
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita