2.1 程序設(shè)計(jì)概述
1. 程序設(shè)計(jì)方法簡(jiǎn)介
設(shè)計(jì)方法 |
主要概念 |
設(shè)計(jì)過(guò)程 |
程序執(zhí)行方式 |
結(jié)構(gòu)化程序設(shè)計(jì) | 功能模塊(即過(guò)程、自定義函數(shù)) | 編制各個(gè)功能模塊,再用主程序?qū)⑺鼈兇饋?lái) | 將應(yīng)用程序分解成若干功能模塊,通過(guò)各模塊的相互調(diào)用來(lái)完成整個(gè)執(zhí)行過(guò)程,是過(guò)程驅(qū)動(dòng)的。 |
面向?qū)ο蟪绦蛟O(shè)計(jì) | 類、對(duì)象、屬性、事件、方法 | 設(shè)計(jì)類、子類、對(duì)象(設(shè)計(jì)外觀、設(shè)置屬性、為事件編寫方法程序) | 將應(yīng)用程序分解成具有特定屬性的對(duì)象,通過(guò)調(diào)用各對(duì)象的不同方法來(lái)完成相關(guān)事件,是事件驅(qū)動(dòng)的。 |
2.?dāng)?shù)據(jù)類型
VFP 包含下列數(shù)據(jù)類型:
通用的數(shù)據(jù)類型 |
字符型
Character |
貨幣型
Currency |
日期型
Date |
日期時(shí)間型
DateTime |
邏輯型
Logical |
數(shù)值型
Numeric |
僅用于字段的數(shù)據(jù)類型 |
雙精度型
Double |
浮點(diǎn)型
Float |
整型
Integer |
通用型
General |
備注型
Memo |
|
3. 數(shù)據(jù)容器
VFP中用來(lái)存儲(chǔ)數(shù)據(jù)的容器有:常量、變量、數(shù)組、記錄和對(duì)象。
(1) 常量(constants):
一個(gè)在操作過(guò)程中保持不變的數(shù)值或字符串。
常用的常量類型
常量類型 |
數(shù)值型常量 |
字符型常量 |
邏輯型常量 |
日期型常量 |
表示方式 |
-25.36 |
"abc","123","中國(guó)" |
.T. .F. |
{^2005/07/10} |
(2)變量(variables):
是內(nèi)存中的一個(gè)存儲(chǔ)單元的位置,其中的內(nèi)容可以變化,但標(biāo)識(shí)該存儲(chǔ)位置的名稱(即變量名)不變。
變量的命名習(xí)慣: 類型變量代號(hào)
如:cStud 、nCj 、dCsrq ——
分別代表一個(gè)字符型、數(shù)值型、日期型的變量名
變量的賦值方式: 1) 用 STORE 命令 如:STORE "王蘭" TO cStud
2) 用賦值操作符 = 如:cStud = "王蘭"
變量的作用域: 即變量起使用的有效范圍。
變量作用域 |
定義作用域的關(guān)鍵字 |
特點(diǎn) |
局部變量 local variable(本地變量) |
LOCAL | 只能在一個(gè)函數(shù)或過(guò)程中被訪問(wèn),其他過(guò)程或函數(shù)不能訪問(wèn)此變量的數(shù)據(jù)。當(dāng)其所屬程序停止運(yùn)行時(shí),局部變量將被釋放。 |
私有變量
private variable |
PRIVATE | 私有變量在 VFP 中是默認(rèn)的,不需要特殊的關(guān)鍵字定義。但是,如果在更高一級(jí)例程(routine)中已經(jīng)有同名變量,可以用PRIVATE 關(guān)鍵字予以聲明,以限定其范圍。當(dāng)定義此變量的例程結(jié)束時(shí),此變量也被相應(yīng)釋放。可使用私有變量在被調(diào)用的函數(shù)中共享數(shù)據(jù)。 |
公共變量
public variable |
PUBLIC | 可用于所有過(guò)程和函數(shù),而不限于定義該變量的過(guò)程和函數(shù)。可使用全局變量在多個(gè)過(guò)程或函數(shù)之間共享數(shù)據(jù),在命令窗口中創(chuàng)建的任何變量自動(dòng)具有全局屬性。 |
變量的訪問(wèn):
當(dāng)變量和字段同名時(shí),字段有優(yōu)先被訪問(wèn)權(quán)。要在變量名前加 m. 或 m -> 以示區(qū)別,如 m.cStud
(3)數(shù)組(array):
是存儲(chǔ)在一個(gè)變量中由單個(gè)變量名引用的有序數(shù)據(jù)集合。在 VFP中,一個(gè)數(shù)組中的數(shù)據(jù)不必是同一種數(shù)據(jù)類型。常用的有一維數(shù)組,二維數(shù)組。
數(shù)組元素的標(biāo)識(shí):通過(guò)一個(gè)數(shù)值下標(biāo)來(lái)引用,如 AA[2],AA[2,3]
數(shù)組類型的聲明:
私有數(shù)組 ——用DECLARE 或 DIMENSION定義
全局?jǐn)?shù)組 ——用PUBLIC命定義
局部數(shù)組 ——用LOCAL定義
數(shù)組元素的賦值:
用賦值語(yǔ)句: 如 AA=45
用SCATTER從當(dāng)前記錄中取特定字段的值賦給數(shù)組:
如: scatter fields xh, xm, xb to aa
(數(shù)組長(zhǎng)度、類型自動(dòng)與所給字段相同)
用 COPY TO ARRAY從當(dāng)前記錄中取所有字段的值賦給數(shù)組:
如: copy to array aa
(數(shù)組長(zhǎng)度、類型自動(dòng)與表中全部字段相同)
把數(shù)組中的數(shù)據(jù)傳給當(dāng)前表中的當(dāng)前記錄:
gather from 數(shù)組名 [fields 字段名表]
用數(shù)組向當(dāng)前表添加記錄:
append from array 數(shù)組名 [for 條件] [[fields 字段名表]
(用二維數(shù)組可以同時(shí)添加多條記錄)
數(shù)組處理的常用函數(shù):
排序SORT(),搜索ASCAN(),刪除ADEL(),插入AINS()
(4) 記錄:
表中的一行,由字段組成。
(5) 對(duì)象:
對(duì)象是類的一個(gè)實(shí)例,類是對(duì)擁有數(shù)據(jù)和一定行為特征的對(duì)象集合的描述。VFP對(duì)象可以是表單、表單集、控件。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |