home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 March / Chip_1999-03_cd.bin / zkuste / delphi / D3 / TQBE32D3.ZIP / DemoMain.pas < prev    next >
Pascal/Delphi Source File  |  1997-01-25  |  4KB  |  152 lines

  1. unit DemoMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   Grids, DBGrids, DB, Tqbe_32, Menus, ExtCtrls, DBTables, Buttons, StdCtrls;
  8.  
  9. type
  10.   TForm1 = class(TForm)
  11.     OpenDialog1: TOpenDialog;
  12.     OpenDialog2: TOpenDialog;
  13.     MainMenu1: TMainMenu;
  14.     File1: TMenuItem;
  15.     Query1: TMenuItem;
  16.     About1: TMenuItem;
  17.     Load1: TMenuItem;
  18.     Execute1: TMenuItem;
  19.     QBE1: TQBE;
  20.     Panel3: TPanel;
  21.     OpenTable1: TMenuItem;
  22.     CloseTable1: TMenuItem;
  23.     N1: TMenuItem;
  24.     Exit1: TMenuItem;
  25.     sbtnExit: TSpeedButton;
  26.     tblSource: TTable;
  27.     dsSource: TDataSource;
  28.     dsQBE: TDataSource;
  29.     btnOpenTable: TButton;
  30.     btnCloseTable: TButton;
  31.     GroupBox1: TGroupBox;
  32.     GroupBox2: TGroupBox;
  33.     btnLoadQuery: TButton;
  34.     btnExecQuery: TButton;
  35.     Panel1: TPanel;
  36.     Panel2: TPanel;
  37.     gridTable: TDBGrid;
  38.     Panel4: TPanel;
  39.     Panel5: TPanel;
  40.     gridAnswer: TDBGrid;
  41.     Panel6: TPanel;
  42.     Panel7: TPanel;
  43.     memoQueryText: TMemo;
  44.     btnCloseAnswer: TButton;
  45.     IDentification: TPanel;
  46.     procedure About1Click(Sender: TObject);
  47.     procedure Exit1Click(Sender: TObject);
  48.     procedure OpenTable1Click(Sender: TObject);
  49.     procedure CloseTable1Click(Sender: TObject);
  50.     procedure Load1Click(Sender: TObject);
  51.     procedure Execute1Click(Sender: TObject);
  52.     procedure btnCloseAnswerClick(Sender: TObject);
  53.     procedure FormActivate(Sender: TObject);
  54.   private
  55.     { Private declarations }
  56.   public
  57.     { Public declarations }
  58.   end;
  59.  
  60. var
  61.   Form1: TForm1;
  62.  
  63. implementation
  64.  
  65. uses About;
  66.  
  67. {$R *.DFM}
  68.  
  69. procedure TForm1.About1Click(Sender: TObject);
  70. begin
  71.   AboutBox.showmodal;
  72. end;
  73.  
  74. procedure TForm1.Exit1Click(Sender: TObject);
  75. begin
  76.   if QBE1.Active then QBE1.Close;
  77.   application.processmessages;
  78.   if tblSource.Active then tblSource.Close;
  79.   application.processmessages;
  80.   close;
  81. end;
  82.  
  83. procedure TForm1.OpenTable1Click(Sender: TObject);
  84. begin
  85.   If tblSource.Active then tblSource.Close;
  86.   OpenDialog1.Execute;
  87.   if length(trim(OpenDialog1.FileName))<>0 then
  88.     tblSource.TableName := OpenDialog1.FileName;
  89.   try
  90.     tblSource.Open;
  91.     Panel2.caption:='Table '+ OpenDialog1.FileName;
  92.     Panel2.repaint;
  93.   except
  94.     showmessage('Unable to open table '+OpenDialog1.FileName);
  95.   end;
  96. end;
  97.  
  98. procedure TForm1.CloseTable1Click(Sender: TObject);
  99. begin
  100.   tblSource.Close;
  101.   Panel2.caption:='';
  102.   Panel2.repaint;
  103. end;
  104.  
  105. procedure TForm1.Load1Click(Sender: TObject);
  106. var
  107. I : Integer;
  108. begin
  109.   If QBE1.Active then QBE1.Close;
  110.   OpenDialog2.Execute;
  111.   if length(trim(OpenDialog2.FileName))<>0 then
  112.     QBE1.QBE.LoadFromFile(OpenDialog2.FileName);
  113.     for I:=0 to QBE1.QBE.count - 1 do
  114.       MemoQueryText.lines.add(QBE1.QBE.strings[i]);
  115.     MemoQueryText.repaint;
  116.     panel7.caption:= 'QBE Statment loaded from file '+OpenDialog2.FileName;
  117.     panel7.repaint;
  118. end;
  119.  
  120. procedure TForm1.Execute1Click(Sender: TObject);
  121. begin
  122.  if (not (QBE1.QBE.count=0)) then
  123.    begin
  124.      QBE1.Active:=True;
  125.      application.processmessages;
  126.      Panel5.Caption:= 'Answer';
  127.    end
  128.  else
  129.    showmessage('QBE statment is empty. Please create a QBE in the Borland Database'+
  130.    'Desktop, save it as a file and than load into the component.');
  131. end;
  132.  
  133. procedure TForm1.btnCloseAnswerClick(Sender: TObject);
  134. begin
  135.   if QBE1.Active then QBE1.Active := False;
  136.   application.processmessages;
  137.   memoQueryText.clear;
  138.   application.processmessages;
  139.   Panel5.Caption:= '';
  140.   Panel5.repaint;
  141.   Panel7.Caption:= '';
  142.   Panel7.repaint;
  143. end;
  144.  
  145. procedure TForm1.FormActivate(Sender: TObject);
  146. begin
  147.   Identification.Caption:='Version: '+ qbe1.Version +'  '+qbe1.Amber;
  148.  
  149. end;
  150.  
  151. end.
  152.