📄 main.pas
字号:
// 组件动态使用 例
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TfmMain = class(TForm)
pn00: TPanel;
Panel1: TPanel;
edtN: TEdit;
btnCreate: TBitBtn;
btnDel: TBitBtn;
btnCount: TBitBtn;
LbR: TLabel;
Label1: TLabel;
procedure btnCreateClick(Sender: TObject);
procedure EdtExit(Sender: TObject); // 事件声明, 人工书写
procedure btnDelClick(Sender: TObject);
procedure btnCountClick(Sender: TObject);
private { Private declarations }
public { Public declarations }
end;
var
fmMain: TfmMain;
arrEdt: array of TEdit;
DelNo: byte;
////////////////////////////////////////////////////////////////////////////////
implementation
{$R *.dfm}
procedure TfmMain.btnCreateClick(Sender: TObject);
var
i,n: byte;
s: string;
tmp: TEdit;
begin
n:=StrToInt(edtN.Text);
SetLength(arrEdt,n);
for i:=0 to n-1 do
try
tmp:=TEdit.Create(Self);
tmp.Name:='edt'+IntToStr(i);
tmp.Text:=Copy(tmp.Name,4,3); // 此句可以不用
tmp.Parent:=pn00; // 此句必不可少
tmp.Left:=10;
tmp.Top:=20 +i*40;
tmp.Width:=90; // 此句可以不用
tmp.OnExit:=EdtExit; // 事件名定义, 人工书写
arrEdt[i]:=tmp;
except
end;
end;
//==============================================================================
procedure TfmMain.EdtExit(Sender: TObject); // 事件具体定义, 人工书写
begin
DelNo:=StrToInt( (Sender as TEdit).Name[4] );
end;
//==============================================================================
// 删除选中的一个Edit
procedure TfmMain.btnDelClick(Sender: TObject);
begin
arrEdt[DelNo].Free;
arrEdt[DelNo]:=nil;
end;
//==============================================================================
// 各Edit的值求和, 并显示结果
procedure TfmMain.btnCountClick(Sender: TObject);
var
i: Byte;
r: Real;
begin
if Length(arrEdt)=0 then
Exit;
r:=0;
for i:=0 to High(arrEdt) do
begin
if Assigned(arrEdt[i]) then // 跟下句的含意相同
// if arrEdt[i]=nil then
r:=r+StrToFloat(arrEdt[i].Text);
end;
LbR.Caption:=FloatToStr(r);
LbR.Width:=LbR.Width +20; // 何意 ???
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -