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

📄 aa.pas

📁 delphi的学习资料
💻 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 + -