Files
SignauxComplexes/UnitDebug.pas
f1iwq2 5dd476e10a V1.1
2020-01-28 21:29:45 +01:00

105 lines
2.3 KiB
ObjectPascal

unit UnitDebug;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls , ComCtrls;
type
TFormDebug = class(TForm)
EditNivDebug: TEdit;
Label1: TLabel;
MemoEvtDet: TMemo;
Label2: TLabel;
SaveDialog: TSaveDialog;
ButtonEcrLog: TButton;
Label3: TLabel;
MemoDebug: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure ButtonEcrLogClick(Sender: TObject);
procedure EditNivDebugKeyPress(Sender: TObject; var Key: Char);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
FormDebug: TFormDebug;
NivDebug : integer;
procedure AfficheDebug(s : string;lacouleur : TColor);
implementation
{$R *.dfm}
procedure AfficheDebug(s : string;lacouleur : TColor);
begin
FormDebug.MemoDebug.Lines.add(s);
end;
procedure TFormDebug.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Action := TCloseAction.caNone;
//DebugOuv:=False;
//NivDebug:=0;
end;
procedure TFormDebug.FormCreate(Sender: TObject);
var s: string;
begin
EditNivDebug.Text:='0';
s:='Cette fenêtre permet d''afficher des informations sur le ';
s:=s+'comportement du programme. Positionner le niveau de 1 à 3 pour';
s:=s+' afficher des informations plus ou moins détaillées.';
Label3.caption:=s;
MemoDebug.color:=$33;
MemoDebug.clear;
end;
procedure TFormDebug.ButtonEcrLogClick(Sender: TObject);
var s : string;
i : integer;
fte : textFile;
begin
s:=GetCurrentDir;
SaveDialog.InitialDir:=s;
if SaveDialog.Execute then
begin
s:=SaveDialog.FileName;
assignFile(fte,s);
rewrite(fte);
writeln(fte,s);
with MemoDebug do
for i:=1 to Lines.Count do
begin
writeln(fte,Lines[i]);
end;
closefile(fte);
end;
end;
procedure TFormDebug.EditNivDebugKeyPress(Sender: TObject; var Key: Char);
var i,e : integer;
begin
if ord(Key) = VK_RETURN then
begin
Key := #0; // prevent beeping
val(EditNivDebug.text,i,e);
if e=0 then
begin
if (i>=0) and (i<=3) then NivDebug:=i
else EditNivDebug.text:='3';
end
else EditNivDebug.text:='0';
end;
MemoDebug.Lines.add('Niveau='+intToSTR(NivDebug));
end;
end.