写在那里你该清楚了吧,可是Delphi里没有控件数组 我给你个提示把,不只行不行,你自己去试好了 你操作是的数据集把, procdure BtnClicked(Sender:Tobject,ATable;TTabel); begin if Tbutton(Sender).Name=BtnNew then Table1.Append; if Tbutton(Sender).Name=BtnSave then Table1.Post; …… end; 你自己试试!
procedure TForm1.myclick(Sender: TObject;str_type: String;str_form: TForm); begin if Tbutton(Sender).Name=BtnNew then '這里有錯.是為什么呢? begin str_form.BtnNew.Enabled :=False; '這里這樣寫怎么也有錯呢? str_form.BtnEdit.Enabled :=False; '同樣,應該怎樣寫呢? End end;各位上面的錯誤應該怎樣改呢?謝謝!!!!
public
procedure myclick(Sender: TObject);
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.myclick(Sender: TObject);
begin
showmessage('pl');
end;procedure TForm1.Button1Click(Sender: TObject);
begin
myclick(self);
end;procedure TForm1.Button2Click(Sender: TObject);
begin
form2.show;
end;end.在form2:
{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
begin
Form1.myclick(self);
end;
在implementation下写实现另:用actionlist也不错
在调用的那个form中:
implementation
Uses dm,ufrm_main;
声明全局变量其它form用到同样部分时,引用一下就行了 uses unit被引用单元名
我给你个提示把,不只行不行,你自己去试好了 你操作是的数据集把,
procdure BtnClicked(Sender:Tobject,ATable;TTabel);
begin
if Tbutton(Sender).Name=BtnNew then
Table1.Append;
if Tbutton(Sender).Name=BtnSave then
Table1.Post;
……
end;
你自己试试!
begin
if Tbutton(Sender).Name=BtnNew then '這里有錯.是為什么呢?
begin
str_form.BtnNew.Enabled :=False; '這里這樣寫怎么也有錯呢?
str_form.BtnEdit.Enabled :=False; '同樣,應該怎樣寫呢?
End
end;各位上面的錯誤應該怎樣改呢?謝謝!!!!
真是笨,你可以指點一下我嗎?謝謝!!!
if sender=BtnNew then
begin
str_form.btnNew.Enabled:=False;
str_form.btnNew.Enabled:=False;
end;
if Tbutton(Sender).Name=‘BtnNew’ then
Table1.Append;
而且也cell 以上的function .真不知應該怎么辦.急死了.
procedure TMainForm.Button1Click(Sender: TObject);begin
if Sender = Button1 then
AboutBox.Caption := 'About ' + Application.Title
else
AboutBox.Caption := '';
AboutBox.ShowModal;
end;
请注意以下代码,我认为是最好的解决方法.在这些Button的OnClick(Sender:TObject)事件中如此写:(所有的
Button都指向一个这样的函数.)
procedure Buttonclick(Sender:Tobject);
begin
ProcessButtonClick(Self,Sender);
end;ProcessButtonClick是一个公用函数,所有的Form都用到他.
你还需要把BtnNew,BtnEdit,BtnDel,BtnSave,BtnCancel的Tag属性设为
0,1,2,3,4;procedure ProcessButtonClick(Form:TForm,Sender:TButton);
begin case Tbutton(Sender).tag of
0:处理BtnNew被按下后发生的...
1:处理BtnEdit被按下后发生的...
2:处理BtnDel被按下后发生的...
3:处理BtnSave被按下后发生的...
end;
end;
你一定会问,你传的参数是TForm类型的,那么如何访问该Form上的
BtnNew,BtnEdit,BtnDel,BtnSave,BtnCancel呢?
有一个技巧:
Form.FindComponent('BtnNew').Visible := false;不就可一访问了吗?
最后一句是:
TButton( Form.FindComponent('BtnNew') ).Visible := false