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