《Visual FoxPro6.0程序設(shè)計教程》課件第8章_第1頁
《Visual FoxPro6.0程序設(shè)計教程》課件第8章_第2頁
《Visual FoxPro6.0程序設(shè)計教程》課件第8章_第3頁
《Visual FoxPro6.0程序設(shè)計教程》課件第8章_第4頁
《Visual FoxPro6.0程序設(shè)計教程》課件第8章_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

任務(wù)8.1自定義屬性

任務(wù)8.2自定義方法

任務(wù)導(dǎo)入

學(xué)習(xí)目標(biāo)

任務(wù)實施

1.添加自定義屬性

在某些場合下,可以使用“屬性”來代替使用“變量”。任務(wù)8.1自?定?義?屬?性

(1)進(jìn)入表單設(shè)計器,單擊“表單”菜單→“新建屬性”命令,打開“新建屬性”對話框,如圖8-1所示。

(2)在“新建屬性”對話框的“名稱(Name)”欄中,輸入自定義屬性的名稱:Desec,然后在“說明”欄中填入該屬性的簡單說明:“這是一個自定義屬性,功能是記錄初始秒數(shù)”。

(3)單擊“添加”按鈕,然后單擊“關(guān)閉”按鈕,退出“新建屬性”對話框。

(4)此時,在屬性窗口的“全部”選項卡中可以看見新建的屬性及其說明,如圖8-2所示。圖8-1添加自定義屬性圖8-2修改自定義屬性的值

2.自定義屬性應(yīng)用示例

【例8-1】

計時器(秒表)可以在運動場上測試短跑項目的成績,可以記錄考試所用的時間等。設(shè)計一個計時器,如圖8-3所示。圖8-3設(shè)計計時器

(1)建立應(yīng)用程序用戶界面。

進(jìn)入表單設(shè)計器,增加一個文本框Text1、一個計時器控件Timer1和兩個命令按鈕Command1~Command2。其中計時器控件Timer1可以放在表單的任何位置。

(2)設(shè)置對象屬性。

設(shè)置對象屬性,見表8-1。其他屬性設(shè)置參見圖8-4所示。表8-1屬性設(shè)置

(3)增加一個自定義屬性sec0。

選中表單,單擊“表單”菜單→“新建屬性”命令,在“新建屬性”對話框中添加一個自定義屬性sec0,用以記錄“秒表”的初始時間,并將sec0屬性的數(shù)據(jù)值改為0,如圖8-4所示。圖8-4建立計時器用戶界面

(4)編寫程序代碼。

運行程序,結(jié)果如圖8-3所示。

3.添加自定義數(shù)組屬性

數(shù)組屬性是一組具有不同下標(biāo)的同名屬性,在任何使用數(shù)組的地方都可以使用數(shù)組屬性。

(1)在表單設(shè)計器中,單擊“表單”菜單→“新建屬性”命令,打開“新建屬性”對話框。

(2)在“名稱”欄中輸入數(shù)組屬性的名稱,以及用括號括起來的數(shù)組大小,如圖8-5所示。

(3)如果能夠事先確定數(shù)組的維數(shù)和大小,就在括號中輸入其值,否則可以先隨意指定一個,然后在代碼中用DIMENSION再重新定義。

(4)單擊“添加”按鈕后,再單擊“關(guān)閉”按鈕。

4.自定義數(shù)組屬性示例

【例8-2】

利用數(shù)組屬性輸出斐波那契(Fibonacci)數(shù)列。

(1)定義一個數(shù)組屬性f(30)。

在“新建屬性”對話框中的“名稱”框中輸入f(30),單擊“添加”按鈕,然后單擊“關(guān)閉”。

(2)建立應(yīng)用程序用戶界面與設(shè)置對象屬性。

選擇“新建”表單,進(jìn)入表單設(shè)計器,增加一個標(biāo)簽Label1、一個微調(diào)器控件Spinner1和一個列表框List1,如圖8-6(a)所示。圖8-5定義數(shù)組屬性圖8-6求Fibonacci數(shù)列

設(shè)置各對象的屬性,見表8-2。

(3)編寫代碼。

運行程序,結(jié)果如圖8-6所示。表8-2屬性設(shè)置

【例8-3】

使用數(shù)組屬性存放方陣的元素。設(shè)有一個5?×?5的方陣,其中元素是由計算機(jī)隨機(jī)生成的小于100的整數(shù)。

其中列表框List1的屬性設(shè)置參見表8-3。圖8-7建立應(yīng)用程序用戶界面與設(shè)置對象屬性表8-3屬性設(shè)置

(3)編寫代碼。

運行程序,結(jié)果如圖8-8所示。圖8-8矩陣計算任務(wù)導(dǎo)入

學(xué)習(xí)目標(biāo)

任務(wù)實施

1.方法的基本概念

在可視化編程中,“方法”是很常用的,下面介紹VFP“方法”的特點、分類和命名規(guī)則。

1)“方法”的特點任務(wù)8.2自?定?義?方?法

2)“方法”的分類

VFP的方法分為兩類:內(nèi)部方法和用戶自定義方法。

3)“方法”的命名規(guī)則

2.建立自定義方法

自定義方法的建立分為兩步:方法的定義和編寫方法代碼。

1)自定義新方法

(1)進(jìn)入表單設(shè)計器,單擊“表單”菜單→“新建方法程序”命令,打開“新建方法程序”對話框,如圖8-9所示。圖8-9添加新方法

(2)在“名稱”欄中填入自定義方法的名稱(如vvv)。

(3)在“說明”欄中填入新方法的簡單說明(如:求某數(shù)的立方)。說明內(nèi)容可有可無,主要是為了使用方便。

(4)單擊“添加”按鈕,將新方法添加到方法程序中。

(5)單擊“關(guān)閉”按鈕,退出“新建方法程序”對話框。

(6)此時,在屬性窗口的“方法程序”選項卡中可以看見新建的方法及其說明。

2)編寫自定義方法的代碼

編寫自定義方法的代碼與編寫表單的事件過程代碼方法基本一樣。

在編寫時,可以雙擊屬性窗口的新方法項vvv,或直接打開“代碼”窗口,在“過程”下拉列表中選擇新方法vvv,如圖8-10所示。

3)自定義方法的調(diào)用

自定義方法的調(diào)用與表單內(nèi)部方法的調(diào)用一樣,可以在事件過程或其他的方法代碼中調(diào)用,如圖8-11所示。圖8-10編寫自定義方法的代碼圖8-11自定義方法的調(diào)用

3.參數(shù)傳遞

4.參數(shù)傳遞方式

5.方法的返回值

6.自定義方法使用示例

【例8-4】

編寫分?jǐn)?shù)化簡程序,其中調(diào)用求最大公約數(shù)的自定義方法,如圖8-12所示。圖8-12分?jǐn)?shù)化簡

(1)程序界面的設(shè)計參見圖8-13所示。其中,文本框的InputMask屬性設(shè)為9999999,Value屬性為0。

(2)單擊“表單”菜單→“新建方法程序”,建立自定義方法hcf。

(3)編寫求最大公約數(shù)的自定義方法hcf。

(4)編寫“=”按鈕Command1的Click事件代碼。

運行程序,結(jié)果如圖8-12所示。

圖8-13建立用戶界面與設(shè)置對象屬性

【例8-5】

驗證哥德巴赫猜想。任何一個不小于6的偶數(shù)均可以分解為兩個素數(shù)之和。

分析:任意輸入一個不小于6的偶數(shù),由計算機(jī)將其分解為兩個素數(shù)之和,如圖8-14所示。圖8-14驗證哥德巴赫猜想

(1)建立用戶界面與設(shè)置對象屬性。

在表單設(shè)計器中,增加兩個文本框控件Text1~Text2、一個命令按鈕控件Command1。屬性設(shè)置參見圖8-13。

(2)建立自定義方法。

(3)編寫事件代碼。

運行程序,結(jié)果如圖8-14所示。

7.方法的遞歸調(diào)用

簡單地說,遞歸就是一個過程調(diào)用過程本身。

【例8-6】

如圖8-15所示,利用遞歸調(diào)用計算n!。

(1)用戶界面的設(shè)計以及對象屬性的設(shè)置參見圖8-15所示。

(2)編寫求階乘的遞歸方法fact的代碼。

(3)編寫“=”命令按鈕Command1的Click事件代碼。

溫馨提示

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

最新文檔

評論

0/150

提交評論