Ver Mensaje Individual
  #11  
Antiguo 03-05-2014
elmago00 elmago00 is offline
Miembro
NULL
 
Registrado: ago 2013
Posts: 86
Reputación: 11
elmago00 Va por buen camino
amigos, intente esto, pero la verdad no va siempre da read error. y lo cambie a 1, pero nada;

Código Delphi [-]
var
  LStream: TMemoryStream;
  miVar: longWord;
  miStr: string;
  todasMisStrings: TStringList;
  I: integer;
begin

  if not OpenDialog1.Execute then Exit;  //Supongo que od es un Diálogo para seleccionar un archivo....

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


  finally

     LStream.Free;
     todasMisStrings.Free;
  end;

intente este metodo, pues lo que quiero es leer el archivo en hexadecimal y luego modificar un cadena de ese archivo.
Responder Con Cita