Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros temas > Trucos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Los mejores trucos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-01-2013
dario61081 dario61081 is offline
Registrado
 
Registrado: abr 2007
Posts: 6
Poder: 0
dario61081 Va por buen camino
Talking Monitor de eventos usando una clase

Buenas colegas. aqui tengo otra experiencia que quiero compartir con ustedes.

Para la mayoria de mis proyectos, necesito hacer un monitoreo de los eventos que sucede durante la ejecución. de esta forma puedo depurar mas los errores encontrados.

En esta oportunidad, mi clase monitoreo para ustedes.

Código Delphi [-]
type
  TMonitorLog = class
  private
    Fventana: tmemo;
    Fbolsa: tstringlist;
    procedure Setventana(const value: tmemo);
  public
    constructor create; overload;
    destructor destroy; overload;
    procedure evento(msg: string); // registrar un evento
    procedure volcar(archivo: string = '.\logs\eventos.log');
    property ventana: tmemo read Fventana write Setventana;
  end;

implements

{ TMonitor }

constructor TMonitorLog.create;
begin
  inherited;
  Fbolsa := tstringlist.create;
  Fbolsa.Add('Eventos: ' + datetimetostr(now));
end;

destructor TMonitorLog.destroy;
begin
  // self.volcar; //activar para un volcado a su destruccion.
  Fbolsa.Free; // liberar bolsa
  inherited;
end;

procedure TMonitorLog.evento(msg: string);
begin
  if assigned(Fventana) then
  begin
    Fventana.Lines.Add(msg);
    Fventana.Perform(EM_SCROLLCARET, SB_PAGEDOWN, 0);
    // auto deslise de la ventana
  end;
  Fbolsa.Add(msg);
end;

procedure TMonitorLog.Setventana(const value: tmemo);
begin
  Fventana := value;
  Fventana.Lines.Clear;
  Fventana.Lines.Add('Monitor de eventos: listo');
  fventana.ScrollBars := ssVertical;
end;

procedure TMonitorLog.volcar(archivo: string);
begin

  Fbolsa.SaveToFile(archivo);
  Fbolsa.Add('volcado ok');
  if assigned(Fventana) then
    Fventana.Lines.Add('volcado ok');

end;

Desde ya, gracias por la atencion.

saludos cordiales.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Pasar mi clase a una clase de 3 capas o lo mas parecido elarys OOP 2 08-04-2011 00:02:54
clase que contiene otra clase definida de forma posterior astwin OOP 5 20-02-2009 12:26:55
Crear eventos para una clase DarkByte OOP 10 07-12-2005 21:02:28
Dudas usando la clase TStringList blamsa Varios 6 27-05-2005 17:50:48
Controlar eventos de una clase propia keglevich OOP 4 15-09-2004 14:58:21


La franja horaria es GMT +2. Ahora son las 15:06:31.


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