自定義屬性與方法PPT學(xué)習(xí)教案_第1頁(yè)
自定義屬性與方法PPT學(xué)習(xí)教案_第2頁(yè)
自定義屬性與方法PPT學(xué)習(xí)教案_第3頁(yè)
自定義屬性與方法PPT學(xué)習(xí)教案_第4頁(yè)
自定義屬性與方法PPT學(xué)習(xí)教案_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、會(huì)計(jì)學(xué)1 自定義屬性與方法自定義屬性與方法 變量作用域 第1頁(yè)/共32頁(yè) 第2頁(yè)/共32頁(yè) 【例例8-1】設(shè)計(jì)一個(gè)計(jì)時(shí)器,能夠設(shè)置倒計(jì)時(shí)的時(shí)間,并進(jìn)行倒計(jì)時(shí)。設(shè)計(jì)一個(gè)計(jì)時(shí)器,能夠設(shè)置倒計(jì)時(shí)的時(shí)間,并進(jìn)行倒計(jì)時(shí)。 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: (1) 添加自定義屬性。添加自定義屬性。 (2) 建立應(yīng)用程序用戶界面與設(shè)置屬性。建立應(yīng)用程序用戶界面與設(shè)置屬性。 8.1 自定義屬性自定義屬性 (3) 編寫代碼。編寫代碼。 編寫微調(diào)器編寫微調(diào)器Spinner1的的InteractiveChange事件代碼:事件代碼: THISFORM.sec = THIS.Value * 60 Color = RGB(

2、+STR(r,3)+,+STR(g,3)+,+STR(b,3)+) 第10頁(yè)/共32頁(yè) 編寫編寫Spanner2的的InteractiveChange事件代碼:事件代碼: r = THISFORM.spi(1).Value g = THISFORM.spi(2).Value b = THISFORM.spi(3).Value THIS.Parent.Text2.BackColor = RGB(r,g,b) THIS.Parent.Text1.Value = ; Color = RGB(+STR(r,3)+,+STR(g,3)+,+STR(b,3)+)“ 編寫編寫Spanner3的的Intera

3、ctiveChange事件代碼:事件代碼: r = THISFORM.spi(1).Value g = THISFORM.spi(2).Value b = THISFORM.spi(3).Value THIS.Parent.Text2.BackColor = RGB(r,g,b) THIS.Parent.Text1.Value = ; Color = RGB(+STR(r,3)+,+STR(g,3)+,+STR(b,3)+) 第11頁(yè)/共32頁(yè) 8.2.1 自定義方法的概念自定義方法的概念 第12頁(yè)/共32頁(yè) 第13頁(yè)/共32頁(yè) 8.2 自定義方法自定義方法 自定義方法的建立與調(diào)用 自定義方法

4、的建立分為兩步:方法的定義和編寫方法代碼。而自自定義方法的建立分為兩步:方法的定義和編寫方法代碼。而自 定義方法的調(diào)用則要指明調(diào)用的路徑。定義方法的調(diào)用則要指明調(diào)用的路徑。 方法的命名遵循下列方法的命名遵循下列VFP中名稱的使用原則:中名稱的使用原則: (1) 只能使用字母、漢字、下劃線和數(shù)字。只能使用字母、漢字、下劃線和數(shù)字。 (2) 使用字母、漢字或下劃線作為名稱的開頭。使用字母、漢字或下劃線作為名稱的開頭。 (3) 名稱可以是名稱可以是1至至128個(gè)字符。個(gè)字符。 (4) 避免使用避免使用VFP的保留字。的保留字。 另外還要注意,方法名不要與變量、數(shù)組名稱相同,盡量取有意另外還要注意,方

5、法名不要與變量、數(shù)組名稱相同,盡量取有意 義的名稱。義的名稱。 第14頁(yè)/共32頁(yè) 【例例8-4】在例在例8-3中使用自定義方法來(lái)統(tǒng)一處理微調(diào)器的操作。中使用自定義方法來(lái)統(tǒng)一處理微調(diào)器的操作。 在例在例8-3的基礎(chǔ)上進(jìn)行修改,具體步驟如下:的基礎(chǔ)上進(jìn)行修改,具體步驟如下: (1) 添加新方法。進(jìn)入表單設(shè)計(jì)器,單擊系統(tǒng)主菜單中添加新方法。進(jìn)入表單設(shè)計(jì)器,單擊系統(tǒng)主菜單中 “表單表單”項(xiàng),在下拉菜單中選擇項(xiàng),在下拉菜單中選擇“新方法程序新方法程序”,打開,打開 “新建方法程序新建方法程序”對(duì)話框。對(duì)話框。 圖8-6 打開“新建方法程序”對(duì)話框 圖7-9 自定義的新方法 單擊單擊“添加添加”按鈕后再

6、單擊按鈕后再單擊“關(guān)閉關(guān)閉”按鈕,按鈕, 退出新建方法程序?qū)υ捒?。此時(shí),在屬性退出新建方法程序?qū)υ捒?。此時(shí),在屬性 窗口的窗口的“方法程序方法程序”選項(xiàng)卡中可以看見新選項(xiàng)卡中可以看見新 建的方法及其說(shuō)明。建的方法及其說(shuō)明。 第15頁(yè)/共32頁(yè) (2) 編寫自定義方法的代碼。編寫自定義方法的代碼與編寫表單的事件過(guò)程代碼一樣,可以雙擊屬性窗口的新方法項(xiàng)編寫自定義方法的代碼。編寫自定義方法的代碼與編寫表單的事件過(guò)程代碼一樣,可以雙擊屬性窗口的新方法項(xiàng)SpiCh,或直接打開,或直接打開“代碼代碼”窗口,在窗口,在“過(guò)程過(guò)程”下拉列表中選擇新方法下拉列表中選擇新方法SpiCh,即可開始編寫新方法的代碼(

7、圖,即可開始編寫新方法的代碼(圖7-10):): r = THISFORM.spi(1).Value g = THISFORM.spi(2).Value b = THISFORM.spi(3).Value THIS.Container1.Text2.BackColor = RGB(r,g,b) THIS.Container1.Text1.Value=Color= RGB(+STR(r,3)+,+STR(g,3)+,+STR(b,3)+) 編寫自定義方法的代碼 第16頁(yè)/共32頁(yè) (3) 自定義方法的調(diào)用。自定義方法的調(diào)用與表單的內(nèi)部方法的調(diào)用一樣,可以在事件過(guò)程或其他的方法代碼中調(diào)用。自定義方

8、法的調(diào)用。自定義方法的調(diào)用與表單的內(nèi)部方法的調(diào)用一樣,可以在事件過(guò)程或其他的方法代碼中調(diào)用。 修改修改Spanner1的的InteractiveChange事件代碼:事件代碼: THISFORM.spich 修改修改Spanner2的的InteractiveChange事件代碼:事件代碼: THISFORM.spich 修改修改Spanner3的的InteractiveChange事件代碼:事件代碼: THISFORM.spich 表單的運(yùn)行結(jié)果與例表單的運(yùn)行結(jié)果與例8-3完全相同。完全相同。 第17頁(yè)/共32頁(yè) 1. 參數(shù)的傳遞參數(shù)的傳遞 若想使方法能夠接收參數(shù),只需在方法代碼的開始增加命令

9、行:若想使方法能夠接收參數(shù),只需在方法代碼的開始增加命令行: PARAMETERS 形參表形參表 或或 LPARAMETERS 形參表形參表 調(diào)用時(shí)使用括號(hào)將實(shí)參括起:調(diào)用時(shí)使用括號(hào)將實(shí)參括起: 對(duì)象名對(duì)象名.方法名(方法名(實(shí)參表實(shí)參表) 第18頁(yè)/共32頁(yè) 第19頁(yè)/共32頁(yè) 【例8-5】在一個(gè)窗口中包含3個(gè)命令按鈕,當(dāng)用戶單擊其中一個(gè)時(shí),要求其他個(gè)別按鈕不能使用: 單擊Command1后 單擊Command3后 單擊Command2后 三個(gè)按鈕 第20頁(yè)/共32頁(yè) 設(shè)計(jì)步驟如下:設(shè)計(jì)步驟如下: 應(yīng)用程序用戶界面的建立與對(duì)象屬性的設(shè)置參見圖應(yīng)用程序用戶界面的建立與對(duì)象屬性的設(shè)置參見圖8-1

10、0,下面介紹代碼的編寫。,下面介紹代碼的編寫。 (1) 添加新方法。添加新方法。 進(jìn)入表單設(shè)計(jì)器,單擊系統(tǒng)主菜單中進(jìn)入表單設(shè)計(jì)器,單擊系統(tǒng)主菜單中“表單表單”項(xiàng),在下拉菜單中選擇項(xiàng),在下拉菜單中選擇“新方法程序新方法程序”,打開,打開“新建方法程序新建方法程序”對(duì)話框。對(duì)話框。 在在“名稱名稱”欄中填入自定義方法的名稱:欄中填入自定義方法的名稱:CmdClk,單擊,單擊“添加添加”按鈕后再單擊按鈕后再單擊“關(guān)閉關(guān)閉”按鈕,退出新建方法程序?qū)υ捒?。此時(shí),在屬性窗口的按鈕,退出新建方法程序?qū)υ捒?。此時(shí),在屬性窗口的“方法程序方法程序”選項(xiàng)卡中可以看見新建的方法。選項(xiàng)卡中可以看見新建的方法。 第21

11、頁(yè)/共32頁(yè) (2) 編寫自定義方法CmdClk的代碼: LPARAMETERS x DO CASE CASE x = THIS.Command1 THIS.Command2.Enabled=.F. CASE x = THIS.Command2 THIS.Command1.Enabled=.F. CASE x = THIS.Command3 THIS.Command1.Enabled=.T. THIS.Command2.Enabled=.T. ENDCASE (3) 三個(gè)命令按鈕的Click事件代碼完全相同: THISFORM.cmdclk(THIS) 說(shuō)明:要注意在不同代碼中THIS所代表的

12、不同對(duì)象。 第22頁(yè)/共32頁(yè) 2. 參數(shù)傳遞的方式參數(shù)傳遞的方式 參數(shù)傳遞的方式分為參數(shù)傳遞的方式分為傳址方式傳址方式和和傳值方式傳值方式。 傳址方式傳址方式是指主程序?qū)?shí)際參數(shù)在內(nèi)存中的地址傳給被調(diào)用的方法,由形式參數(shù)接收,而形式參數(shù)也使用該地址。即實(shí)際參數(shù)與形式參數(shù)使用相同的內(nèi)存地址,是指主程序?qū)?shí)際參數(shù)在內(nèi)存中的地址傳給被調(diào)用的方法,由形式參數(shù)接收,而形式參數(shù)也使用該地址。即實(shí)際參數(shù)與形式參數(shù)使用相同的內(nèi)存地址,形式參數(shù)的內(nèi)容一經(jīng)改變,實(shí)際參數(shù)的內(nèi)容也將跟著改變。形式參數(shù)的內(nèi)容一經(jīng)改變,實(shí)際參數(shù)的內(nèi)容也將跟著改變。 傳值方式傳值方式是指主程序?qū)?shí)際參數(shù)的一個(gè)備份傳給被調(diào)用的方法,這個(gè)備

13、份可以被方法改變,但在是指主程序?qū)?shí)際參數(shù)的一個(gè)備份傳給被調(diào)用的方法,這個(gè)備份可以被方法改變,但在主程序中變量的原值不會(huì)改變。主程序中變量的原值不會(huì)改變。 在默認(rèn)的情況下,在默認(rèn)的情況下,VFP在調(diào)用方法時(shí)采用傳值方式。如果要改變參數(shù)的傳遞方式,可以采用以下兩種方法:在調(diào)用方法時(shí)采用傳值方式。如果要改變參數(shù)的傳遞方式,可以采用以下兩種方法: (1) 使用使用SET UDFPARMS TO VALUE|REFERENCE命令來(lái)強(qiáng)制改變參數(shù)的傳遞方式。命令來(lái)強(qiáng)制改變參數(shù)的傳遞方式。 (2) 使用使用符號(hào)來(lái)強(qiáng)制符號(hào)來(lái)強(qiáng)制VFP使用傳址的參數(shù)傳遞方式。使用傳址的參數(shù)傳遞方式。 第23頁(yè)/共32頁(yè) 【例8-6】編寫求最大公約數(shù)的自定義方法,輸入的兩個(gè)整數(shù)按值傳遞,求出的最大公約數(shù)按地址傳遞。 設(shè)計(jì)步驟如下: 應(yīng)用程序用戶界面的建立與對(duì)象屬性的設(shè)置參見圖7-13,下面介紹代碼的編寫: 圖7-13 求最大公約數(shù) (1) 首先添加自定義方法Hcf。 (2) 編寫自定義方法Hcf的代 碼: PAR

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論