about procedure 的產生?? |
尚未結案
|
jchuang
一般會員 發表:41 回覆:36 積分:15 註冊:2003-08-08 發送簡訊給我 |
我在看研華的 ADDA Card 的example時,1,2項是元件bottem的procedure,如果是元件的只要點兩下就可以產生 procedure cmdExitClick(Sender: TObject);
procedure cmdRunClick(Sender: TObject); 可是第3項不是元件的,請問要如何產生ㄋ? 1 procedure cmdExitClick(Sender: TObject);
2 procedure cmdRunClick(Sender: TObject);
3 procedure ChanChange(Sender: TObject); 新手上路
------
新手上路 |
stone0924
一般會員 發表:3 回覆:17 積分:14 註冊:2002-08-13 發送簡訊給我 |
|
jchuang
一般會員 發表:41 回覆:36 積分:15 註冊:2003-08-08 發送簡訊給我 |
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
|
deity
尊榮會員 發表:90 回覆:876 積分:678 註冊:2003-05-09 發送簡訊給我 |
jchuang您好:
关于procedure的定义,有下列几种常用的做法:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, DBCtrls; type TForm1 = class(TForm) DBListBox1: TDBListBox; Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); //双击之后自动生成的procedure private { Private declarations } procedure ChanChange(Sender: TObject);//这是您自己自定义的procedure public { Public declarations } procedure ChanChange(Sender: TObject);//自定义的procedure也可以放在这里 end; var Form1: TForm1; CurrentChannel:integer; 定义一个全局变量 implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin showmessage(inttostr(CurrentChannel)); end; procedure TForm1.ChanChange(Sender: TObject); begin CurrentChannel :=(Sender as TEdit).Tag; end; end.所以说procedure可以自已手动加,也不一定得对应到元件。 宣告在 private之后(如蓝色部分),只能供本unit调用。宣告在public之后(如红色部分),可供所有的unit调用。具体您可去查找相关资料,或去看看相关的书籍。 如上面的实例,如果您单单看 ChanChange这个procedure,它也只是一个宣告和一个在程序内。但它实际有用,因它已经传值给CurrentChannel,得到Edit的Tag值,可供其他procedure和Function使用,如上面实例,在Button1Click有用到! 供参考看看,希望能对您有所帮助! ~~~静心养德~~~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |