Déboguer les fichiers de log.


Ce code affiche un moyen pour enregistrer beaucoup de choses qui se passent dans votre application dans un fichier journal.
Voici deux fichiers, le fichier de projet et une unité qui fait le travail...
{Part1.pas}
unit Unit1
interface

& nbsp & nbsp {$DEFINE DEBUG}
& nbsp & nbsp {$IFDEF DEBUG} uLog, {$ENDIF}
& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp StdCtrls
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp Button1: TButton
& ! & ! & ! & nbsp procédure Button1Click(Sender: TObject)
& nbsp & nbsp privé
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp public
& ! & ! & ! & nbsp { déclarations Publiques }
& nbsp & nbsp fin
var
& nbsp & nbsp Form1: TForm1
application
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject)
var
Bar: Integer
begin
Bar= 100
{$IFDEF DEBUG}
& nbsp & nbsp Journal(Format('Button1.Cliquez sur la Barre = %d', [Bar]))
{$ENDIF}
fin
à la fin.
// & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
{uLog.pas}
unité de uLog
interface
procédure Log(S: String)
application


& nbsp & nbsp Windows, SysUtils
var
& nbsp & nbsp fichier de Log: fichier Texte
& nbsp & nbsp LogCriticalSection: TRtlCriticalSection
procédure Log(S: String)
var
& nbsp & nbsp SystemTime: TSystemTime
& nbsp & nbsp FileTime: TFileTime
begin
fonction getsystemtime(SystemTime)
fonction systemtimetofiletime(SystemTime, FileTime)
EnterCriticalSection(LogCriticalSection)
WriteLn(Fichier, Format('%s %.8x%.8x %s',
& nbsp & nbsp [FormatDateTime ('aa.mm.jj hh.mm.ss', Maintenant),
& nbsp & nbsp FileTime.dwHighDateTime, FileTime.dwLowDateTime, S]))
LeaveCriticalSection(LogCriticalSection)
fin
procédure de Démarrage
var
& nbsp & nbsp FileName: String
begin
InitializeCriticalSection(LogCriticalSection)
FileName := Format('Log fichier pour %s à %s.txt',
& nbsp & nbsp [ParamStr(0), DateTimeToStr(Maintenant)])
tandis que les Pos(':', Fichier) > 0 faire FileName[Pos(':', FileName)] := '.'
tandis que les Pos('/', Fichier) > 0 faire FileName[Pos('/', FileName)] := '-'
tandis que les Pos('\', Fichier) > 0 faire FileName[Pos('\', FileName)] := '.'
AssignFile(Fichier, nom de fichier)
Réécriture(LogFile)
fin
procédure d'Arrêt
begin
CloseFile(LogFile)
DeleteCriticalSection(LogCriticalSection)
fin
initialisation
Démarrage
finalisation
Fermeture
à la fin.









Deboguer les fichiers de log.


Deboguer les fichiers de log. : Plusieurs milliers de conseils pour vous faciliter la vie.


Ce code affiche un moyen pour enregistrer beaucoup de choses qui se passent dans votre application dans un fichier journal.
Voici deux fichiers, le fichier de projet et une unite qui fait le travail...
{Part1.pas}
unit Unit1
interface

& nbsp & nbsp {$DEFINE DEBUG}
& nbsp & nbsp {$IFDEF DEBUG} uLog, {$ENDIF}
& nbsp & nbsp Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
& nbsp & nbsp StdCtrls
type
& nbsp & nbsp TForm1 = class(TForm)
& ! & ! & ! & nbsp Button1: TButton
& ! & ! & ! & nbsp procedure Button1Click(Sender: TObject)
& nbsp & nbsp prive
& ! & ! & ! & nbsp { Private declarations }
& nbsp & nbsp public
& ! & ! & ! & nbsp { declarations Publiques }
& nbsp & nbsp fin
var
& nbsp & nbsp Form1: TForm1
application
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject)
var
Bar: Integer
begin
Bar= 100
{$IFDEF DEBUG}
& nbsp & nbsp Journal(Format('Button1.Cliquez sur la Barre = %d', [Bar]))
{$ENDIF}
fin
a la fin.
// & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & &
{uLog.pas}
unite de uLog
interface
procedure Log(S: String)
application


& nbsp & nbsp Windows, SysUtils
var
& nbsp & nbsp fichier de Log: fichier Texte
& nbsp & nbsp LogCriticalSection: TRtlCriticalSection
procedure Log(S: String)
var
& nbsp & nbsp SystemTime: TSystemTime
& nbsp & nbsp FileTime: TFileTime
begin
fonction getsystemtime(SystemTime)
fonction systemtimetofiletime(SystemTime, FileTime)
EnterCriticalSection(LogCriticalSection)
WriteLn(Fichier, Format('%s %.8x%.8x %s',
& nbsp & nbsp [FormatDateTime ('aa.mm.jj hh.mm.ss', Maintenant),
& nbsp & nbsp FileTime.dwHighDateTime, FileTime.dwLowDateTime, S]))
LeaveCriticalSection(LogCriticalSection)
fin
procedure de Demarrage
var
& nbsp & nbsp FileName: String
begin
InitializeCriticalSection(LogCriticalSection)
FileName := Format('Log fichier pour %s a %s.txt',
& nbsp & nbsp [ParamStr(0), DateTimeToStr(Maintenant)])
tandis que les Pos(':', Fichier) > 0 faire FileName[Pos(':', FileName)] := '.'
tandis que les Pos('/', Fichier) > 0 faire FileName[Pos('/', FileName)] := '-'
tandis que les Pos('\', Fichier) > 0 faire FileName[Pos('\', FileName)] := '.'
AssignFile(Fichier, nom de fichier)
Reecriture(LogFile)
fin
procedure d'Arret
begin
CloseFile(LogFile)
DeleteCriticalSection(LogCriticalSection)
fin
initialisation
Demarrage
finalisation
Fermeture
a la fin.


Déboguer les fichiers de log.

Déboguer les fichiers de log. : Plusieurs milliers de conseils pour vous faciliter la vie.
Recommander aux amis
  • gplus
  • pinterest

Messages récents

Commentaire

Laisser un commentaire

évaluation