LogForm.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit LogForm;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   StdCtrls, AppEvnts;
  6. type
  7.   TFormLog = class(TForm)
  8.     Button1: TButton;
  9.     Button2: TButton;
  10.     CheckBoxSilent: TCheckBox;
  11.     ApplicationEvents1: TApplicationEvents;
  12.     procedure Button1Click(Sender: TObject);
  13.     procedure Button2Click(Sender: TObject);
  14.     procedure LogException (Sender: TObject; E: Exception);
  15.   end;
  16. var
  17.   FormLog: TFormLog;
  18. implementation
  19. {$R *.DFM}
  20. procedure TFormLog.LogException(Sender: TObject; E: Exception);
  21. var
  22.   Filename: string;
  23.   LogFile: TextFile;
  24. begin
  25.   // prepares log file
  26.   Filename := ChangeFileExt (Application.Exename, '.log');
  27.   AssignFile (LogFile, Filename);
  28.   if FileExists (FileName) then
  29.     Append (LogFile) // open existing file
  30.   else
  31.     Rewrite (LogFile); // create a new one
  32.   // write to the file and show error
  33.   Writeln (LogFile, DateTimeToStr (Now) + ':' + E.Message);
  34.   if not CheckBoxSilent.Checked then
  35.     Application.ShowException (E);
  36.   // close the file
  37.   CloseFile (LogFile);
  38. end;
  39. procedure TFormLog.Button1Click(Sender: TObject);
  40. var
  41.   a, b, c: Integer;
  42. begin
  43.   a := 10;
  44.   b := 0;
  45.   c := a div b;
  46.   ShowMessage (IntToStr (c));
  47. end;
  48. procedure TFormLog.Button2Click(Sender: TObject);
  49. begin
  50.   raise Exception.Create ('raise button pressed');
  51. end;
  52. end.