El archivo de registro de depuración.
Este código muestra una forma de guardar mucho las cosas que está pasando en su aplicación en un archivo de registro.
Aquí hay dos archivos, el archivo de proyecto y una unidad que hace el trabajo...
{Unit1.pas}
unit Unit1
interfaz
usos
& nbsp & nbsp {$DEFINE DEBUG}
& nbsp & nbsp {$IFDEF DEBUG} uLog, {$ENDIF}
& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controles, Formularios, cuadros de diálogo,
& nbsp & nbsp StdCtrls
tipo
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp & nbsp & nbsp Button1: TButton
& nbsp & nbsp & nbsp & nbsp procedimiento Button1Click(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp pública
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp Form1: TForm1
aplicación
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject)
var
Barra de: Integer
begin
Barra := 100
{$IFDEF DEBUG}
& nbsp & nbsp Log(Format('Button1.Haga clic en la Barra de = %d',[Bar]))
{$ENDIF}
fin
final.
// & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
{uLog.pas}
unidad de uLog
interfaz
procedimiento de Registro(S: String)
aplicación
usos
& nbsp & nbsp Windows, SysUtils
var
& nbsp & nbsp LogFile: archivo de Texto
& nbsp & nbsp LogCriticalSection: TRtlCriticalSection
procedimiento de Registro(S: String)
var
& nbsp & nbsp SystemTime: TSystemTime
& nbsp & nbsp FileTime: TFileTime
begin
GetSystemTime(SystemTime)
SystemTimeToFileTime(SystemTime, FileTime)
EnterCriticalSection(LogCriticalSection)
WriteLn(LogFile, Format('%s %.8x%.8x %s',
& nbsp & nbsp [FormatDateTime('aa.mm.dd hh.mm.ss', Ahora),
& nbsp & nbsp FileTime.dwHighDateTime, FileTime.dwLowDateTime, S)))
LeaveCriticalSection(LogCriticalSection)
fin
procedimiento de Inicio
var
& nbsp & nbsp FileName: String
begin
InitializeCriticalSection(LogCriticalSection)
FileName := Format('archivo de Registro para %s en %s.txt',
& nbsp & nbsp [ParamStr(0), DateTimeToStr(Ahora)])
mientras que el Pos(':', nombre de archivo) > 0 hacer FileName[Pos(':', nombre de archivo)] := '.'
mientras que el Pos('/', el nombre de archivo) > 0 hacer FileName[Pos('/', el nombre de archivo)] := '-'
mientras que el Pos('/', el nombre de archivo) > 0 hacer FileName[Pos('/', el nombre de archivo)] := '.'
AssignFile(archivo de registro, el nombre de archivo)
Reescribir(LogFile)
fin
procedimiento de Apagado
begin
CloseFile(LogFile)
DeleteCriticalSection(LogCriticalSection)
fin
inicialización
Inicio
la finalización
Cerrar
final.
El archivo de registro de depuracion.
El archivo de registro de depuracion. : Multi-millones de consejos para hacer su vida mas facil.
Este codigo muestra una forma de guardar mucho las cosas que esta pasando en su aplicacion en un archivo de registro.
Aqui hay dos archivos, el archivo de proyecto y una unidad que hace el trabajo...
{Unit1.pas}
unit Unit1
interfaz
usos
& nbsp & nbsp {$DEFINE DEBUG}
& nbsp & nbsp {$IFDEF DEBUG} uLog, {$ENDIF}
& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controles, Formularios, cuadros de dialogo,
& nbsp & nbsp StdCtrls
tipo
& nbsp & nbsp TForm1 = class(TForm)
& nbsp & nbsp & nbsp & nbsp Button1: TButton
& nbsp & nbsp & nbsp & nbsp procedimiento Button1Click(Sender: TObject)
& nbsp & nbsp privada
& nbsp & nbsp & nbsp & nbsp { Private declarations }
& nbsp & nbsp publica
& nbsp & nbsp & nbsp & nbsp { Public declarations }
& nbsp & nbsp final
var
& nbsp & nbsp Form1: TForm1
aplicacion
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject)
var
Barra de: Integer
begin
Barra := 100
{$IFDEF DEBUG}
& nbsp & nbsp Log(Format('Button1.Haga clic en la Barra de = %d',[Bar]))
{$ENDIF}
fin
final.
// & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
{uLog.pas}
unidad de uLog
interfaz
procedimiento de Registro(S: String)
aplicacion
usos
& nbsp & nbsp Windows, SysUtils
var
& nbsp & nbsp LogFile: archivo de Texto
& nbsp & nbsp LogCriticalSection: TRtlCriticalSection
procedimiento de Registro(S: String)
var
& nbsp & nbsp SystemTime: TSystemTime
& nbsp & nbsp FileTime: TFileTime
begin
GetSystemTime(SystemTime)
SystemTimeToFileTime(SystemTime, FileTime)
EnterCriticalSection(LogCriticalSection)
WriteLn(LogFile, Format('%s %.8x%.8x %s',
& nbsp & nbsp [FormatDateTime('aa.mm.dd hh.mm.ss', Ahora),
& nbsp & nbsp FileTime.dwHighDateTime, FileTime.dwLowDateTime, S)))
LeaveCriticalSection(LogCriticalSection)
fin
procedimiento de Inicio
var
& nbsp & nbsp FileName: String
begin
InitializeCriticalSection(LogCriticalSection)
FileName := Format('archivo de Registro para %s en %s.txt',
& nbsp & nbsp [ParamStr(0), DateTimeToStr(Ahora)])
mientras que el Pos(':', nombre de archivo) > 0 hacer FileName[Pos(':', nombre de archivo)] := '.'
mientras que el Pos('/', el nombre de archivo) > 0 hacer FileName[Pos('/', el nombre de archivo)] := '-'
mientras que el Pos('/', el nombre de archivo) > 0 hacer FileName[Pos('/', el nombre de archivo)] := '.'
AssignFile(archivo de registro, el nombre de archivo)
Reescribir(LogFile)
fin
procedimiento de Apagado
begin
CloseFile(LogFile)
DeleteCriticalSection(LogCriticalSection)
fin
inicializacion
Inicio
la finalizacion
Cerrar
final.
El archivo de registro de depuración.
By Consejos Y Trucos
El archivo de registro de depuración. : Multi-millones de consejos para hacer su vida más fácil.