⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 个人计算器 个人计算器
💻 PAS
字号:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    ComboBox1: TComboBox;
    Edit3: TEdit;
    ClientDataSet1: TClientDataSet;
    Label1: TLabel;
    EdtLow: TEdit;
    Label2: TLabel;
    EdtHigh: TEdit;
    Button2: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    function IsFloat(sString: String ): Boolean;    //Int和Float都是真
    function StringVal(sVal: string):Real;
    function IsInt(sString: String ): Boolean;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  s1,s2,s3: Real;
begin
  if (Trim(Edit1.Text)='' ) or
     (Trim(Edit2.Text)='' ) then
  begin
    showmessage('No Data');
    Exit;
  end;

  if not IsFloat(Edit1.Text) then
  begin
    showmessage('请输入数字!');
    Edit1.SetFocus;
    Exit;
  end;

  if not IsFloat(Edit2.Text) then
  begin
    showmessage('请输入数字!');
    Edit2.SetFocus;
    Exit;
  end;


  if (ComboBox1.ItemIndex=3)and (StringVal(Edit2.Text)=0) then
  begin
    showmessage('除法数不能为0!');
    Edit2.SetFocus;
    Exit;
  end;


  s1:=StringVal(Edit1.Text);
  s2:=StringVal(Edit2.Text);
  case ComboBox1.ItemIndex of
    0: s3:=s1+s2; //  +
    1: s3:=s1-s2; //  -
    2: s3:=s1*s2; //  *
    3: s3:=s1/s2; //  /
  end;

  if IsInt(Edit1.Text) and IsInt(Edit2.Text) and (ComboBox1.ItemIndex<>3) then
    Edit3.Text:=format('%d',[Trunc(s3)])
  else
    Edit3.Text:=format('%0.3f',[s3]);
end;


function TForm1.StringVal(sVal: string):Real;
var
  Code: Integer;
  V : Real;
begin
  Val(sVal,v,Code);
  if Code=0  then
    Result:=StrToFloat(sVal)
  else
    Result:=0;
end;


function TForm1.IsInt(sString: String ): Boolean;
var
  Code, V : Integer;
begin
  Val(sString,v,Code);
  if Code=0  then
    Result:=True
  else
    Result:=False;
end;


function TForm1.IsFloat(sString: String ): Boolean;    //Int和Float都是真
var
  Code, I: Integer;
  V : Real;
begin
  Val(sString,v,Code);
  if Code=0  then
    Result:=True
  else
    Result:=False;
end;



procedure TForm1.Button2Click(Sender: TObject);
var
  fLow,fHigh,fEnd: Real;
begin
  if Trim(EdtHigh.Text)='' then
    Exit;
  if Trim(EdtLow.Text)='' then
    Exit;
  fHigh:=StrToFloat(EdtHigh.Text);
  fLow :=StrToFloat(EdtLow.Text);
  Memo1.Lines.Add('At 0.3= '+format('%0.2f',[ fLow+(fHigh-fLow)*0.3]));
  Memo1.Lines.Add('At 0.4= '+format('%0.2f',[ fLow+(fHigh-fLow)*0.4]));
end;

end.

⌨️ 快捷键说明

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