📄 unit1.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 + -