main.pas

来自「源码,数学表达式解析器,可以解析并自动计算输入的公式」· PAS 代码 · 共 54 行

PAS
54
字号
unit main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TfrmCalc = class(TForm)
    btnCalc: TButton;
    btnExit: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure btnCalcClick(Sender: TObject);
    procedure btnExitClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  function CalcExp(AExp: PChar):extended; stdcall; external 'calcfun.dll';
  function CalcExp2(AExp: PChar; var Res: Extended):boolean; stdcall; external 'calcfun.dll';
var
  frmCalc: TfrmCalc;

implementation

{$R *.dfm}

procedure TfrmCalc.btnCalcClick(Sender: TObject);
var  temp: extended;begin  temp := CalcExp(PChar(Edit1.Text));  if temp <> -999999999999.99 then    Edit2.Text := FloatToStr(temp)  else    Edit2.Text := 'Error';end;
procedure TfrmCalc.btnExitClick(Sender: TObject);
var
  temp: extended;begin  if CalcExp2(PChar(Edit1.Text),temp) then    Edit2.Text := FloatToStr(temp)  else    Edit2.Text := 'Error';
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?