home *** CD-ROM | disk | FTP | other *** search
/ Delphi Programmer's Power Pack / Delphi Volume 1.iso / e_to_l / fbuilder / delphi / demos / extdemfm.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-09-15  |  2.2 KB  |  102 lines

  1. unit Extdemfm;
  2.  
  3. interface
  4.  
  5. uses WinTypes, WinProcs, Classes, Graphics, Forms, Controls, Buttons,
  6.   StdCtrls, Comm, ExtCtrls, FBCOMP;
  7.  
  8. type
  9.   TBtnBottomDlg = class(TForm)
  10.     CancelBtn: TBitBtn;
  11.     HelpBtn: TBitBtn;
  12.     Bevel1: TBevel;
  13.     newFuncsCombo: TComboBox;
  14.     RunBtn: TSpeedButton;
  15.     NewFuncsListbox: TListBox;
  16.     Resultmemo: TMemo;
  17.     RegisterFuncBtn: TBitBtn;
  18.     UnregisterBtn: TBitBtn;
  19.     Label1: TLabel;
  20.     Label2: TLabel;
  21.     SimpleExpression: TExpression;
  22.     procedure RegisterFuncBtnClick(Sender: TObject);
  23.     procedure UnregisterBtnClick(Sender: TObject);
  24.     procedure NewFuncsListboxClick(Sender: TObject);
  25.     procedure RunBtnClick(Sender: TObject);
  26.     procedure HelpBtnClick(Sender: TObject);
  27.   private
  28.     { Private declarations }
  29.     Procedure RunFunc;
  30.   public
  31.     { Public declarations }
  32.   end;
  33.  
  34. var
  35.   BtnBottomDlg: TBtnBottomDlg;
  36.  
  37. implementation
  38. uses FBCalc,ExtFunc,ExtdHlp;
  39. {$R *.DFM}
  40.  
  41. procedure TBtnBottomDlg.RegisterFuncBtnClick(Sender: TObject);
  42. begin
  43.   EXTFUNC.RegisterFunctions;
  44.   newFuncsListBox.Enabled := true;
  45.   RegisterFuncBtn.Enabled := False;
  46. end;
  47.  
  48. procedure TBtnBottomDlg.UnregisterBtnClick(Sender: TObject);
  49. begin
  50.   EXTFUNC.UnRegisterFunctions;
  51.   newFuncsListBox.Enabled := false;
  52.   RegisterFuncBtn.Enabled := true;
  53. end;
  54.  
  55. procedure TBtnBottomDlg.NewFuncsListboxClick(Sender: TObject);
  56. begin
  57.   With NewFuncsListbox do
  58.     NewFuncsCombo.Text := Items[ItemIndex];
  59. end;
  60.  
  61.  
  62. Procedure TBtnBottomDlg.RunFunc;
  63. var s: String;
  64.  
  65.       Procedure DispError( ecode : integer );
  66.       var s : String[120];
  67.       begin
  68.         ResultMemo.Text := SimpleExpression.StatusText;
  69.         MessageBeep(MB_ICONHAND);
  70.       end;
  71.  
  72. begin
  73.    s := NewfuncsCombo.Text;
  74.    if s <> '' then
  75.    with simpleExpression do
  76.    begin
  77.      Formula := S;
  78.      if Status = EXPR_SUCCESS then
  79.      begin
  80.        ResultMemo.Text := AsString;
  81.        if Status = EXPR_SUCCESS then
  82.           newfuncsCombo.Items.Add(s)
  83.         else
  84.           DispError(Status);
  85.      end
  86.     else
  87.       DispError(Status);
  88.    end;
  89. end;
  90.  
  91. procedure TBtnBottomDlg.RunBtnClick(Sender: TObject);
  92. begin
  93.  runfunc;
  94. end;
  95.  
  96. procedure TBtnBottomDlg.HelpBtnClick(Sender: TObject);
  97. begin
  98.   ExtDemoHlpFrm.ShowModal;
  99. end;
  100.  
  101. end.
  102.