Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #14  
Antiguo 04-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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.

No alcanzo a distinguir bién la imágen pero te hice un ejemplo de visor hexadecimal:
Código Delphi [-]
implementation 
 
procedure DumpFile(aFileName:TFileName; SG: TStringGrid; const BPF: Word);
var
  c, i, r: integer;
  ascii: string;
  aux: Byte;
begin
  with TMemoryStream.Create do
  try
    LoadFromFile(aFileName);
    // configurar StringGrid
    SG.Options:= SG.Options - [goVertLine] - [goHorzLine];
    SG.Font.Name:= 'Courrier';
    SG.Font.Size:= 10;
    SG.ColWidths[0]:= 80;
    SG.Cells[0,0]:= 'Offset(h)';
    SG.ColCount:= BPF+2;
    SG.ColWidths[SG.ColCount-1]:= SG.Canvas.TextWidth('X') * BPF;
    SG.Cells[SG.ColCount-1,0]:= 'ASCII';
    for i:= 0 to BPF-1 do
    begin
      SG.ColWidths[i+1]:= 30;
      SG.Cells[i+1,0]:= IntToHex(i,2);
    end;
    SG.RowCount:= Size div BPF;
    // cargar en StringGrid
    Seek(0, soBeginning);
    c:= 0;
    r:= SG.FixedRows;
    while c < Size do
    begin
      SG.Cells[0, r]:= Format('%s',[IntToHex(c, 8)]);
      ascii:= EmptyStr;
      i:= 0;
      while (i < BPF)and(i+c < Size) do
      begin
        Read(aux, SizeOf(Byte));
        SG.Cells[i+1,r]:= IntToHex(aux,2);
        if aux = 0 then aux := 46;
        ascii:= ascii + Chr(aux);
        Inc(i);
      end;
      SG.Cells[SG.ColCount-1,r]:= Format('%s',[ascii]);
      Inc(c, BPF);
      Inc(r);
    end;
  finally
    Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Items.CommaText:= '8,10,16,24,32,48,64,128,255';
  ComboBox1.ItemIndex:= 2;
end;

procedure TForm1.btnFileClick(Sender: TObject);
begin
  with OpenDialog1 do
  begin
    Filter:= '*.*';
    if Execute then
    begin
      Caption:= FileName;
      DumpFile(FileName, StringGrid1,
        StrToInt(ComboBox1.Items[ComboBox1.ItemIndex]) );
    end;
  end;
end;
salida:


Mas si tu inquietud es a fines prácticos, ya existen excelentes editores hexadecimal freeware como: HxD - Freeware Hex Editor and Disk Editor.

Saludos
__________________
Daniel Didriksen

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



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Resta Hexadecimal ??? Ðαяισš Varios 6 15-09-2010 11:34:17
Pasar de Hexadecimal a Decimal chinchan C++ Builder 3 21-01-2008 04:18:57
Numero hexadecimal de 32 caracteres adebonis Varios 2 15-11-2007 15:11:14
como pasar de asm a hexadecimal? javier20 Varios 5 09-10-2007 19:39:08
de Hexadecimal a Decimal Carlos A Ortega Varios 1 04-08-2003 22:14:56


La franja horaria es GMT +2. Ahora son las 22:18:35.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi