Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-02-2008
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 22
Mick Va por buen camino
Es mucho mas simple que todo lo que estas haciendo con el stringrid, un ejemplo:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TFormFile = class(TForm)
    FileGrid: TDrawGrid;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FileGridDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
  private
    { Private declarations }
    FFileStream: TFileStream;
  public
    { Public declarations }
  end;

var
  FormFile: TFormFile;

implementation

{$R *.dfm}

procedure TFormFile.FormCreate(Sender: TObject);
begin
 FFileStream:= TFileSTream.Create('c:\windows\explorer.exe',fmOpenRead);
 FileGrid.RowCount:= ((FFileStream.Size + FileGrid.ColCount - 1) div FileGrid.ColCount) + 1;
end;

procedure TFormFile.FormDestroy(Sender: TObject);
begin
 FFileStream.Free;
end;

procedure TFormFile.FileGridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
 Car:Char;
begin
  FFileStream.Position:= ARow * FileGrid.ColCount + ACol;
  FFileStream.Read( Car,1);
  FileGrid.Canvas.TextRect(Rect,Rect.Left,Rect.Top, IntToHex(Ord(Car),2) );
end;

end.

Faltarian algunos detallitos como comprobaciones para evitar que se pinte una fila y coordenada que realmente
no se corresponde con ningun byte en el fichero en la ultima fila de grid, pero bueno deberia ser suficiente para
darte una idea de como se hace y solo falta ampliarlo un poco para que muestre la informacion en ascii, etc.

Saludos

Última edición por Mick fecha: 29-02-2008 a las 19:06:22.
Responder Con Cita
  #2  
Antiguo 01-03-2008
byfali byfali is offline
Miembro
 
Registrado: mar 2007
Posts: 24
Poder: 0
byfali Va por buen camino
Gracias Mick lo probare.
Responder Con Cita
  #3  
Antiguo 01-03-2008
byfali byfali is offline
Miembro
 
Registrado: mar 2007
Posts: 24
Poder: 0
byfali Va por buen camino
Lo que yo quiero hacer es que me muestre el archivo de la siguiente manera, igual que un editor hexadecimal. Que es como lo muestra en el codigo que puse como muestra.

00000000:45 53 54 4F 20 45 53 20 ..... :ESTO ES UNA .....
00000010:42 41 .... :PR

Lo podria hacer tambien con DrawGrid.?
Responder Con Cita
  #4  
Antiguo 25-03-2008
JoseFco JoseFco is offline
Baneado
 
Registrado: dic 2007
Posts: 1.861
Poder: 0
JoseFco cantidad desconocida en este momento
Hola amigos.

Cita:
Empezado por byfali Ver Mensaje
Lo que yo quiero hacer es que me muestre el archivo de la siguiente manera, igual que un editor hexadecimal. Que es como lo muestra en el codigo que puse como muestra.

00000000:45 53 54 4F 20 45 53 20 ..... :ESTO ES UNA .....
00000010:42 41 .... :PR

Lo podria hacer tambien con DrawGrid.?
Interesante lo que quieres hacer.Y muy interesante la pregunta.

A ver si los maestros nos dan una pista por donde comenzar.

Un Saludo.
Responder Con Cita
Respuesta



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
Rellenar con ceros (0) egarc SQL 5 08-10-2012 08:42:21
Rellenar con 0.... buitrago Varios 6 17-11-2011 20:02:53
Buscar componentes en el IDE rapidamente Jose Roman OOP 7 24-01-2008 11:23:06
ABM Rapidamente loxod Varios 12 10-05-2007 19:08:32
Rellenar una plantilla en PDF jcmolero Impresión 3 26-09-2005 09:30:28


La franja horaria es GMT +2. Ahora son las 20:28:37.


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