SetFieldEvent 事件是在那?如何判斷程式事件是自己寫的? |
答題得分者是:channel
|
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
1:SetFieldEvent 事件是在那?如何判斷程式事件是自己寫的?
還是物件本來就捉供
2:FormCreate是要做什麼?
3:一個程式的跑的流程是如何run...大概--->delphi程式
1: procedure MqyCalcFields(DataSet: TDataSet);
procedure SetFieldEvent;
procedure FormCreate(Sender: TObject);
順序顛倒對程式run有差別嗎?
2:什麼procedure 要在type宣告?
什麼procedure要在private宣告?
什麼procedure要在public宣告?
例:
use
....
interface
...
type
TFm1 = class(TfEdit)
MqyEMPLYID: TStringField;
MqyATNNO: TStringField;
Label1: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
Label2: TLabel;
DBEdit3: TDBEdit;
Mqy_pickEMPLYID: TStringField;
Mqy_pickATNNO: TStringField;
Mqy_pickEMPLYNM: TStringField;
MqySTATUS: TStringField;
Label3: TLabel;
DBEdit4: TDBEdit;
procedure MqyCalcFields(DataSet: TDataSet);
procedure SetFieldEvent;
procedure FormCreate(Sender: TObject);
private
.......
public
procedure OpenPick; override;
end;
implementation
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 1:SetFieldEvent 事件是在那?如何判斷程式事件是自己寫的? 還是物件本來就捉供這應該是自己寫的。 如何判斷: 一般Delphi的事件都會在事件加上物件的名稱例: 您有一個TQuery,名稱是Query1,其事件onBeforeOpen的宣告為: procedure Query1BeforeOpen(DataSet: TDataSet); 引言: 2:FormCreate是要做什麼?當Form一開啟時,首先執行的就是FormCreate這個事件,接著是FormShow,再來是FormActivate,您可以作如下的測式。如果您不知程式跑的流程可以用ShowMessage的方式來測試。 procedure TForm1.FormCreate(Sender: TObject); begin ShowMessage('FormCreate'); end; procedure TForm1.FormShow(Sender: TObject); begin ShowMessage('FormShow'); end; procedure TForm1.FormActivate(Sender: TObject); begin ShowMessage('FormActivate'); end; 引言: 3:一個程式的跑的流程是如何run...大概--->delphi程式程式一開始會從Program Project開始執行,再進入您開始的第一個From 如何看Program Project,您可以從Delphi Menu中的Project\View\Source開始 如下範例如下: program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.您可以將中斷點設在Application.Initialize;當程式一Run時,就是進來這裡。 引言: 1: procedure MqyCalcFields(DataSet: TDataSet); procedure SetFieldEvent; procedure FormCreate(Sender: TObject); 順序顛倒對程式run有差別嗎?這些procedure順序顛倒對程式run沒有影響,在此只是作宣告。 引言: 2:什麼procedure 要在type宣告? 什麼procedure要在private宣告? 什麼procedure要在public宣告?在Type中宣告,其實是在interface底下宣告,是屬於Globle,全域變數。 在private宣告,就是Form的私有變數 要在public宣告,就是Form的公有變數 您可以參考一本書 好書推薦:Delphi 6 Object Pascal完美經典 出版公司:金禾 價格:680元 頁數:976 優點:詳細介紹object pascal語言的運作,元件與常用指令原由,細節交代的很清楚。 信相您看了這本書之後,對Delphi的觀念會更清楚。 ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~ |
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:什麼是,全域變數?是指整隻程式form要用到的嗎? 私有變數是只有在些form會用到的嗎? 公有變數是什麼?引言: 1:SetFieldEvent 事件是在那?如何判斷程式事件是自己寫的? 還是物件本來就捉供這應該是自己寫的。 如何判斷: 一般Delphi的事件都會在事件加上物件的名稱例: 您有一個TQuery,名稱是Query1,其事件onBeforeOpen的宣告為: procedure Query1BeforeOpen(DataSet: TDataSet);引言: 2:FormCreate是要做什麼?當Form一開啟時,首先執行的就是FormCreate這個事件,接著是FormShow,再來是FormActivate,您可以作如下的測式。如果您不知程式跑的流程可以用ShowMessage的方式來測試。procedure TForm1.FormCreate(Sender: TObject); begin ShowMessage('FormCreate'); end; procedure TForm1.FormShow(Sender: TObject); begin ShowMessage('FormShow'); end; procedure TForm1.FormActivate(Sender: TObject); begin ShowMessage('FormActivate'); end;引言: 3:一個程式的跑的流程是如何run...大概--->delphi程式程式一開始會從Program Project開始執行,再進入您開始的第一個From 如何看Program Project,您可以從Delphi Menu中的Project\View\Source開始 如下範例如下:program Project1; uses Forms, Unit1 in 'Unit1.pas' {Form1}; {$R *.RES} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.您可以將中斷點設在Application.Initialize;當程式一Run時,就是進來這裡。引言: 1: procedure MqyCalcFields(DataSet: TDataSet); procedure SetFieldEvent; procedure FormCreate(Sender: TObject); 順序顛倒對程式run有差別嗎?這些procedure順序顛倒對程式run沒有影響,在此只是作宣告。引言: 2:什麼procedure 要在type宣告? 什麼procedure要在private宣告? 什麼procedure要在public宣告?在Type中宣告,其實是在interface底下宣告,是屬於Globle,全域變數。 在private宣告,就是Form的私有變數 要在public宣告,就是Form的公有變數 您可以參考一本書 好書推薦:Delphi 6 Object Pascal完美經典 出版公司:金禾 價格:680元 頁數:976 優點:詳細介紹object pascal語言的運作,元件與常用指令原由,細節交代的很清楚。 信相您看了這本書之後,對Delphi的觀念會更清楚。 ~小弟淺見,參考看看~ |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言:什麼是,全域變數?是指整隻程式form要用到的嗎? 私有變數是只有在些form會用到的嗎? 公有變數是什麼?其實在interface底下,都是全域變數,也就是其他的Form只要uses該Form就可以使用該變數。 但是在interface type底下有區分為private及public。 private裡所宣告的變數、procedure、function均是該Form私有的,也就是其他的Form無法使用,就算uses該Form也一樣。 public裡所宣告的變數、procedure、function均是公開的,其他的Form只要uses該Form就可以使用該變數、或者是繼承該Form的子孫。 也許你會問在interface type底下及public底下宣告有何不同:我想是沒有什麼不同,只是我們習慣自己寫的變數、procedure、function若要公開時,會寫在public。 ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~ |
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:interface底下 protected 是做什麼?跟public底下宣告有何不同procedure、function引言:什麼是,全域變數?是指整隻程式form要用到的嗎? 私有變數是只有在些form會用到的嗎? 公有變數是什麼?其實在interface底下,都是全域變數,也就是其他的Form只要uses該Form就可以使用該變數。 但是在interface type底下有區分為private及public。 private裡所宣告的變數、procedure、function均是該Form私有的,也就是其他的Form無法使用,就算uses該Form也一樣。 public裡所宣告的變數、procedure、function均是公開的,其他的Form只要uses該Form就可以使用該變數、或者是繼承該Form的子孫。 也許你會問在interface type底下及public底下宣告有何不同:我想是沒有什麼不同,只是我們習慣自己寫的變數、procedure、function若要公開時,會寫在public。 ~小弟淺見,參考看看~ |
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:interface底下 protected 是做什麼?跟public底下宣告有何不同procedure、function引言:什麼是,全域變數?是指整隻程式form要用到的嗎? 私有變數是只有在些form會用到的嗎? 公有變數是什麼?其實在interface底下,都是全域變數,也就是其他的Form只要uses該Form就可以使用該變數。 但是在interface type底下有區分為private及public。 private裡所宣告的變數、procedure、function均是該Form私有的,也就是其他的Form無法使用,就算uses該Form也一樣。 public裡所宣告的變數、procedure、function均是公開的,其他的Form只要uses該Form就可以使用該變數、或者是繼承該Form的子孫。 也許你會問在interface type底下及public底下宣告有何不同:我想是沒有什麼不同,只是我們習慣自己寫的變數、procedure、function若要公開時,會寫在public。 ~小弟淺見,參考看看~ |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: interface底下 protected 是做什麼?跟public底下宣告有何不同procedure、functionprotected只有繼承該Form的子孫才能使用在這區所宣告的procedure、function 幫您整理一下: private:所宣告的東東,只能自已使用。 protected:所宣告的東東,只有繼承該Form的子孫才能使用。 public:所宣告的東東,只要是uses該Form就可以使用。 ~小弟淺見,參考看看~
------
~小弟淺見,參考看看~ |
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:繼承是否要先USES..繼承跟USES到底是什麼關係? implementation的USES跟interface的USES是什麼關係?引言: interface底下 protected 是做什麼?跟public底下宣告有何不同procedure、functionprotected只有繼承該Form的子孫才能使用在這區所宣告的procedure、function 幫您整理一下: private:所宣告的東東,只能自已使用。 protected:所宣告的東東,只有繼承該Form的子孫才能使用。 public:所宣告的東東,只要是uses該Form就可以使用。 ~小弟淺見,參考看看~ |
qoo1234
版主 發表:256 回覆:1167 積分:659 註冊:2003-02-24 發送簡訊給我 |
您可以參考一本書
【本書特點】
本書最大的特色是利用程式設計實例,STEP BY STEP引導初學者,在最短的時間內,快速的學習Delphi。了解Delphi基本的程式設計,同時幫讀者建立一套自我學習程式的方法。 在本書中,作者特別強調一個快速的學習方式--『先看後找』,『先看』程式範例,當有不懂的地方,『然後再學找』程式的內容及書中的介紹。讀者不妨試試看,相信用久了,便可以隨心所欲,快速學習。另外,除了書中介紹的實例外,還包含作者在網路上Delphi電子報的內容。 本書特色:
1.利用完整的範例來教導讀者如何學習Delphi
2.告訴初學者一個快速學習Delphi的方法
3.從資料庫的設計、程式開發與Quickreport報表的實例完整介紹Ado資料庫的程式設計
4.讀者可能需要的其他小程式範例
【本書內容】
本書共包含基礎篇、資料庫篇與其他篇,內容如下:
1. 基本篇:基本Delphi環境介紹、常用的函數介紹及利用猜數字程式來告訴讀者如何設計Delphi基本的程式設計及邏輯思考
2. 資料庫篇:利用Table來設計一個Master-Detail的學生成績資料庫,並利用Quickreport元件設計並介紹報表的應用
3. 其他篇:介紹有關於Ado資料庫及其他可能需要經常使用元件(Component)的程式設計 //................ 您可以參考一本書
好書推薦:Delphi 6 Object Pascal完美經典
出版公司:金禾
價格:680元
頁數:976
優點:詳細介紹object pascal語言的運作,元件與常用指令原由,細節交代的很清楚。
信相您看了這本書之後,對Delphi的觀念會更清楚。
~小弟淺見,參考看看~ 發表人 - QOO1234 於 2003/03/12 16:05:31
|
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 繼承是否要先USES..繼承跟USES到底是什麼關係? implementation的USES跟interface的USES是什麼關係?繼承是否要先USES:No底下有繼承的操作方法。 繼承:簡單的說就是繼承屬性、事件、方法。 Uses:故名思義就是使用。例如:Form2 uses Form1,指Form2可以使用Form1所公開的變數、procedure、function。 繼承跟USES到底是什麼關係:這是兩回事,不可混為一談。 繼承的操作方法:(您之前有問過這樣的問題)
------
~小弟淺見,參考看看~ |
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:為什麼有些會有繼承會有以下..有些沒有. var Form1: TForm1; TYPE為什麼要做多個繼承; type TvalidateRec=class(TObject) Field:TField; ParentTable: string; ParentTableDisplay: string; ParentField: string; swhere: string; isKeyCode: boolean; end; TPickType=(pkDate, pkKeyCode, pkFK); TPickRec=class(TObject) Sender:TWinControl; sql: string; ResultFields: string; DescptField: string; //picktype:integer; picktype:TPickType; end;引言: 繼承是否要先USES..繼承跟USES到底是什麼關係? implementation的USES跟interface的USES是什麼關係?繼承是否要先USES:No底下有繼承的操作方法。 繼承:簡單的說就是繼承屬性、事件、方法。 Uses:故名思義就是使用。例如:Form2 uses Form1,指Form2可以使用Form1所公開的變數、procedure、function。 繼承跟USES到底是什麼關係:這是兩回事,不可混為一談。 繼承的操作方法:(您之前有問過這樣的問題) |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
|
vivi666666
初階會員 發表:83 回覆:94 積分:35 註冊:2003-03-05 發送簡訊給我 |
引言:不好意思我寫的不夠detail,thank妳回答我那麼多問題..因我是個新手 我是指我看有些TYPE有class(繼承)以下,為什麼要繼承2個? TYPE TvalidateRec=class(TObject) . . END; TDBGridF = class(TDBGrid) property FixedCols; property DefaultRowHeight; property TopRow; end;引言: 為什麼有些會有繼承會有以下..有些沒有. var Form1: TForm1;這一行是宣告Form1的型態是TForm1。一般都會有。 如果你沒有這一行Form1: TForm1;也就沒有辦法使用Form1的東西,也就是當別的Form Uses Form1,沒有辦法使用Form1的變數、function、procedure…。您可以自行試試看,其差異性。引言: TYPE為什麼要做多個繼承;不懂您的思意! 您是指那一行? |
channel
尊榮會員 發表:67 回覆:707 積分:854 註冊:2002-05-02 發送簡訊給我 |
引言: 不好意思我寫的不夠detail,thank妳回答我那麼多問題..因我是個新手 我是指我看有些TYPE有class(繼承)以下,為什麼要繼承2個? TYPE TvalidateRec=class(TObject) . . END; TDBGridF = class(TDBGrid) property FixedCols; property DefaultRowHeight; property TopRow; end;您是指這兩行嗎? TvalidateRec=class(TObject) TDBGridF = class(TDBGrid) 不同的物件當然會繼承不同的物件!
------
~小弟淺見,參考看看~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |