VFP第14部分面向?qū)ο蟾拍頮第1頁(yè)
VFP第14部分面向?qū)ο蟾拍頮第2頁(yè)
VFP第14部分面向?qū)ο蟾拍頮第3頁(yè)
VFP第14部分面向?qū)ο蟾拍頮第4頁(yè)
VFP第14部分面向?qū)ο蟾拍頮第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Visual Foxpro 6.0程序設(shè)計(jì)基礎(chǔ)重慶工商大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)基礎(chǔ)教研室1面向?qū)ο蟪绦蛟O(shè)計(jì)2面向?qū)ο蟮母拍?、從結(jié)構(gòu)化程序設(shè)計(jì)到面向?qū)ο蟪绦蛟O(shè)計(jì)3特點(diǎn):編程方式是可視化的,所見(jiàn)即所得程序運(yùn)行沒(méi)有一定的順序,由事件驅(qū)動(dòng),即事件的出現(xiàn)而執(zhí)行相應(yīng)的代碼不需要專(zhuān)門(mén)的循環(huán)結(jié)構(gòu)就可以重復(fù)其功能大部分的軟件部件,如窗口、按鈕等已經(jīng)由“類(lèi)”實(shí)現(xiàn),不需要重復(fù)編碼,屏蔽了大多數(shù)復(fù)雜的程序代碼應(yīng)用軟件的開(kāi)發(fā)更注重于核心問(wèn)題的求解4 面向?qū)ο蟮某绦蛟O(shè)計(jì)(Object-Oriented Programming),簡(jiǎn)稱(chēng)OOP,是近年來(lái)程序設(shè)計(jì)方法的主流方式。 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法并沒(méi)有代替結(jié)構(gòu)化程序設(shè)計(jì)。

2、VFP不僅支持面向過(guò)程的程序設(shè)計(jì),同時(shí)還提供了面向?qū)ο蟪绦蛟O(shè)計(jì)的強(qiáng)大功能。51、對(duì)象(Object) 對(duì)象是反映客觀事物屬性及行為特征的描述。對(duì)象是面向?qū)ο缶幊痰幕驹?,是“?lèi)”的具體實(shí)例。2、有關(guān)對(duì)象的基本概念62、類(lèi)(Class) 類(lèi)是一組對(duì)象的屬性和行為特征的抽象描述。類(lèi)是具有共同屬性、共同操作性質(zhì)的對(duì)象的集合。 類(lèi)是對(duì)象的抽象描述;對(duì)象是類(lèi)的實(shí)例。類(lèi)是抽象的,對(duì)象是具體的。7圓柱體紙圓柱體大理石圓柱體木圓柱體類(lèi)對(duì)象圓柱體.材質(zhì):紙質(zhì)圓柱體.材質(zhì):大理石圓柱體.材質(zhì):木質(zhì)圓柱體.材質(zhì):(無(wú))對(duì)象屬性類(lèi)屬性8 類(lèi)定義了對(duì)象的基本屬性、事件和方法,從而決定了對(duì)象的屬性和行為。VFP提供了豐

3、富的基類(lèi),用戶(hù)可以直接使用基類(lèi)來(lái)創(chuàng)建自己的子類(lèi)或?qū)ο螅瑥亩?jiǎn)化了新類(lèi)的創(chuàng)建。(見(jiàn)教科書(shū)169圖10.1)9 1)基類(lèi)分為容器類(lèi)(Container)和控件類(lèi)(Controler)。容器類(lèi)可以容納其它對(duì)象而控件類(lèi)不能容納其它對(duì)象。 (見(jiàn)教科書(shū)170表10.2)102)類(lèi)的特性 封裝性:將對(duì)象的方法程序和屬性代碼包裝在一起,隱藏不必要的復(fù)雜性 繼承性:是指通過(guò)繼承關(guān)系利用已有的類(lèi)構(gòu)造新類(lèi)。11基類(lèi):命令按鈕組(CommandGroup)子類(lèi):命令按鈕組(UserCmdGroup)對(duì)象:命令按鈕(cmd數(shù)據(jù)庫(kù)按鈕)繼承實(shí)體化123、屬性(Attribute) 屬性是描述對(duì)象特征的參數(shù)。屬性窗口的操作

4、13144、事件(Event) 1)事件是作用于對(duì)象的某些行為和動(dòng)作。每個(gè)對(duì)象都可以對(duì)一個(gè)被稱(chēng)作事件的動(dòng)作進(jìn)行識(shí)別和響應(yīng)。事件(Event) 是預(yù)先定義好的特定的動(dòng)作,不能修改、增加和刪除,由用戶(hù)或系統(tǒng)激活。15 在Visual FoxPro系統(tǒng)中,對(duì)象可以響應(yīng)50多種事件。多數(shù)情況下,事件是通過(guò)用戶(hù)的操作行為(比如按鍵、單擊鼠標(biāo)或移動(dòng)鼠標(biāo)等)引發(fā)的,當(dāng)事件發(fā)生時(shí),將執(zhí)行包含在事件過(guò)程中的全部代碼。16事件事件發(fā)生的運(yùn)行狀態(tài)Load創(chuàng)建對(duì)象之前。Init創(chuàng)建對(duì)象。Click鼠標(biāo)左鍵單擊對(duì)象。DblClick鼠標(biāo)左鍵雙擊對(duì)象。RightClick鼠標(biāo)右鍵單擊對(duì)象。GotFocus對(duì)象接收焦點(diǎn),由

5、用戶(hù)動(dòng)作引起,如按 Tab 鍵或單擊,或者在代碼中使用 SetFocus 方法程序。LostFocus對(duì)象失去焦點(diǎn),由用戶(hù)動(dòng)作引起,如按 Tab 鍵或單擊,或者在代碼中使用 SetFocus 方法程序使焦點(diǎn)移到別的對(duì)象上。Valid對(duì)象失去焦點(diǎn)前發(fā)生17 因此,要特別關(guān)心的是對(duì)于該對(duì)象,會(huì)發(fā)生什么事件,何時(shí)發(fā)生,如果發(fā)生了某個(gè)事件,希望要做些什么事情,然后編出合適的程序放入該對(duì)象的該事件過(guò)程中。 通常用戶(hù)只需要對(duì)幾個(gè)關(guān)鍵的事件編程。但是無(wú)論是否對(duì)事件編程,發(fā)生某個(gè)操作時(shí),相應(yīng)的事件都會(huì)被激活。如果用戶(hù)為該事件編寫(xiě)了代碼,就執(zhí)行該事件的代碼;如果沒(méi)有相應(yīng)的代碼就不做什么事件。181)方法是附屬于

6、對(duì)象的行為和動(dòng)作。如果對(duì)象已經(jīng)創(chuàng)建,便可以在應(yīng)用程序的任何地方調(diào)用這個(gè)對(duì)象的方法程序。與事件不同,方法是可以擴(kuò)展的5、方法(Method)表單常用的方法程序 (見(jiàn)教科書(shū)173頁(yè))19數(shù)據(jù)代碼屬性事件方法應(yīng)用程序讀取/設(shè)置響應(yīng)調(diào)用對(duì)象對(duì)象和應(yīng)用程序的關(guān)系如圖所示。20 面向?qū)ο蟮某绦蛟趫?zhí)行時(shí),先等待某個(gè)事件的發(fā)生,然后再去執(zhí)行處理此事件的事件過(guò)程(即程序代碼)。事件過(guò)程要經(jīng)過(guò)事件的觸發(fā)才會(huì)被執(zhí)行,這種動(dòng)作模式就稱(chēng)為事件驅(qū)動(dòng),也就是說(shuō),由事件控制整個(gè)程序的執(zhí)行流程。執(zhí)行步驟如下: 等待事件的發(fā)生。 事件發(fā)生時(shí),執(zhí)行其對(duì)應(yīng)的事件過(guò)程。 重復(fù)步驟。 由此周而復(fù)始地執(zhí)行,直到程序結(jié)束。 相應(yīng)地,面向?qū)ο?/p>

7、編程的基本過(guò)程是:先創(chuàng)建容器對(duì)象定義數(shù)據(jù)環(huán)境擺放控件對(duì)象設(shè)置對(duì)象屬性為事件編寫(xiě)程序代碼。213、面向?qū)ο蟪绦虻恼Z(yǔ)法基礎(chǔ)1)在容器分層結(jié)構(gòu)中引用對(duì)象絕對(duì)引用 是從最頂層容器(表單集或表單)開(kāi)始,由外到內(nèi),分級(jí)說(shuō)明(用圓點(diǎn)分隔對(duì)象名稱(chēng))的一種引用對(duì)象的方法。最高層的容器名稱(chēng)不是其name屬性值,而是其表單或表單集文件名。 22相對(duì)引用 可在表單或表單集中使用關(guān)鍵字 THIS(對(duì)象自身)、THISFORM(當(dāng)前表單)等相對(duì)引用對(duì)象。 常用的相對(duì)引用關(guān)鍵字有:Parent對(duì)象的直接容器THIS對(duì)象或?qū)ο蟮倪^(guò)程或事件THISFORM包含對(duì)象的表單THISFORMSET包含對(duì)象的表單集232)對(duì)象的屬性、

8、方法及引用對(duì)象名.對(duì)象的屬性、事件或方法程序 24建立、修改表單 表單(Form)在系統(tǒng)中是用戶(hù)的主要界面,也有人把它稱(chēng)為屏幕(Screen)或窗口。但它不是一個(gè)普通的窗口,因?yàn)槠渲械目丶梢杂袑傩?、事件和方法,并且表單和表單集本身也是有屬性、事件和方法的編程?duì)象。 25 在Visual FoxPro 系統(tǒng)中,表單擁有多個(gè)屬性,可以響應(yīng)多種事件、實(shí)現(xiàn)多種方法操作。 表單為數(shù)據(jù)庫(kù)信息的顯示、輸入和編輯提供了非常簡(jiǎn)便的方法,表單的設(shè)計(jì)是可視化編程的基礎(chǔ)。26表單設(shè)計(jì)方法與步驟(見(jiàn)教科書(shū)195196頁(yè))創(chuàng)建表單的命令方式命令格式如下:CREATE FORM 27修改表單的命令方式命令格式如下:MOD

9、IFY FORM 表單名運(yùn)行表單命令格式如下:DO FORM 28設(shè)計(jì)表單控件見(jiàn)教科書(shū)207227頁(yè)291、標(biāo)簽 2、命令按鈕(組)3、文本框 4、編輯框 5、復(fù)選框 6、選項(xiàng)按鈕組7、列表框 8、組合框9、表格 10、計(jì)時(shí)器11、ActiveX綁定控件(略提) 主要控件30標(biāo)簽(label)教科書(shū)P207主要屬性:Caption、BackStyle、WordWrap教科書(shū)P207 例11.3控件類(lèi)31命令按鈕(command)教科書(shū)P208主要屬性:Caption、Enabled主要事件:Click控件類(lèi)32命令按鈕組(commandGroup)教科書(shū)P209主要屬性:ButtonCount

10、、Value主要事件:Click容器類(lèi)33文本框(text)教科書(shū)P210主要屬性:PasswordChar、Value、ControlSource主要事件:Valid、GotFocus控件類(lèi)34編輯框(edit)教科書(shū)P211主要屬性:ReadOnly、ScrollBars教科書(shū)P211 例11.4控件類(lèi)35復(fù)選框(check)教科書(shū)P212主要屬性:Caption、Value控件類(lèi)36選項(xiàng)按鈕組(OptionGroup)教科書(shū)P213主要屬性:ButtonCount、Caption、ControlSource教科書(shū)P213 例11.5容器類(lèi)37列表框(List)教科書(shū)P215主要屬性:Co

11、lumnCount、ControlSource、RowSource、 RowSourceType控件類(lèi)38組合框(Combo)教科書(shū)P215主要屬性: ControlSource、RowSource、 RowSourceType 、 ColumnCount教科書(shū)P216 例11.6控件類(lèi)39表格(Grid)教科書(shū)P217主要屬性: ControlSource 、 ColumnCount 、RecordSource、 RecordSourceType教科書(shū)P218 例11.7容器類(lèi)40計(jì)時(shí)器(timer)教科書(shū)P221主要屬性: Enabled、Interval主要事件:timer控件類(lèi)41表單

12、的數(shù)據(jù)環(huán)境 數(shù)據(jù)環(huán)境是表單的一個(gè)基本對(duì)象,用戶(hù)可在數(shù)據(jù)環(huán)境中預(yù)定義表單中各控件的數(shù)據(jù)來(lái)源。 42 一旦將數(shù)據(jù)庫(kù)或視圖添加到表單的數(shù)據(jù)環(huán)境中,它們就會(huì)隨著表單設(shè)計(jì)器的打開(kāi)或表單的運(yùn)行而自動(dòng)打開(kāi),當(dāng)關(guān)閉或釋放表單時(shí),它們也會(huì)隨之關(guān)閉。 因此,用戶(hù)即可在表單運(yùn)行期間直接訪問(wèn)到數(shù)據(jù)環(huán)境中的任何一個(gè)數(shù)據(jù)表。43由數(shù)據(jù)環(huán)境直接添加控件 將數(shù)據(jù)環(huán)境中數(shù)據(jù)表中某個(gè)字段直接拖到表單的指定位置,便可自動(dòng)產(chǎn)生一個(gè)字段控件。這樣產(chǎn)生的控件,會(huì)自動(dòng)地與表中相應(yīng)數(shù)據(jù)綁定到一起,無(wú)需再另外設(shè)置控件的ControlSource屬性。44將數(shù)據(jù)環(huán)境中表的不同類(lèi)型字段拖放到表單之上,會(huì)自動(dòng)產(chǎn)生不同類(lèi)型的控件。字符、數(shù)值、日期型字

13、段,產(chǎn)生文本框控件;邏輯型字段,產(chǎn)生復(fù)選框控件;備注型字段,產(chǎn)生編輯框控件;通用型字段,產(chǎn)生ActiveX綁定控件(控件的編輯見(jiàn)教科書(shū)P201-202)45 ControlSource指定綁定到控件的數(shù)據(jù)源,可以是一個(gè)變量或一個(gè)字段名稱(chēng),對(duì)于字段名稱(chēng)它只作用于當(dāng)前記錄指針?biāo)诘淖侄沃怠?RowSource指定控件所綁定的數(shù)據(jù)源的值的數(shù)據(jù)源,此數(shù)據(jù)源可以是一個(gè)表或別名,也可以是一個(gè)或多個(gè)字段的組合,或是一個(gè)一維或多維的數(shù)組等等,多數(shù)情況它是多行的,它同時(shí)也用來(lái)填充下拉列表中的列和行,從下拉列表中選擇的值將會(huì)替換ControlSource綁定的數(shù)據(jù)源的值。 controlsource和rowsource 46例(0801)設(shè)計(jì)如圖1所示的表單,其中文本框Text1、Text2的初值為0,其功能是文本框Text1中輸入任意一個(gè)正整數(shù),單擊“計(jì)算”命令按鈕,能夠在文本

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論