home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 February / DPPCPRO0299.ISO / February / Delphi / Install / DATA.Z / EVENT1.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-06-11  |  3.5 KB  |  142 lines

  1. unit Event1;
  2.  
  3. interface
  4.  
  5. uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  6.   StdCtrls;
  7.  
  8. type
  9.   TfrmEvents = class(TForm)
  10.     GroupBox1: TGroupBox;
  11.     btnOpenDatabase: TButton;
  12.     GroupBox2: TGroupBox;
  13.     GroupBox3: TGroupBox;
  14.     GroupBox4: TGroupBox;
  15.     btnGenerateEvent: TButton;
  16.     Label1: TLabel;
  17.     btnRegisterEvents: TButton;
  18.     btnClearEvents: TButton;
  19.     lbReceived: TListBox;
  20.     ebEvent: TEdit;
  21.     moRegister: TMemo;
  22.     btnCloseDatabase: TButton;
  23.     procedure btnClearEventsClick(Sender: TObject);
  24.     procedure btnGenerateEventClick(Sender: TObject);
  25.     procedure btnRegisterEventsClick(Sender: TObject);
  26.     procedure FormDestroy(Sender: TObject);
  27.     procedure btnOpenDatabaseClick(Sender: TObject);
  28.     procedure btnCloseDatabaseClick(Sender: TObject);
  29.   end;
  30.  
  31. var
  32.   frmEvents: TfrmEvents;
  33.  
  34. implementation
  35.  
  36. uses Event2, DB, BDE;
  37.  
  38. {$R *.DFM}
  39.  
  40. function IsInterbaseAlias(const AliasName: string): Boolean;
  41. var
  42.   ConfigDesc: CFGDesc;
  43.   Cursor: HDBICur;
  44.   SPath: array[0..63] of Char;
  45. begin
  46.   Result := False;
  47.   try
  48.     Check(DbiOpenCfgInfoList(nil, dbiREADONLY, cfgPERSISTENT,
  49.       StrLFmt(SPath, SizeOf(SPath) - 1, '\DATABASES\%s\DB INFO',
  50.         [AliasName]), Cursor));
  51.     try
  52.       while DbiGetNextRecord(Cursor, dbiNOLOCK, @ConfigDesc, nil) = 0 do
  53.         with ConfigDesc do
  54.         begin
  55.           if (StrIComp(szNodeName, 'TYPE') = 0) and
  56.             (StrIComp(szValue, 'INTRBASE') = 0) then
  57.           begin
  58.             Result := True;
  59.             Break;
  60.           end;
  61.         end;
  62.     finally
  63.       DbiCloseCursor(Cursor);
  64.     end;
  65.   except
  66.   end;
  67. end;
  68.  
  69.  
  70. procedure TfrmEvents.btnClearEventsClick(Sender: TObject);
  71. begin
  72.   lbReceived.Clear;
  73. end;
  74.  
  75. procedure TfrmEvents.btnGenerateEventClick(Sender: TObject);
  76. begin
  77.   with dmEvents do
  78.   begin
  79.     Database1.StartTransaction;
  80.     StoredProc1.Prepare;
  81.     StoredProc1.Params[0].AsString := ebEvent.Text;
  82.     StoredProc1.ExecProc;
  83.     Database1.Commit;
  84.   end;
  85. end;
  86.  
  87. procedure TfrmEvents.btnRegisterEventsClick(Sender: TObject);
  88. begin
  89.   with dmEvents.IBEventAlerter1 do
  90.   begin
  91.     UnregisterEvents;
  92.     Events.Assign(moRegister.Lines);
  93.     RegisterEvents;
  94.   end;
  95. end;
  96.  
  97. procedure TfrmEvents.FormDestroy(Sender: TObject);
  98. begin
  99.   with dmEvents do
  100.   begin
  101.     IBEventAlerter1.UnregisterEvents;
  102.     Database1.Connected := False;
  103.   end;
  104.   GroupBox2.Enabled := False;
  105.   GroupBox3.Enabled := False;
  106.   GroupBox4.Enabled := False;
  107.   Label1.Enabled := False;
  108.   btnGenerateEvent.Enabled := False;
  109.   btnRegisterEvents.Enabled := False;
  110.   btnClearEvents.Enabled := False;
  111. end;
  112.  
  113. procedure TfrmEvents.btnOpenDatabaseClick(Sender: TObject);
  114. begin
  115.   dmEvents.Database1.Connected := True;
  116.   GroupBox2.Enabled := True;
  117.   GroupBox3.Enabled := True;
  118.   GroupBox4.Enabled := True;
  119.   Label1.Enabled := True;
  120.   btnGenerateEvent.Enabled := True;
  121.   btnRegisterEvents.Enabled := True;
  122.   btnClearEvents.Enabled := True;
  123.   btnCloseDatabase.Enabled := True;
  124.   btnOpenDatabase.Enabled:=False;
  125. end;
  126.  
  127. procedure TfrmEvents.btnCloseDatabaseClick(Sender: TObject);
  128. begin
  129.   dmEvents.Database1.Connected := False;
  130.   GroupBox2.Enabled := False;
  131.   GroupBox3.Enabled := False;
  132.   GroupBox4.Enabled := False;
  133.   Label1.Enabled := False;
  134.   btnGenerateEvent.Enabled := False;
  135.   btnRegisterEvents.Enabled := False;
  136.   btnClearEvents.Enabled := False;
  137.   btnCloseDatabase.Enabled := False;
  138.   btnOpenDatabase.Enabled := True;
  139. end;
  140.  
  141. end.
  142.