home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / zkuste / delphi / kompon / d5 / WAKFMON.ZIP / Demo1 / Unit1.pas < prev   
Pascal/Delphi Source File  |  2001-10-25  |  3KB  |  115 lines

  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, FileCtrl, filemon10, mon_thread10;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     DirBox: TEdit;
  12.     StartBtn: TButton;
  13.     StopBtn: TButton;
  14.     CheckBox1: TCheckBox;
  15.     Label1: TLabel;
  16.     Label2: TLabel;
  17.     BrowseBtn: TButton;
  18.     CheckBox2: TCheckBox;
  19.     CheckBox3: TCheckBox;
  20.     CheckBox4: TCheckBox;
  21.     CheckBox5: TCheckBox;
  22.     CheckBox6: TCheckBox;
  23.     CheckBox7: TCheckBox;
  24.     FileMonitor: TFileMonitor;
  25.     SubDirChkBox: TCheckBox;
  26.     ActiveLabel: TLabel;
  27.     procedure BrowseBtnClick(Sender: TObject);
  28.     procedure FormShow(Sender: TObject);
  29.     procedure CheckBoxChange(Sender: TObject);
  30.     procedure StartBtnClick(Sender: TObject);
  31.     procedure StopBtnClick(Sender: TObject);
  32.     procedure FileMonitorChange(Sender: TObject);
  33.     procedure FileMonitorStart(Sender: TObject);
  34.     procedure FileMonitorStop(Sender: TObject);
  35.   private
  36.     { Private declarations }
  37.   public
  38.     { Public declarations }
  39.   end;
  40.  
  41. var
  42.   Form1: TForm1;
  43.  
  44. implementation
  45.  
  46. {$R *.DFM}
  47.  
  48. procedure TForm1.BrowseBtnClick(Sender: TObject);
  49. var
  50.   S: string;
  51. begin
  52.   SelectDirectory('Select Directory', 'C:\', S);
  53.   DirBox.Text := IncludeTrailingBackslash(S);
  54. end;
  55.  
  56. procedure TForm1.FormShow(Sender: TObject);
  57. begin
  58.   with FileMonitor do
  59.   begin
  60.     // Set up the attribute check boxes
  61.     CheckBox1.Checked := (fcFileName in AttrFlags);
  62.     CheckBox2.Checked := (fcDirName in AttrFlags);
  63.     CheckBox3.Checked := (fcFileAttr in AttrFlags);
  64.     CheckBox4.Checked := (fcFileSize in AttrFlags);
  65.     CheckBox5.Checked := (fcFileWriteTime in AttrFlags);
  66.     CheckBox6.Checked := (fcFileAccessTime in AttrFlags);
  67.     CheckBox7.Checked := (fcSecurity in AttrFlags);
  68.   end;
  69. end;
  70.  
  71. procedure TForm1.CheckBoxChange(Sender: TObject);
  72. begin
  73.   with FileMonitor do
  74.   begin
  75.     // Set up attributes according check boxes
  76.     AttrFlags := [];
  77.     if CheckBox1.Checked then AttrFlags := AttrFlags + [fcFileName];
  78.     if CheckBox2.Checked then AttrFlags := AttrFlags + [fcDirName];
  79.     if CheckBox3.Checked then AttrFlags := AttrFlags + [fcFileAttr];
  80.     if CheckBox4.Checked then AttrFlags := AttrFlags + [fcFileSize];
  81.     if CheckBox5.Checked then AttrFlags := AttrFlags + [fcFileWriteTime];
  82.     if CheckBox6.Checked then AttrFlags := AttrFlags + [fcFileAccessTime];
  83.     if CheckBox7.Checked then AttrFlags := AttrFlags + [fcSecurity];
  84.   end;
  85. end;
  86.  
  87. procedure TForm1.StartBtnClick(Sender: TObject);
  88. begin
  89.   FileMonitor.Directory := DirBox.Text;
  90.   FileMonitor.SubDirs := SubDirChkBox.Checked;
  91.   FileMonitor.Active := true;
  92. end;
  93.  
  94. procedure TForm1.StopBtnClick(Sender: TObject);
  95. begin
  96.   FileMonitor.Active := false;
  97. end;
  98.  
  99. procedure TForm1.FileMonitorChange(Sender: TObject);
  100. begin
  101.   MessageDlg('A change has occured', mtInformation, [mbOK], 0);
  102. end;
  103.  
  104. procedure TForm1.FileMonitorStart(Sender: TObject);
  105. begin
  106.   if FileMonitor.Active then ActiveLabel.Visible := true; // To check that it was successfully turned off
  107. end;
  108.  
  109. procedure TForm1.FileMonitorStop(Sender: TObject);
  110. begin
  111. //  if FileMonitor.Active = false then ActiveLabel.Visible := false;
  112. end;
  113.  
  114. end.
  115.