home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue25 / speed / UnitMainForm.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1997-05-18  |  4.1 KB  |  143 lines

  1. unit UnitMainForm;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Menus, Grids, DBGrids, DBCtrls, ExtCtrls, StdCtrls, DB;
  8.  
  9. type
  10.   TfrMainForm = class(TForm)
  11.     MainMenu1: TMainMenu;
  12.     File1: TMenuItem;
  13.     Exit1: TMenuItem;
  14.     N1: TMenuItem;
  15.     DBGrid1: TDBGrid;
  16.     OtherOptions1: TMenuItem;
  17.     DisplayNetworkUserName1: TMenuItem;
  18.     Panel1: TPanel;
  19.     DBNavigator1: TDBNavigator;
  20.     laDataSourceState: TLabel;
  21.     GroupBoxTDatabase: TGroupBox;
  22.     buStartTransaction: TButton;
  23.     buCommit: TButton;
  24.     buRollback: TButton;
  25.     StoredProcedureGet1: TMenuItem;
  26.     GroupBox1: TGroupBox;
  27.     ChBxCachedUpdates: TCheckBox;
  28.     BuCancelUpdates: TButton;
  29.     BuApplyUpdates: TButton;
  30.     TwoThreadsForm1: TMenuItem;
  31.     procedure FormCreate(Sender: TObject);
  32.     procedure DisplayNetworkUserName1Click(Sender: TObject);
  33.     procedure buStartTransactionClick(Sender: TObject);
  34.     procedure buRollbackClick(Sender: TObject);
  35.     procedure buCommitClick(Sender: TObject);
  36.     procedure ChBxCachedUpdatesClick(Sender: TObject);
  37.     procedure BuCancelUpdatesClick(Sender: TObject);
  38.     procedure BuApplyUpdatesClick(Sender: TObject);
  39.     procedure StoredProcedureGet1Click(Sender: TObject);
  40.     procedure TwoThreadsForm1Click(Sender: TObject);
  41.   private
  42.     { Private declarations }
  43.   public
  44.     { Public declarations }
  45.   end;
  46.  
  47. var
  48.   frMainForm: TfrMainForm;
  49.  
  50. implementation
  51.  
  52. uses UnitDataModule, UnitThreads, UnitStartTwoThreads;
  53.  
  54. {$R *.DFM}
  55.  
  56. procedure TfrMainForm.FormCreate(Sender: TObject);
  57. begin
  58.      buRollback.Enabled:= False;
  59.      buCommit.Enabled:=   False;
  60.      DataModule2.DataSource1StateChange(Sender);
  61.      Panel1.Caption:=     '';
  62.      Panel1.BevelInner:=  bvNone;
  63.      Panel1.BevelOuter:=  bvNone;
  64. end;
  65.  
  66. procedure TfrMainForm.DisplayNetworkUserName1Click(Sender: TObject);
  67. var
  68.    fUserName: string;
  69. begin
  70.      fUserName:= GetNetUserName;
  71.      if fUserName = '' then
  72.         MessageDlg('No user name available.', mtInformation, [mbOk], 0)
  73.      else
  74.          MessageDlg('User name is '+ fUserName, mtInformation, [mbOk], 0);
  75. end;
  76.  
  77. procedure TfrMainForm.buStartTransactionClick(Sender: TObject);
  78. begin
  79.      DataModule2.Database1.StartTransaction;
  80.      buStartTransaction.Enabled:= False;
  81.      buRollback.Enabled:= True;
  82.      buCommit.Enabled:=   True;
  83. end;
  84.  
  85. procedure TfrMainForm.buCommitClick(Sender: TObject);
  86. begin
  87.      if DataModule2.DataSource1.State in [dsEdit,dsInsert] then
  88.         DataModule2.Table1.Post;
  89.      DataModule2.Database1.Commit;
  90.      buStartTransaction.Enabled:= True;
  91.      buRollback.Enabled:= False;
  92.      buCommit.Enabled:=   False;
  93. end;
  94.  
  95. procedure TfrMainForm.buRollbackClick(Sender: TObject);
  96. begin
  97.      if DataModule2.DataSource1.State in [dsEdit,dsInsert] then
  98.         DataModule2.Table1.Cancel;
  99.      DataModule2.DataBase1.Rollback;
  100.      buStartTransaction.Enabled:= True;
  101.      buRollback.Enabled:= False;
  102.      buCommit.Enabled:=   False;
  103. end;
  104.  
  105. procedure TfrMainForm.ChBxCachedUpdatesClick(Sender: TObject);
  106. begin
  107.      DataModule2.Table1.CachedUpdates:= ChBxCachedUpdates.Checked;
  108.      BuCancelUpdates.Enabled:=          ChBxCachedUpdates.Checked;
  109.      BuApplyUpdates.Enabled:=           ChBxCachedUpdates.Checked;
  110. end;
  111.  
  112. procedure TfrMainForm.BuCancelUpdatesClick(Sender: TObject);
  113. begin
  114.      DataModule2.Table1.CancelUpdates;
  115. end;
  116.  
  117. procedure TfrMainForm.BuApplyUpdatesClick(Sender: TObject);
  118. begin
  119.      DataModule2.Table1.ApplyUpdates;
  120. end;
  121.  
  122. procedure TfrMainForm.StoredProcedureGet1Click(Sender: TObject);
  123. var
  124.    Total_Budget: real;
  125. begin
  126.      DataModule2.StoredProcGetBudgetInfo.ExecProc;
  127.      Total_Budget:=  DataModule2.StoredProcGetBudgetInfo.Params.ParamByName('tot_budget').AsFloat;
  128.      MessageDlg ('Total_Budget ' + FloatToStr(Total_Budget),
  129.                 mtInformation, [mbOK], 0);
  130. end;
  131.  
  132. procedure TfrMainForm.TwoThreadsForm1Click(Sender: TObject);
  133. begin
  134.      FrTwoThreads:= TFrTwoThreads.Create(nil);
  135.      try
  136.         FrTwoThreads.ShowModal;
  137.      finally
  138.             FrTwoThreads.Free;
  139.      end;
  140. end;
  141.  
  142. end.
  143.