Z zqssoft Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-25 #1 请问如何声明自定义函数和例程,在private或public部分,为什么不能写成private function Tform1.getx():string;而为什么在实现部分,一定要写成: function Tform1.getx():string;不加Tform1的话,就会不让在private或public部分声明?
请问如何声明自定义函数和例程,在private或public部分,为什么不能写成private function Tform1.getx():string;而为什么在实现部分,一定要写成: function Tform1.getx():string;不加Tform1的话,就会不让在private或public部分声明?
H hs-kill Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-25 #2 ......建议你去好好学学delphi语法private属于类内部,自然不用加类名前缀啊一个unit内可以声明多个类所以方法的具体实现要家类名前缀,否则编译器怎么知道你这个方法是哪个类的
T terry_zhou82 Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-27 #3 是要看看DELPHI的语法书,其实你也不用输入啊,private function Tform1.getx:string;然后直接按CTRL+SHIFT+C,他就会帮你在实现部分自动生成代码啦。
Z zqssoft Unregistered / Unconfirmed GUEST, unregistred user! 2009-05-28 #4 验证了下,发现声明处不管private或public中,均不能写上类名,如TForm1.xxx,但实现处却一定要跟上类名,不跟的话,就不能声明,只能放在前面要调用的代码前面才能调用。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) private function getx:string; public { Public declarations } function gety:string; end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }function TForm1.getx: string;beginend;function TForm1.gety: string;beginend;end.
验证了下,发现声明处不管private或public中,均不能写上类名,如TForm1.xxx,但实现处却一定要跟上类名,不跟的话,就不能声明,只能放在前面要调用的代码前面才能调用。unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) private function getx:string; public { Public declarations } function gety:string; end;var Form1: TForm1;implementation{$R *.dfm}{ TForm1 }function TForm1.getx: string;beginend;function TForm1.gety: string;beginend;end.
L lah998 Unregistered / Unconfirmed GUEST, unregistred user! 2009-06-01 #7 implementation 这个关键词是个分界线,上面的对外(公开),下面的对内(私有).你在implementation 关键词上面窗体类里面 function Tform1.getx():string;加这个Tform1是不对的,因为把父亲和儿子摆在一起了.implementation 关键词下面可以不加Tform1如果不加的话,这个函数里面不能调用窗体上的组件,如果一定要调用组件,就要Tform1.组件,这样子很麻烦,你直接在函数名上Tform1.里面的组件就可以直接写名字了我也不是全懂,只说出了我知道的.
implementation 这个关键词是个分界线,上面的对外(公开),下面的对内(私有).你在implementation 关键词上面窗体类里面 function Tform1.getx():string;加这个Tform1是不对的,因为把父亲和儿子摆在一起了.implementation 关键词下面可以不加Tform1如果不加的话,这个函数里面不能调用窗体上的组件,如果一定要调用组件,就要Tform1.组件,这样子很麻烦,你直接在函数名上Tform1.里面的组件就可以直接写名字了我也不是全懂,只说出了我知道的.