📄 aa.pas
字号:
unit AA;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, StdCtrls, Buttons,
Math, CheckLst, ExtCtrls;
type
TfmAA = class(TForm)
Label1: TLabel; Label2: TLabel;
//---------------------------------------------
sg: TStringGrid;
btnDo: TBitBtn;
edtX: TEdit;
pn00: TPanel;
btnBB: TBitBtn;
edtD1: TEdit;
edtD2: TEdit;
edtD3: TEdit;
btmMeans: TButton;
LbRmn: TLabel;
Label3: TLabel;
procedure FormCreate(Sender: TObject);
procedure btnDoClick(Sender: TObject);
procedure btnBBClick(Sender: TObject);
function f2(x: integer): String; virtual; // 立方 //允许覆盖
procedure btmMeansClick(Sender: TObject);
private { Private declarations }
currRow: byte;
public { Public declarations }
function fmn(n1,n2,n3: byte): string; overload; // 重载方法之一
function fmn(n1,n2: byte): string; overload; // 重载方法之一
function fmn(s1,s2,s3: string): string; overload; // 重载方法之一
end;
var
fmAA: TfmAA;
sgHead: array[1..3] of string = ('X','f1 (x)','f2 (x)');
function f1(x: integer): String; // 平方
////////////////////////////////////////////////////////////////////////////////
implementation
uses BB;
{$R *.dfm}
procedure TfmAA.FormCreate(Sender: TObject);
var
i: byte;
begin
for i:=1 to 3 do
sg.Cells[i,0]:=' '+sgHead[i];
currRow:=1;
end;
function f1(x: integer): String; // 求平方
begin
Result:=IntToStr(x*x);
end;
//==============================================================================
function TfmAA.f2(x: integer): String; // 求立方
begin
Result:=IntToStr(x*x*x);
end;
//==============================================================================
procedure TfmAA.btnDoClick(Sender: TObject);
var
x: smallInt;
begin
x:=StrToInt(edtX.Text);
sg.Cells[1,currRow]:=IntToStr(x);
sg.Cells[2,currRow]:=f1(x);
sg.Cells[3,currRow]:=f2(x);
sg.Cells[0,currRow]:=IntToStr(currRow);
sg.Row:=currRow;
currRow:=currRow+1;
if currRow > 4 then
sg.RowCount:=currRow+1;
edtX.Text:=IntToStr(x+1);
end;
//==============================================================================
procedure TfmAA.btnBBClick(Sender: TObject);
begin
if not Assigned(fmBB) then
fmBB:=TfmBB.Create(Self);
fmBB.Show;
end;
//======= 求平均值 =============================================================
procedure TfmAA.btmMeansClick(Sender: TObject);
var
d1,d2,d3: byte;
sR: string;
begin
if Ord(Trim(edtD1.Text)[1]) >$39 then
sR:=fmn(edtD1.Text,edtD2.Text,edtD3.Text) // 重载方法之一
else
begin
d1:=StrToInt(edtD1.Text);
d2:=StrToInt(edtD2.Text);
if Trim(edtD3.Text)<>'' then
begin
d3:=StrToInt(edtD3.Text);
sR:=fmn(d1,d2,d3); // 重载方法之一
end
else
sR:=fmn(d1,d2); // 重载方法之一
end;
LbRmn.Caption:='平均:'+sR;
end;
//==============================================================================
function TfmAA.fmn(n1,n2,n3: byte): string;
begin
Result:=IntToStr( Round((n1+n2+n3)/3) );
end;
//==============================================================================
function TfmAA.fmn(n1,n2: byte): string;
begin
Result:=IntToStr( Round((n1+n2)/2));
end;
//==============================================================================
function TfmAA.fmn(s1,s2,s3: string): string;
begin
; // 数据表示等级,做平均 未写完
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -