unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); //“确定”按钮
var
w,x: real;
begin
if edit1.Text = '' then edit1.Text := '0'; //防止Edit1为空引发的错误
w := strtofloat(edit1.Text);
if w<=50 then //IF的复合语句
x := 0.25 * w
else
if w <= 100 then
x := 0.25 * 50 + 0.35 * (w-50)
else
x := 0.25 * 50 + 0.35 * 50 + 0.45 * (w-100);
edit2.Text := floattostr(x);
edit1.SelStart :=0;
//SelStart-返回或设置所选择的文本的起始点;如果没有文本被选中,则指出插入点的位置。
edit1.sellength := length(edit1.Text);
//SelLength-返回或设置所选择的字符数
end;
procedure TForm1.Button2Click(Sender: TObject); //“清除”按钮
begin
edit1.Text := '';
edit2.Text := '';
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); //防止非法键输入代码
var
l: boolean;
begin
l := (key=#8) or (key=#46) or ((key>#47) and (key<#58));
//#8为BackSpace键,#46为“.”键,#48到#57为数字键
if NOT l then key := #0;
//屏蔽输入除数字键,BackSpace键和“.”键以外的键
end;
end.