




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 本文由yushuaiisj貢獻(xiàn) doc文檔可能在WAP端瀏覽體驗(yàn)不佳。建議您優(yōu)先選擇TXT,或下載源文件到本機(jī)查看。 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料 計(jì)算機(jī)的應(yīng)用領(lǐng)域:科學(xué)計(jì)算、數(shù)據(jù)處理(70%)、自動(dòng)控制、輔助設(shè)計(jì)、人工智能 數(shù)據(jù)處理需求:大量地處理數(shù)據(jù)(人事、工資、成績管理、銷售管理、圖書館、售票) 數(shù)據(jù)庫是計(jì)算機(jī)系統(tǒng)的一個(gè)重要組成部分。 數(shù)據(jù)庫技術(shù)是信息技術(shù)中應(yīng)用最廣泛的技術(shù)之一 計(jì)算機(jī)系統(tǒng)包括:硬件和軟件;其中軟件又包括系統(tǒng)軟件和應(yīng)用軟件,系統(tǒng)軟件有:OS、 DBMS、編譯 數(shù)據(jù)處理是對(duì)各種類型的
2、數(shù)據(jù)進(jìn)行收集、存儲(chǔ)、分類、計(jì)算、加工、檢索和傳輸?shù)倪^程。 數(shù)據(jù)處理 數(shù)據(jù)處理的中心問題是數(shù)據(jù)管理 數(shù)據(jù)管理 數(shù)據(jù)管理是對(duì)數(shù)據(jù)的分類、組織、編碼、存儲(chǔ)、檢索和維護(hù)。 計(jì)算機(jī)數(shù)據(jù)管理技術(shù)發(fā)展的三個(gè)階段 人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段 數(shù)據(jù)庫系統(tǒng)(DataBase System) 數(shù)據(jù)庫系統(tǒng) 組成:數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、操作系統(tǒng)、應(yīng)用程序、計(jì)算 機(jī)硬件以及數(shù)據(jù)管理員(DBA) DBS=DB+DBMS+DBA 數(shù)據(jù)庫: 數(shù)據(jù)庫 以一定的組織形式存放在計(jì)算機(jī)的存儲(chǔ)介質(zhì)上的相互關(guān)聯(lián)的數(shù)據(jù)的集合。 特點(diǎn):按一定的數(shù)據(jù)模型組織,具有較小的冗余度,較高的數(shù)據(jù)獨(dú)立性和擴(kuò) 展性,安
3、全、可靠、保密性好 數(shù)據(jù)庫的組成:數(shù)據(jù)+元數(shù)據(jù) 數(shù)據(jù)庫按數(shù)據(jù)模型可分為: 層次、網(wǎng)狀、關(guān)系、面向?qū)ο髷?shù)據(jù)庫 DBMS 是 DBS 的核心: DBMS 對(duì) DB 進(jìn)行管理(建立、使用和維護(hù))的系統(tǒng)軟件,是用戶和數(shù)據(jù)庫之間的 接口, 提供了用戶對(duì) DB 進(jìn)行操作的各種命令 (DB 的建立、記錄的輸入、修改、檢索、顯示、刪除、統(tǒng)計(jì)等) DBMS 的組成: 模式翻譯、應(yīng)用程序編譯、交互式查詢、 數(shù)據(jù)的組織和存取、事務(wù)運(yùn)行和管理、數(shù)據(jù)庫的維護(hù) DBA 是管理數(shù)據(jù)庫系統(tǒng)的機(jī)構(gòu)和相關(guān)人員,具有最高的數(shù)據(jù)特權(quán),負(fù)責(zé)全面管理 DBS DBA 的主要職責(zé) 規(guī)劃和定義數(shù)據(jù)庫的結(jié)構(gòu) 定義數(shù)據(jù)庫的安全性和完整性 選擇數(shù)
4、據(jù)庫的存儲(chǔ)結(jié)構(gòu)和存取路徑 監(jiān)督和控制數(shù)據(jù)庫的使用和運(yùn)行 改進(jìn)數(shù)據(jù)庫系統(tǒng)和重組數(shù)據(jù)庫 DB 和 DBMS 的關(guān)系:在數(shù)據(jù)庫系統(tǒng)中,用戶通過 DBMS 可以建立和使用 DB,使用 DB 是 的關(guān)系: 目的,而 DBMS 是實(shí)現(xiàn)目的的手段和工具 數(shù)據(jù)庫系統(tǒng)三級(jí)結(jié)構(gòu) 三級(jí)結(jié)構(gòu) 外部層(用戶看到的) 概念層(所有信息的概括) 1 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 內(nèi)部層(如何存儲(chǔ)) 三級(jí)結(jié)構(gòu)間存在兩級(jí)映射 兩級(jí)映射,保證了數(shù)據(jù)的物理獨(dú)立性(2、3)和邏輯獨(dú)立性(1、2) 兩級(jí)映射 信息轉(zhuǎn)化的三個(gè)階段: 現(xiàn)實(shí)世界、觀念世界、數(shù)據(jù)世界 現(xiàn)實(shí)世界 信息世界 數(shù)據(jù)世界
5、抽象 數(shù)據(jù)表示 事物及聯(lián)系 實(shí)體模型 數(shù)據(jù)模型 事物 實(shí)體 數(shù)據(jù) 對(duì)象 性質(zhì) 對(duì)象 屬性 記錄 字段 數(shù)據(jù)模型: 數(shù)據(jù)模型:是數(shù)據(jù)庫領(lǐng)域定義數(shù)據(jù)及其操作的一種抽象表示。 數(shù)據(jù)模型的三要素 數(shù)據(jù)結(jié)構(gòu)(實(shí)體及實(shí)體聯(lián)系) 數(shù)據(jù)操作 數(shù)據(jù)的約束條件 數(shù)據(jù)模型分類 概念數(shù)據(jù)模型:ER 模型 邏輯數(shù)據(jù)模型:層次模型、網(wǎng)絡(luò)模型、關(guān)系模型、面向?qū)ο竽P?廣泛使用的概念模型 概念模型是實(shí)體-聯(lián)系模型,簡稱 E-R 模型,三要素:實(shí)體、聯(lián)系、屬性 概念模型 實(shí)體 實(shí)體: 用來對(duì)應(yīng)現(xiàn)實(shí)世界的事物, 實(shí)體集中的實(shí)體借助實(shí)體標(biāo)識(shí)符(關(guān)鍵字)來加以區(qū)別 聯(lián)系 分類: 1:1 1:m m:n 屬性 屬性: 實(shí)體或聯(lián)系所具有
6、的特征 E-R 圖:E-R 模型的圖形化表示 實(shí)體集矩形 聯(lián)系菱形 屬性橢圓形 關(guān)系模型以關(guān)系代數(shù)理論為基礎(chǔ),是當(dāng)今廣泛使用的數(shù)據(jù)庫關(guān)系模型 關(guān)系模型 關(guān)系 關(guān)系: 是以二維表結(jié)構(gòu)來表示實(shí)體及其實(shí)體間的聯(lián)系。 一個(gè)關(guān)系就是 一張二維表 例子:學(xué)生表、成績表、課程表 類別、產(chǎn)品 屬性(字段) :一列 Field 元組(記錄) :一行 Record 關(guān)系模式: 是對(duì)關(guān)系結(jié)構(gòu)的描述,它包括模式名 模式名以及組成該關(guān)系的各屬性名 各屬性名,例:成績(學(xué) 模式名 各屬性名 號(hào),課程代號(hào),成績) 關(guān)鍵字(碼):唯一標(biāo)志一行的多列為關(guān)鍵字。 關(guān)鍵字 超關(guān)鍵字 唯一標(biāo)志一行的多列 XH+XIMING+CSRQ
7、 候選關(guān)鍵字 +無多余的列 XH XM+XB 2 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 主關(guān)鍵字 +從候選中選唯一的一個(gè) XH 外關(guān)鍵字 其他表的主關(guān)鍵字 CJ 表 XH 關(guān)系模型:用二維表表示實(shí)體集,通過外部關(guān)鍵字表示實(shí)體間聯(lián)系的數(shù)據(jù)模型。 關(guān)系模型 關(guān)系模型的組成: 關(guān) 系 關(guān)系操作:選擇、投影、連接、除 關(guān)系的三類完整性: 域完整性(列級(jí)/元組級(jí)) 實(shí)體完整性 參照完整性 用戶定義的完整性 關(guān)系是一種規(guī)范化了的二維表 關(guān)系的性質(zhì): 不規(guī)范的關(guān)系模式存在的缺點(diǎn): 數(shù)據(jù)冗余度大,插入異常,刪除異常 所以 設(shè)計(jì)關(guān)系時(shí)應(yīng)盡量將互相依賴密切的屬性構(gòu)成單獨(dú)的關(guān)系
8、模式 解決辦法: 基于關(guān)系代數(shù)的關(guān)系規(guī)范化理論, 關(guān)系規(guī)范化的過程是通過關(guān)系中屬性和關(guān)系的模式分解 模式分解來實(shí)現(xiàn)的。 模式分解 關(guān)系規(guī)范化的條件可以分為幾級(jí),每級(jí)稱為一個(gè)范式 范式(Normal Form) 范式 1NF 每個(gè)屬性不可分解 2NF 完全函數(shù)依賴于候選關(guān)鍵字 3NF 不傳遞依賴于候選關(guān)鍵字 (實(shí)際關(guān)系模型中要滿足 3NF) 傳統(tǒng)的集合運(yùn)算 集合運(yùn)算,要求兩個(gè)相同的關(guān)系模式 集合運(yùn)算 并、交、差 專門的關(guān)系運(yùn)算 關(guān)系運(yùn)算 選擇 原關(guān)系的子集,水平分解 投影 抽取原關(guān)系的部分屬性形成的新的關(guān)系,垂直分解 聯(lián)接 根據(jù)給定的條件將兩個(gè)關(guān)系拼成一個(gè)新的關(guān)系 面向?qū)ο竽P桶慈缦路绞浇M織 面
9、向?qū)ο竽P?事物對(duì)象對(duì)象標(biāo)識(shí) 對(duì)象狀態(tài)行為 具有相同屬性和方法的對(duì)象集合類 對(duì)象實(shí)例 類層次 類的繼承 父類子類子類 類的復(fù)合 屬性的定義域可以為類 對(duì)象是被封裝的,狀態(tài)和行為外部不可見, 外部只能通過顯式定義的消息傳地對(duì)對(duì)象進(jìn)行操作 常見的關(guān)系數(shù)據(jù)庫:IBM DB2、ORACAL、INFOMIX、SYBASE、SQL-SERVER 等 微機(jī)數(shù)據(jù)庫管理系統(tǒng):Visual Foxpro、Access 數(shù)據(jù)庫管理系統(tǒng)的發(fā)展趨向: 分布式、網(wǎng)絡(luò)化、面向?qū)ο?、?shù)據(jù)倉庫 VFP 的發(fā)展: 3 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 70 年代后期微機(jī)出現(xiàn)1981dBa
10、se -dBaseIIdBaseIVFoxbaseFoxpro(dos)Foxpro(Wind ows) Visual Foxpro VFP 的特點(diǎn) 最突出的特點(diǎn):OOP 功能(面向?qū)ο缶幊蹋?集成環(huán)境: 集成環(huán)境: 菜單(主菜單(動(dòng)態(tài))+快捷菜單) 、工具欄 狀態(tài)欄 主窗口 命令窗口(VFP 的兩種操作方式 鼠標(biāo)+命令) 通過命令窗口輸入(命令方式) 通過命令窗口輸入(命令方式) myform=CreateObject("form") myform.show myform.Width=400 myform.Height=300 myform.AutoCenter=.t.
11、myform.BackColor=RGB(0,0,255) myform.Caption="我是表單 我是表單" 我是表單 程序方式) 編寫包含多條命令的程序 (程序方式) 程序中使用的命令稱為語句 VFP 命令主要書寫規(guī)則: VFP 命令不區(qū)分大小寫:COPY FILE = copy file 命令動(dòng)詞和短語可以 可以只書寫前 4 個(gè)字母:create = crea clear= clea 可以 VFP 命令必須以動(dòng)詞開頭,短語次序不限:delete file Filename 一個(gè)命令行只能寫一條命令 VFP 命令 執(zhí)行命令:Enter 鍵; 刪除當(dāng)前輸入的命令:Esc
12、 鍵。 一條長命令分為多行輸入(在前面幾行)的結(jié)尾處輸入分號(hào) ; (最后一行除外) 重復(fù)執(zhí)行某條命令,再次按 Enter 鍵 若要重復(fù)執(zhí)行已輸入的多條命令,執(zhí)行快捷菜單中“運(yùn)行所選區(qū)域 運(yùn)行所選區(qū)域”命令 運(yùn)行所選區(qū)域 幾個(gè)常用命令 * 本行是注釋 &&此后是注釋 ? 換行顯示 ?接著上次的內(nèi)容顯示 CLEAR 清除主窗口信息 DIR 顯示文件 MD 創(chuàng)建目錄(make directory) RD 刪除目錄 CD 改變目錄 COPY FILE 復(fù)制文件 RENAME FILE 重命名 DELETE FILE 刪除文件 RUN 運(yùn)行應(yīng)用程序 QUIT 退出 VFP 系統(tǒng) 配置 V
13、FP 操作環(huán)境 工具選項(xiàng) 例:設(shè)置文件的位置 時(shí)間格式 千位年份 SET 命令 可以進(jìn)行臨時(shí)設(shè)置 (當(dāng)前有效,重新啟動(dòng) VFP 將不起作用) 4 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 設(shè)置默認(rèn)路徑 set default to d:huang 設(shè)置日期顯示四位年份 set century on 于帥 VFP 文件類型 與某一種類型的文件相關(guān)的磁盤文件類型可能有多個(gè) 例如::項(xiàng)目類:pjx(項(xiàng)目) pjt(項(xiàng)目備注) 報(bào)表類:frx(報(bào)表) frt(報(bào)表備注) 創(chuàng)建文件: 菜單 /工具欄 / 命令 工具(設(shè)計(jì)器、向?qū)?、生成器?比較重要的文件類型: PRG(程序)
14、 FXP(編譯后的程序) 項(xiàng)目管理器:VFP 的管理中心 項(xiàng)目管理器 項(xiàng)目:管理文件的文件(保存在磁盤) ,說明和某一個(gè)任務(wù)相關(guān)的數(shù)據(jù)、對(duì)象、文檔等 項(xiàng)目管理器 組織工具 選項(xiàng)卡 分類、層次 定制項(xiàng)目管理器 項(xiàng)目管理器的操作 命令按鈕是“動(dòng)態(tài)”的,隨著當(dāng)前選擇的操作對(duì)象或類型而有所不同 * 新建:通過項(xiàng)目管理器 項(xiàng)目管理器新建的文件或?qū)ο蟊豁?xiàng)目所管理(在項(xiàng)目管理器窗口中顯 項(xiàng)目管理器 示) ;利用菜單命令 菜單命令“新建” “文件”或“常用 常用”工具欄上的“新建” 菜單命令 常用 按鈕或在命令窗口 命令窗口中利用命令創(chuàng)建的某種類型的文件或?qū)ο?,不?huì)顯示在 命令窗口 項(xiàng)目管理器窗口中,即不被項(xiàng)
15、目所管理。 * 移去:被移去項(xiàng)的相關(guān)信息仍然保留在項(xiàng)目文件中,但已做了刪除標(biāo)記。如果需 要徹底刪除相關(guān)信息,則需要執(zhí)行菜單命令“項(xiàng)目” “清理項(xiàng)目” 。 快捷菜單命令: 包含/排除:排除(該項(xiàng)前用帶斜線的圓圈標(biāo)注) ,包含的項(xiàng)在運(yùn)行時(shí)只讀 設(shè)置主文件:項(xiàng)目中只能有一個(gè)主文件,顯示時(shí)該項(xiàng)用粗體表示 系統(tǒng)將第一個(gè)創(chuàng)建的程序、 表單、 查詢或菜單作為默認(rèn)為主文件 重命名:不允許對(duì)已打開的文件重命名。 編輯說明 項(xiàng)目信息 項(xiàng)目間共享文件 項(xiàng)目中可以添加任何一種類型的文件 一個(gè)項(xiàng)目可以和多個(gè)其他文件共享文件 共享方法:若要在項(xiàng)目間共享文件,首先打開要共享文件的兩個(gè)項(xiàng)目,在包含該 項(xiàng)目的“項(xiàng)目管理器”中選
16、擇該文件,拖動(dòng)該文件到另一個(gè)項(xiàng)目容器 中即可。 數(shù)據(jù)類型 適應(yīng)現(xiàn)實(shí)世界的各種各樣的數(shù)據(jù)類型 用來表示數(shù)字的數(shù)值型、用來表示日期的等、用來表示姓名等信息的字符型 什么是數(shù)據(jù)類型?哪兩個(gè)方面的含義? 數(shù)據(jù)類型:數(shù)據(jù)對(duì)象的取值集合,以及對(duì)它可施行的運(yùn)算的集合 怎樣指定數(shù)據(jù)類型 字段在創(chuàng)建時(shí)提前規(guī)定 5 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 舉例:cj 數(shù)值型 寬度 3 位,沒有小數(shù)部分 變量由其中保存的值來確定 x=100 數(shù)值型 100 VFP 的基本數(shù)據(jù)類型 只適用于表字段的數(shù)據(jù)類型 *只適用于表的字段 哪些類型在內(nèi)存中占用的字節(jié)固定? 字符型(最多有 25
17、4 個(gè)字符) 、數(shù)值型、浮點(diǎn)型的在內(nèi)存中占用的字節(jié)不固 定,其它類型占用固定字節(jié)(貨幣、日期、日期時(shí)間 8 字節(jié)) 數(shù)據(jù)容器:用來保存數(shù)據(jù)的常量、變量、數(shù)組、記錄和對(duì)象 數(shù)據(jù)容器 VFP 中的命名規(guī)則 開頭:字母、漢字、下劃線 包含:字母、漢字、下劃線、數(shù)字 長度限制:自由表的字段名、表的索引標(biāo)識(shí)名10,其他 1128 個(gè)字符 哪些字符不能使用:避免使用保留字(use、create、do 等) 舉例: 下列名稱為什么合法?cVar nVar2 x_2 sum_of_score nSum_score _aer_gz _1 下列名稱為什么不合法?2x 2_x num-of-xs nsum&
18、score _aver#gz use 常量: 常量:在所有操作過程中保持不變 不同類型常量的特點(diǎn)? 不同類型的常量有不同的定界符 不同類型的常量允許進(jìn)行不同的運(yùn)算 常量類型 數(shù)值型:數(shù)字、小數(shù)點(diǎn)、正負(fù)號(hào) 如: 3.12E±28 ± 貨幣型:$200 字符型: “ ” 邏輯型 .f. .t. .y. .n. 日期型 / / - - : : 空日期 空日期 日期格式 傳統(tǒng)日期格式 傳統(tǒng)日期格式 受到 set 命令的影響 set date to set century on|off VFP5.0 及以前版本的默認(rèn)格式 系統(tǒng)默認(rèn)日期格式(月/日/年) ( 日年 美國 mm/dd/y
19、y hh:mm:ss a|p 09/20/98 1:05:50 可以通過更改區(qū)域設(shè)置來更改日期格式 set date to ymd set date to long set century on 嚴(yán)格日期格式 嚴(yán)格日期格式 不受 set 命令的影響 VFP6.0 及以后版本的默認(rèn)格式(年/月/日) 在 VFP6.0 以后版本中怎樣使用傳統(tǒng)格式? 要是用傳統(tǒng)的格式需要使用 set strictdate to 0 編譯時(shí)常量 什么時(shí)候可以使用:在程序中(非交互方式下) 本質(zhì):命名的數(shù)據(jù)項(xiàng) 格式:#define 常量名 值 6 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于
20、帥 引入原因:簡便、批量修改 變量 給存儲(chǔ)位置一個(gè)標(biāo)號(hào)(變量名) ,存儲(chǔ)內(nèi)容是變化的,由程序(命令)來修改 內(nèi)存變量:由用戶定義的內(nèi)存中的一個(gè)(組)存儲(chǔ)單元,變量名是存儲(chǔ)位置的符號(hào) 標(biāo)志。 其值可以由程序操作修改。 使用過程中該存儲(chǔ)單元中存放的數(shù)據(jù)在程序操作期間通過變量名 通過變量名去修改 通過變量名 創(chuàng)建變量 VFP 的變量不需要特殊聲明 = (賦值) 、STORE 值 TO 變量名 訪問變量 字段變量與內(nèi)存變量同名時(shí),字段變量優(yōu)先 此時(shí)要引用內(nèi)存變量,在變量名前加 M. 或 M-> xm=1234 ?xm ?m.xm ?m->xm 例子:當(dāng)前工作區(qū)打開了 JS 表,當(dāng)前記錄的
21、xm 字段的值為“王一平” ?xm, m.xm 控制變量 控制變量的訪問 程序:為解決問題設(shè)計(jì)的一連串的指令 計(jì)算機(jī)的存儲(chǔ)程序控制的原理 子程序的提出: 程序太長、有重復(fù)操作、提高程序的可讀性 作用域: 應(yīng)用程序運(yùn)行(內(nèi)存變量) 創(chuàng)建變量的工作區(qū)(字段) PRIVATE 私有 當(dāng)前及子程序(若程序中未定義,默認(rèn)為私有) LOCAL 局部 當(dāng)前 PUBLIC 公共(全局) 所有運(yùn)行的程序中(只能說明一次)命令窗口中 變量均為 PUBLIC 型 公共(全局) :在當(dāng)前工作期,任何程序都能使用全局變量 私有: 私有變量的作用范圍是當(dāng)前程序及子程序; 私有變量允許在當(dāng)前程序中使 用調(diào)用程序(上級(jí)程序)
22、中的同名變量,不影響變量的原始值; 局部:局部變量只能在當(dāng)前程序中使用,不能被更高層或更低層的程序訪問 內(nèi)存變量的保存與恢復(fù) 內(nèi)存變量的保存與恢復(fù) 顯示:display memoery like 清除:clear memoery 保存到文件:save to 文件名(擴(kuò)展名為 mem) 從文件恢復(fù): restore from 數(shù)組(內(nèi)存中有序的數(shù)據(jù)值系列) 數(shù)組 數(shù)組: 由一系列被稱為元素的有序數(shù)據(jù)值構(gòu)成。 內(nèi)存中連續(xù)的內(nèi)存單元 多個(gè)變量共用同一個(gè)名稱,并且連續(xù)存放在一個(gè)空間里的數(shù)據(jù)集合 數(shù)組元素的表示 7 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 數(shù)組名(序號(hào)
23、) 數(shù)組的聲明(任意數(shù)據(jù)類型) 數(shù)組的聲明(任意數(shù)據(jù)類型) 私有 DECLARE 數(shù)組名(下標(biāo) 1) DIMENSION 數(shù)組名 下標(biāo) 1,下標(biāo) 2) 數(shù)組名(下標(biāo) , 公用 PUBLIC 數(shù)組名(下標(biāo) 1) 局部 LOCAL 數(shù)組名(下標(biāo) 1) 聲明之后,每個(gè)元素被默認(rèn)賦予.F.值,在賦值時(shí)確定具體類型 不能對(duì)已定義的數(shù)組再定義,但可以更改維數(shù) 舉例:dimension dd(8) dd(5)=3 dimension dd(3,3) 2 維數(shù)組在內(nèi)存中也要順序存放, 順序先行后列存放 dd(1,1) dd(1,2) 因此 1 維數(shù)組和 2 維數(shù)組在某種程度上等價(jià) ?dd(3,2) 結(jié)果為 3
24、,等價(jià)與 dd(5) , 為數(shù)組元素賦值 給某個(gè)元素賦值 數(shù)組名( I, J)=值 store 給所有元素賦相同值 數(shù)組名=值,此時(shí)數(shù)組名代表所有數(shù)組元素 用表數(shù)據(jù)給數(shù)組賦值 當(dāng)數(shù)組名獨(dú)立出現(xiàn)在=后時(shí),代表什么? 數(shù)組的第一個(gè)元素 x=dd 等價(jià)于 xx=dd(1) 字段 字段型變量的類型由設(shè)計(jì)階段決定 (表設(shè)計(jì)器、CREATE TABLE) 字段變量:字段中的值隨指針的移動(dòng)而變化,所以可視字段為變量 對(duì)象 類 對(duì)于擁有數(shù)據(jù)和一定行為特征對(duì)象集合的描述 例:汽車類四輪、發(fā)動(dòng)機(jī)、燃料、可以行駛 對(duì)象 類的實(shí)例,屬性、方法、事件 例:黑白相間 黑白相間的足球 被踢 黑白相間 踢 進(jìn)了球門 特征 發(fā)
25、生了什么事 執(zhí)行了什么動(dòng)作 創(chuàng)建對(duì)象 CreateObject( )函數(shù) mf=createobject("form") mf.show mf.backcolor=rgb(255,0,255) mf.circle(100,100,100) 不同數(shù)據(jù)容器作用域的差異 編譯時(shí)常量,只在程序中使用,作用域?yàn)樗接?對(duì)象的屬性,通過對(duì)象和對(duì)象層次被引用 例: 汽車.發(fā)動(dòng)機(jī).燃料類型=”汽油” 8 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 運(yùn)算符: 運(yùn)算符:操作符可用來處理同類型的數(shù)據(jù) (大多數(shù)時(shí)候) 數(shù)值操作符 優(yōu)先級(jí)高到低 ( ) *或 */ %(
26、取余數(shù)) + %(取余數(shù))的結(jié)果中 符號(hào)同除數(shù)的符號(hào) 6%5 6%-5 字符操作符 (字符型、備注型) + 兩個(gè)字串直接相連(結(jié)果為字串) 第一個(gè)字串去掉尾部空格與第二個(gè)字串相連,連接后字符串的末尾有空格(結(jié)果 為字串) $ 第一個(gè)字串是否包含在第二個(gè)字串中,結(jié)果為邏輯值 ? “I ” - “l(fā)ove ” - “peace!” ? “face” $ “ happy face” 日期和日期時(shí)間操作符 日期和日期時(shí)間操作符(日期、整數(shù)) + 日期 + N 今天后的第 N 天; 日期時(shí)間 + N 日期時(shí)間加 N 秒 日期 N 今天前的第 N 天; 日期時(shí)間 N 日期時(shí)間減 N 秒 日期-日期 返回天
27、數(shù) 日期時(shí)間 日期時(shí)間 返回秒數(shù) 邏輯操作符 (邏輯數(shù)據(jù)) 優(yōu)先級(jí)大到小 () 、NOT 或! 、AND、OR 例:4>2 OR 2>3 AND NOT “3” $ “123” 4>2 OR ( 2>3 AND ( NOT (“3” $ “123”) ) ) 關(guān)系操作符: 日期、 邏輯 關(guān)系操作符:用于同種類型的比較,包括字符、備注 和數(shù)字相關(guān)的類型、 型(真>假) 日期比較:數(shù)字越大,日期越大, 越后發(fā)生的日期越大 ?9/20/99-9/15/99 字符串比較: 1) 從左到右逐個(gè)比較,字符不同則根據(jù)字符排序序列決定兩個(gè)字符串 的大小,字符串比較的結(jié)果還受到是否
28、精確比較的影響 2) Machine 序列:按照機(jī)內(nèi)碼 機(jī)內(nèi)碼順序排序??崭?< 大寫字母 < 小寫字 機(jī)內(nèi)碼 母 < 一級(jí)漢字(按拼音排序)< 二級(jí)漢字(按筆 畫排序) PinYin 序列:漢字按拼音 拼音序列排序。 拼音 對(duì)于西文字符,空格 < 小寫字母 < 大寫字母 Stroke 序列:漢字按筆畫 筆畫序列排序。 筆畫 對(duì)于西文字符,空格 < 小寫字母 < 大寫字母 3)設(shè)置字符的排序序列 *大小寫英文字符比較受 VFP 設(shè)置影響 “工具”“選項(xiàng)”“數(shù)據(jù)”選項(xiàng)卡 machine 按 ASCII 碼,大寫<小寫 pinyin 大寫>
29、;小寫 stroke 大寫>小寫 也可以使用 set 命令 Set collate to “machine” Set collate to “pinyin” Set collate to “Stroke” 4) 字符串精確比較 9 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 用 = 進(jìn)行字符串比較,結(jié)果受到系統(tǒng)環(huán)境的影響 SET EXACT OFF 左串長右串短時(shí),將左串截去與右串比 ? “bcde”=“bc” 返回.T. ?“bc”=“bcde” 返回.F. ?“bc”=“bc ” 返回.F. SET EXACT ON 將短的字符串加空格至長度相等,再精
30、確比較 ? “bcde”=“bc” 返回.F. ? “bc” =“bcde” 返回.F. ? “bc” =“bc ” 返回.T. 用 = = 進(jìn)行字符串的精確比較 不受 SET EXACT 命令所設(shè)置的環(huán)境影響,只有長度相等且各 個(gè)字符相同時(shí),兩個(gè)字符串才相等。 函數(shù): 函數(shù): 引入: 在系統(tǒng)中有一些經(jīng)常使用的運(yùn)算或功能,比如:對(duì)一個(gè)字符串取子串,今天是 幾號(hào)等。對(duì)這些常用的運(yùn)算或功能可以預(yù)先編制好程序代碼,并加以命名,供 用戶或程序調(diào)用,稱之為函數(shù) 分類: 系統(tǒng)函數(shù) 用戶自定義函數(shù) 函數(shù)定義: 是一種預(yù)先編制好的程序代碼,可供用戶或程序調(diào)用。接受 0 個(gè)或多個(gè)參數(shù), 返回一個(gè)值。 函數(shù)的格式
31、 函數(shù)名(參數(shù) 1,參數(shù) 2,) SQRT(9) LEFT(“MicroSoft”,5) DATE() 函數(shù)的組成: 函數(shù)名 SQRT LEFT DATE 0 個(gè)或多個(gè)參數(shù) 9 MicroSoft 5 無 一個(gè)返回值 3 Micro 今天的日期 參數(shù) 形參: 在編寫函數(shù)時(shí) (預(yù)先編制程序代碼時(shí)) 不給定的具體數(shù)據(jù), , 而是采用符號(hào)代表數(shù)據(jù), 稱為形式參數(shù),簡稱形參 (類似于公式, 例如 ax2+bx+c=0 的根 x1,2=(±b+sqrt(b*b-4*a*c)/2 中的 a,b,c) 實(shí)參: 在使用函數(shù)時(shí)(實(shí)際運(yùn)行程序代碼時(shí))對(duì)應(yīng)符號(hào)給定具體的值,稱為實(shí)際參數(shù),簡 稱實(shí)參 ( x
32、2+8x+6=0 中的 1,8,6) 返回值 函數(shù)返回單個(gè)值,因此可以將函數(shù)作為表達(dá)式的一部分,函數(shù)之間可以嵌套。 12345+sqrt(12345) Year(date() round(sqrt(8562),0) 10 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 系統(tǒng)函數(shù)的分類 查詢函數(shù)幫助的方法: “幫助”菜單“幫助內(nèi)容”“索引” 分類:數(shù)據(jù)類、數(shù)據(jù)庫類、環(huán)境類、輸入輸出類、程序設(shè)計(jì)類 常用函數(shù)介紹 數(shù)值函數(shù): 數(shù)值函數(shù): ABS()函數(shù) 功能:返回指定數(shù)值表達(dá)式的絕對(duì)值 舉例:?ABS(- 45) 顯示 45 MAX()和 MIN()函數(shù) INT()函數(shù)
33、功能:計(jì)算一個(gè)數(shù)值表達(dá)式的值,并返回整數(shù)部分 舉例:?INT(12.5) 顯示 12 MOD()函數(shù) 功能:用一個(gè)數(shù)值表達(dá)式去除另一個(gè)數(shù)值表達(dá)式,返回余數(shù) 舉例:?MOD(25.250,5.0) 顯示 0.250 ?MOD(23,-5) 顯示 -2 ?MOD(-23,-5) 顯示 -3 規(guī)則:被除數(shù)表達(dá)式中的小數(shù)位數(shù)決定了返回值中的小數(shù)位數(shù); 除數(shù)表達(dá)式為整數(shù),返回值為正,否則返回式為負(fù)。 ROUND()函數(shù) 功能:返回圓整到指定小數(shù)位數(shù)的數(shù)值表達(dá)式 舉例:?ROUND(1234.1962,2) 顯示 1234.2000 ?ROUND(1234.1962,0) 顯示 1234.0000 ?RO
34、UND(1234.1962,-2) 顯示 1200.0000 規(guī)則:小數(shù)位數(shù)為負(fù),則返回的結(jié)果在小數(shù)點(diǎn)左端包含指定個(gè)零。 SQRT()函數(shù) 功能:返回?cái)?shù)值表達(dá)式的值的平方根 舉例:SQRT(4) 顯示 2.00 RAND()函數(shù) 功能:返回一個(gè) 01 之間的隨機(jī)數(shù) 舉例:RAND() 顯示一個(gè) 01 之間的數(shù)值 字符函數(shù): 字符函數(shù): ALLTRIM()函數(shù):刪除指定字符表達(dá)式值的前后空格符; LTRIM()函數(shù):刪除指定字符表達(dá)式值的前面空格符; RTRIM()與 TRIM()函數(shù):刪除指定字符表達(dá)式值的后面空格符; AT()函數(shù): 功能:返回一個(gè)字符表達(dá)式(或備注字段)在另一個(gè)字符表達(dá)式(
35、或備注字 段)中首次出現(xiàn)的位置。 格式:?AT(cSearchExpression,cExpressionSearched,nOccurrence) 解釋:cSearchExpression 為搜索表達(dá)式,cExpressionSearched指定被搜索表 達(dá)式;數(shù)值表達(dá)式 nOccurrence 指定搜索表達(dá)式在被搜索表達(dá)式中第幾次出 現(xiàn),缺省時(shí)為 1,。如果返回值為 0,則表示未出現(xiàn)。 (區(qū)分大小寫) LEN()函數(shù): ()函數(shù) ()函數(shù): 11 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 功能:返回字符表達(dá)式的值中字符的數(shù)目 功能: 舉例:LEN(1 2
36、3) 舉例: 有兩個(gè)空格) ( ) 顯示 5(注:有兩個(gè)空格) ( 注意:空格占一個(gè)字符,漢字占兩個(gè)字節(jié)。 注意:空格占一個(gè)字符,漢字占兩個(gè)字節(jié)。 SUBSTR()函數(shù): ()函數(shù) ()函數(shù): 功能:從一個(gè)給定的字符表達(dá)式(或備注字段)中返回一個(gè)子字符串。 功能:從一個(gè)給定的字符表達(dá)式(或備注字段)中返回一個(gè)子字符串。 舉例:? 舉例:? :?SUBSTR(abcdefghijklm,1,5) ( , , ) 顯示 abcde ?SUBSTR(abcdefghijklm,6) ( , ) 顯示 fghijklm LEFT()函數(shù):從字符表達(dá)式最左邊字符開始返回指定數(shù)目的字符; RIGHT()函
37、數(shù):從字符表達(dá)式最右邊字符開始返回指定數(shù)目的字符。 舉例:?LEFT(Redmond,WA,7) 顯示“Redmond” ?RIGHT(Redmond,WA,2) 顯示“WA” 日期與時(shí)間函數(shù): 日期與時(shí)間函數(shù): DATE()函數(shù):返回由操作系統(tǒng)控制的當(dāng)前系統(tǒng)日期; TIME()函數(shù):返回當(dāng)前系統(tǒng)時(shí)間; DATETIME()函數(shù):返回當(dāng)前系統(tǒng)日期與時(shí)間。 YEAR()函數(shù):從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回年份; YEAR()函數(shù)總是返回帶世紀(jì)的年份,CENTURY 的設(shè)置 (ON/OFF)并不影響此返回值。 MONTH()函數(shù):返回月份值; DAY()函數(shù):返回某月中的第幾天。 DOW
38、 函數(shù): () 從日期表達(dá)式或日期時(shí)間表達(dá)式返回該日期是一周的第幾天 (第 一天為星期日) ,如:?DOW(DATE() ) 數(shù)據(jù)類型轉(zhuǎn)換函數(shù): 數(shù)據(jù)類型轉(zhuǎn)換函數(shù): ASC()函數(shù) ()函數(shù) () 功能:返回字符表達(dá)式值中最左邊字符的 ASCII 值 功能: 舉例:?ASC(ABCD) 舉例: ( ) 顯示字母 A 的 ASCII 碼值 65 常用碼值:a 的碼值是 97 ;A 的碼值是 65 ;回車符的碼值為 13 常用碼值: CHR()函數(shù): 功能:計(jì)算數(shù)值表達(dá)式的值,然后以該值為 ASCII 代碼返回其對(duì)應(yīng)的字符 舉例:?CHR(66) 顯示字符 B 注意:數(shù)值表達(dá)式的值必須在 1255
39、 之間;在實(shí)際應(yīng)用中,可用 CHR() 向打印機(jī)等設(shè)備發(fā)送控制代碼 VAL()函數(shù): 功能:由數(shù)字組成的字符表達(dá)式返回?cái)?shù)字值。 舉例:?VAL(123a4) 顯示 123 ?VAL(a4) 顯示 0 規(guī)則:字符表達(dá)式最多由 16 位數(shù)字組成,若超過 16 位,則對(duì)其圓整; 該函數(shù)在處理時(shí),從左到右返回字符表達(dá)式值中的數(shù)字,直到遇到非 數(shù)值型字符時(shí)為止(忽略前面的空格) ; 若字符表達(dá)式的第一個(gè)字符不是數(shù)字,也不是加減號(hào),則 VAL()函 數(shù)返回值為 0。 DTOC() 、TTOC()函數(shù) 功能:由日期或日期時(shí)間型返回字符型日期 格式:DTOC(dExpression | tExpression
40、,1 | 2) 12 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 解釋:對(duì)于這兩種函數(shù),參數(shù)“1”用于以年月日順序且無分隔符的形式返 回字符型日期,參數(shù)“2”用于僅返回含時(shí)間部分的字符型時(shí)間; 舉例:STORE1995/10/31 10:34 TO gdThisDate ?DTOC(gdThisDate) ( ) 顯示字符串 10/31/1995 ?DTOC(gdThisDate,1) ( , ) 顯示字符串 19951031 ?TTOC(gdThisDate) ( ) 顯示字符串 10/31/1995 10:34:00 AM ? TTOC(gdThisDate
41、,1) ( , ) 顯示字符串 400 ? TTOC(gdThisDate,2) ( , ) 顯示字符串 10:34:00 AM CTOD() 、CTOT()函數(shù) 功能:正好與上述的兩個(gè)函數(shù)相反 格式 CTOD(cExpression) CTOT(cExpression) 解釋: 字符表達(dá)式 cExpression 的求值結(jié)果必須是從 1/1/100 至 12/31/9999 范 圍內(nèi)的一個(gè)有效日期,其默認(rèn)格式是 mm/dd/yy。 STR()函數(shù) 功能:將數(shù)值表達(dá)式的值轉(zhuǎn)換為對(duì)應(yīng)的字符串 舉例: ?STR(314.15) 返回“314” 沒有指定寬度和小數(shù)位數(shù),默認(rèn)寬度取 10 ,沒有指定寬
42、度和小數(shù)位數(shù) 沒有指定寬度和小數(shù)位數(shù), ?STR(314.15,5)返回“314” 寬度 5,沒有指定小數(shù)位數(shù),前導(dǎo)兩個(gè)空格 ,寬度 ,沒有指定小數(shù)位數(shù), ?STR(314.15,5,2)返回“314.2” 寬度 5,小數(shù)位數(shù) 2,寬度不夠,首先 ,寬度 , ,寬度不夠, 保證整數(shù) ?STR(314.15, 2)返回“*” 寬度為 2,小于整數(shù)部分寬度,溢出 ,寬度為 ,小于整數(shù)部分寬度, ?STR(3) 返回“1.234E+12” 解釋:長度用于指定 STR()返回的字符串長度,該長度包括小數(shù)點(diǎn)所占的 解釋: 字符和小數(shù)點(diǎn)右邊每個(gè)數(shù)字所占的字符。 如果指定長度大于整個(gè)數(shù)值的寬度,STR()用
43、前導(dǎo)空格填充返回的 字符串; 如果指定長度小于整數(shù)部分的數(shù)字位數(shù),STR()返回一串星號(hào),表 示數(shù)值溢出;如果未指定長度,系統(tǒng)默認(rèn)為 10,。 小數(shù)位數(shù)用于指定由 STR()返回的字符串中的小數(shù)位數(shù)(若要指定 小數(shù)位數(shù),必須同時(shí)包括長度) ,如果指定的小數(shù)位數(shù)小于數(shù)值表達(dá) 式的值中的小數(shù)位數(shù),則截?cái)喽嘤嗟男?shù)位。 BETWEEN()函數(shù) 功能:判斷一個(gè)表達(dá)式的值是否在另外兩個(gè)相同數(shù)據(jù)類型的表達(dá)式的值之 間,返回值為.T.或.F.或 NULL(當(dāng)上限或下限有一個(gè)為 NULL 時(shí)就 返回 NULL) 。 舉例:?BETWEEN(3,14,15) 顯示.F. ?BETWEEN(A, a, P) 顯示
44、.T. TYPE()函數(shù) 功能:返回表達(dá)式的值的數(shù)據(jù)類型,數(shù)據(jù)表達(dá)式必須用引號(hào)。 舉例: ?TYPE(12*3)+4) 顯示 N ?TYPE(DATE() 顯示 D ?TYPE(.T. OR .F. ) 顯示 L ?TYPE (ANSWER=42) 顯示 U (ANSWER 變量未預(yù)先賦予值, 不確定類型) 13 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 IIF()函數(shù) 功能:根據(jù)邏輯表達(dá)式的值返回兩個(gè)值中的一個(gè)。 格式:IIF(lExpression,eExpression1, eExpression2),其中,邏輯表達(dá)式 lExpression 為條件,其
45、值為.T.時(shí)返回 eExpression1 的值,否則返回 eExpression2 的值。 MessageBox()函數(shù) 功能:顯示一個(gè)用戶自定義對(duì)話框 格式:MessageBox(提示信息,對(duì)話框類型,標(biāo)題文字) 舉例:MessageBox(“下雨了還出去春游嗎?”,4+64+256,“提示”) GETFILE ()函數(shù) 功能:顯示打開對(duì)話框,并返回選定文件的名稱。 格式:GETFILE(cFileExtensions,cText) 解 釋 : 字 符 串 cText 用 于 指 定 文 件 文 本 框 前 的 標(biāo) 簽 ; 文 本 擴(kuò) 展 名 cFileExtensions 用于指定沒有選
46、擇“所有文件”菜單項(xiàng)時(shí),列表中顯示的文 本擴(kuò)展名,文本擴(kuò)展名形式有很多種: 如果包含單一擴(kuò)展名,只顯示具有此擴(kuò)展名的文件; 可以包含由分號(hào)分隔的文件擴(kuò)展名列表; 如果只包含分號(hào),則顯示所有不帶擴(kuò)展名的文件; 表達(dá)式 表達(dá)式:通過運(yùn)算符將常量、變量、函數(shù)、字段名等組合起來可以進(jìn)行計(jì)算的 表達(dá)式。 表達(dá)式的求值結(jié)果為單個(gè)值 單個(gè)變量、操作符、常量、函數(shù)、字段名、控件及屬性視為表達(dá)式的特例 使用:表達(dá)式的求值結(jié)果為單個(gè)值,所以用到常量的地方都可以使用表達(dá)式 字符表達(dá)式 字符型、備注型、字符操作符 日期表達(dá)式 日期型、日期時(shí)間型、數(shù)值型、日期操作符 算術(shù)表達(dá)式 和數(shù)值有關(guān)的類型、算術(shù)運(yùn)算符 邏輯表達(dá)式
47、 邏輯型、邏輯操作符 從左自右,算到不必算為止 名稱表達(dá)式 名稱表達(dá)式:是由圓括號(hào)括起來的一個(gè)字符表達(dá)式, 該表達(dá)式也可以是單個(gè)變量或數(shù)組元素, Use (“c”+ “j”) Use (substr(“abcj”,3) X=“cj” use (x) Dimension aa8 aa2=“cj” use (aa2) 用來替換命令和函數(shù)中的名稱,從而為 VFP 的命令和函數(shù)提供靈活性。 字段名、變量名、窗口名、菜單名、文件名、對(duì)象名 宏替換 宏替換與名稱表達(dá)式具有相似的作用,可使用宏替換的方法用內(nèi)存變量替換名稱, 在使用宏替換時(shí),將連字符(&)放在變量前,告訴 VFP 將此變量的值當(dāng)作名稱
48、使用 14 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 宏替換作為名稱使用 x=“cj” use &x 等價(jià)于 use (x) 組成:由&和一個(gè)字符變量 字符變量組成,使用一個(gè)英文句號(hào) 結(jié)束宏替換表達(dá)式 英文句號(hào). 字符變量 英文句號(hào) 宏替換表達(dá)式的結(jié)果與字符變量的值相關(guān) 字符變量的值 宏替換表達(dá)式值 為數(shù)字串 數(shù)字串對(duì)應(yīng)的數(shù)字 X=“123” ? &X 123 為非數(shù)字串 為字符串對(duì)應(yīng)的變量的值 X=“Y” ?&X 找不到變量 Y Y=“ABCDE” ?&X ABCDE 宏替換與名稱表達(dá)式的區(qū)別 在表達(dá)式中 gg=345
49、6 hh=gg ?(hh) =>gg ?&hh =>3456 (gg 的值) 英文句號(hào)的作用 v=abc v1=ggg ? pp&v12 ? 結(jié)果應(yīng)該是ppggg2還是ppabc12 ? pp&v1. ? pp&v.1 空值 空值表示不確定的值,用 NULL 或.NULL.表示 空值具有以下特點(diǎn) 等價(jià)于沒有任何值 與 0、“”、空格不同 排序優(yōu)先于其它數(shù)據(jù)(不論升序或降序) 大多數(shù)函數(shù)均可使用 SQRT(NULL) NULL 可以出現(xiàn)在任何使用值或表達(dá)式的地方 Null 不是一種數(shù)據(jù)類型,只是一個(gè)值 ?type(“.null.”) U Undefin
50、ed X=100 X=.NULL. ?TYPE(“X”) 空值的賦值和判斷 賦值 變量: 變量名= .NULL. 字段 CTRL+0 (設(shè)字段空值) 判斷 使用 ISNULL 函數(shù)判斷空值 ISNULL 對(duì)于空值返回 對(duì)于空值返回.T. ISNULL 對(duì)于 0 和空白或空字符串返回.F. EMPTY 和 ISBLANK 對(duì)于空值返回.F. EMPTY 函數(shù)對(duì)于 0 和空白或空字符串返回 和空白或空字符串返回.T. ISBLANK 函數(shù)對(duì)于空白或空字符串返回 函數(shù)對(duì)于空白或空字符串返回.T. N 15 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 EMPTY() I
51、SBLANK() ISNULL() 空字符串 .T. .T. .F. 空白字段 0 .T. .T. .F. .T. .F. .F. .NULL. .F. .F. .T. 在表達(dá)式中 NULL 的行為 數(shù)值型、日期型與 NULL 值運(yùn)算結(jié)果為 NULL 邏輯型運(yùn)算結(jié)果大多數(shù)為 NULL 邏輯表達(dá)式中 NULL 值的行為見表 2-14 例:.NULL. AND .T.的結(jié)果 NULL 可能為 .T. AND .T 結(jié)果 .T. NULL 可能為 .F. AND .T. 結(jié)果 .F. .NULL. AND .T.結(jié)果不能確定,所以為.NULL. 空值在命令或函數(shù)中的行為 使用 NULL 作為參數(shù)的通
52、用規(guī)則 給命令傳遞 NULL 值將產(chǎn)生錯(cuò)誤 GO .NULL. 接收.NULL.為有效參數(shù)的函數(shù)其結(jié)果也為.NULL. ?SQRT(.NULL.) 向本應(yīng)接收數(shù)值型參數(shù)的函數(shù)傳遞.NULL.值參數(shù),將產(chǎn)生錯(cuò)誤。 當(dāng) 傳 遞 NULL 值 時(shí) , ISBLANK() ISDIGIT() ISLOWER() ISUPPER() ISALPHA() EMPTY()返回假值, ISNULL()返回真值 返回真值 SQL 語句,判斷用 IS NULL,IS NOT NULL SQL 合計(jì)函數(shù)將忽略 NULL 值 若所有值皆為 NULL, VFP 合計(jì)函數(shù)產(chǎn)生 合計(jì)函數(shù)產(chǎn)生.NULL., , 則 , 否則
53、 NULL 值將被忽 略 程序設(shè)計(jì)基礎(chǔ) 程序是為了完成某個(gè)具體任務(wù)而編寫的一系列指令。 VFP 程序由一系列代碼組成,代碼包括以命令形式出現(xiàn)的指令、函數(shù)或 VFP 可以理 解的任何操作 程序設(shè)計(jì)的目標(biāo) 程序設(shè)計(jì)的目標(biāo)是為一些處理過程創(chuàng)建模型或者模擬這個(gè)過程,把現(xiàn)實(shí)世界或構(gòu)想 中的處理過程合乎邏輯地描述為邏輯或運(yùn)算過程。 程序的優(yōu)點(diǎn):與命令窗口輸入命令相比,程序的優(yōu)點(diǎn) 程序可以被修改并重新運(yùn)行 16 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) 于帥 可以從菜單、表單和工具欄啟動(dòng)程序。 一個(gè)程序可以調(diào)用其他程序 具有在命令窗口中不能使用的結(jié)構(gòu)化程序設(shè)計(jì)命令 結(jié)構(gòu)化程序設(shè)計(jì)
54、命令。 結(jié)構(gòu)化程序設(shè)計(jì)命令 程序的創(chuàng)建和運(yùn)行 創(chuàng)建 界面方式 命令方式 Modify Command 程序名 運(yùn)行 界面方式 命令方式 Do 程序名 with 參數(shù) 程序文件擴(kuò)展名 Prg 程序文件 Fxp 偽編譯程序 程序結(jié)構(gòu) 程序結(jié)構(gòu)主要分為: 順序結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu) 順序結(jié)構(gòu):按照順序依次執(zhí)行程序中的命令 例 1:創(chuàng)建表單 mf=createobject("form") mf.show mf.backcolor=rgb(255,0,255) mf.circle(100,100,100) 例 2:計(jì)算數(shù)據(jù) input “請輸入要計(jì)算的數(shù)據(jù)” to x y=5*X3
55、+6*x2+7*x+8 ?y 分支結(jié)構(gòu):根據(jù)條件分支的測試結(jié)果執(zhí)行不同的操作 類型:Ifelseendif 語句 Do caseendcase 語句 分支結(jié)構(gòu)的語法格式: IF 條件 DO CASE 命令組 1 CASE 條件 1 ELSE 命令組 1 命令組 2 CASE 條件 2 ENDIF 命令組 2 CASE 條件 N 命令組 N OTHERWISE 其他命令組 ENDCASE 循環(huán)結(jié)構(gòu):使一組語句重復(fù)執(zhí)行若干次 (P144 例 5.9) 類型:FORENDFOR DO WHILEENDDO 17 江蘇省計(jì)算機(jī)等級(jí)考試二級(jí) VFP 復(fù)習(xí)資料(2010 年 10 月) SCANENDSC
56、AN 于帥 循環(huán)結(jié)構(gòu)的語法格式 FOR 特點(diǎn):循環(huán)次數(shù)固定 FOR 循環(huán)變量=初值 TO 終值 STEP 步長 命令組 ENDFOR WHILE 特點(diǎn):循環(huán)次數(shù)不固定 循環(huán)變量=初值 DO WHILE 條件 命令組 改變循環(huán)變量的語句 ENDDO 循環(huán)結(jié)構(gòu)中的 LOOP 和 EXIT 命令:一般放在 IF 嵌套中 LOOP 短路語句 跳過后面的語句進(jìn)入下一次循環(huán) 例:顯示 1100 之間非 3 的倍數(shù)的所有奇數(shù) EXIT 退出語句 直接退出循環(huán) 例:找到 8090 之間的隨機(jī)數(shù) FOR I=1 TO 100 step 2 X=0 if mod(I,3)=0 Do while .t. loop x=rand()*100 endif if x>70 and x<80 ?I exit ENDFOR endif Enddo ?x 過程與用戶自定義函數(shù) 用戶可以將經(jīng)常執(zhí)行的具有某種功能的一段代碼獨(dú)立出來,創(chuàng)建一個(gè)過程或用戶自 定義函數(shù) UDF(User Defined Function) 優(yōu)點(diǎn):減少了代碼量,提高了程
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 合法壓車合同范本
- 和員工股合同范本
- 合作種植大蔥合同范例
- 員工提成合同范例
- 加工豎立桅桿合同范本
- 臺(tái)州市商品房出租合同范本
- 吳江區(qū)律師顧問合同范本
- 沖壓模具開發(fā)合同范本
- 代理記賬報(bào)稅 合同范本
- 傳媒公司聘用合同范本
- 偏癱臨床路徑流程
- 計(jì)算機(jī)視覺全套課件
- GB-T 9251-2022 氣瓶水壓試驗(yàn)方法(高清版)
- 基于單片機(jī)的電子廣告牌設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 中國聯(lián)通IMS接口規(guī)范 第三分冊:Sh接口 V1.0
- 環(huán)境化學(xué)物的毒性作用及其影響因素
- 判斷抽樣(課堂PPT)
- 簡明疼痛評(píng)估量表(BPI)
- QUY400t性能表履帶起重機(jī)
- 通用橫版企業(yè)報(bào)價(jià)單模板
- 中國移動(dòng)B-BOSS系統(tǒng)總體結(jié)構(gòu)
評(píng)論
0/150
提交評(píng)論