版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2020/8/23,1,Visual FoxPro 電子教案,講解:金葉,全國(guó)計(jì)算機(jī)等級(jí)考試,(二級(jí)教程),2020/8/23,2,第一章 Visual FoxPox 概述,Visual Foxpro主要包括了數(shù)據(jù)庫(kù)管理和程序設(shè)計(jì)兩大功能。 1、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS) DataBase Management System 2、程序設(shè)計(jì)主要包括: 結(jié)構(gòu)化程序設(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì),2020/8/23,3,一、數(shù)據(jù)模型簡(jiǎn)介,數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的數(shù)據(jù)模型分為三種: 1、層次模型(樹(shù)形結(jié)構(gòu)) 2、網(wǎng)狀模型(網(wǎng)狀結(jié)構(gòu)) 3、關(guān)系模型(二維表結(jié)構(gòu)) 注:在Visual Foxpro中,一個(gè)“表”就是
2、一個(gè)關(guān)系,一個(gè)關(guān)系就是一張二維表。,2020/8/23,4,關(guān)系模型所支持的三種運(yùn)算:,選擇:從關(guān)系中找出滿(mǎn)足給定條件的元組 的操作 投影:從關(guān)系中指定若干個(gè)屬性組成新的 關(guān)系 聯(lián)接:關(guān)系的橫向結(jié)合(兩個(gè)或兩個(gè)以上 的表),2020/8/23,5,二、系統(tǒng)的啟動(dòng)與退出,1、啟動(dòng) a、雙擊桌面“小狐貍頭”圖標(biāo) b、開(kāi)始程序Microsoft Visual Foxpro 6.0 2、退出 a、點(diǎn)擊關(guān)閉按鈕 b、文件退出 c、Alt+F4 d、在命令窗口中輸出“ Quit ”命令,2020/8/23,6,三、界面組成及工作方式,1、界面 標(biāo)題欄菜單欄工具欄 命令窗口狀態(tài)欄 注:1)工具欄的調(diào)出:顯示
3、工具欄 2)命令窗口的調(diào)出:顯示命令窗口 3)狀態(tài)欄:顯示部份操作信息,2020/8/23,7,2、命令窗口的書(shū)寫(xiě)規(guī)則,a、一條命令占一行,按Enter鍵執(zhí)行, Esc放棄; b、命令單詞可簡(jiǎn)寫(xiě)為前四個(gè)字母,并且不區(qū)分大小寫(xiě); c、命令語(yǔ)句具有重復(fù)執(zhí)行功能 3、工作方式 a、交互命令方式(菜單、命令操作) b、程序執(zhí)行方式,2020/8/23,8,第二章 表的建立和維護(hù),第一節(jié) 表格分析,橫向:行、記錄、元組,縱向:列、字段、屬性,注:1)一張二維表格,由行和列構(gòu)成; 行稱(chēng)為記錄,列稱(chēng)為字段; 2)關(guān)系由元組和屬性構(gòu)成。,2020/8/23,9,一、字段名的命名規(guī)則,字段名即關(guān)系的屬性名或表的
4、列名,一個(gè)表由若干列(字段)構(gòu)成,每一列都必須有一個(gè)唯一的名字字段名 a、不能超過(guò)10個(gè)字符 b、可由字母、數(shù)字、漢字、下劃線(xiàn)構(gòu)成 (注:不可以數(shù)字開(kāi)頭),2020/8/23,10,二、字段類(lèi)型 1、字符型 C 保存一些描述性的長(zhǎng)度不超過(guò)254個(gè)字符的文字信息 例:姓名、性別、職稱(chēng)等 2、數(shù)值型N 可由數(shù)字、負(fù)號(hào)、小數(shù)點(diǎn)組成,用來(lái)表示一個(gè)數(shù)值,可參加運(yùn)算,長(zhǎng)度不超過(guò)20個(gè)字符 例:總分、年齡、工資等,2020/8/23,11,3、邏輯型L 當(dāng)值只有“是”或“否”兩種情況時(shí),即用“真”或“假”表示,僅占一個(gè)字節(jié)(固定) 真(是):.T.t.Y.y. 假(否):.F.f.N.n. 例:是否團(tuán)員、婚
5、否等 4、日期型D 保存一個(gè)具體的日期,占八個(gè)字節(jié)(固定) 例:出生日期、入學(xué)日期等,2020/8/23,12,5、備注型M 用于保存大量的文字信息,寬度固定為4個(gè)字節(jié) 例:簡(jiǎn)歷、產(chǎn)品說(shuō)明等 6、通用型G 用于保存音頻、視頻、圖形圖象等多煤體信息,寬度固定為4個(gè)字節(jié) 例:照片,2020/8/23,13,第二節(jié)二維表的建立 建表分為建立表的結(jié)構(gòu)和輸入記錄兩步 一、建立表結(jié)構(gòu) 菜單操作:文件新建表 命令:Create 表名 注:表文件擴(kuò)展名 .dbf 備注型文件.fpt 一個(gè)表只有一個(gè)備注型文件,用于保存?zhèn)渥⑿秃屯ㄓ眯妥侄蔚闹?2020/8/23,14,在彈出的表設(shè)計(jì)器中設(shè)計(jì)表的結(jié)構(gòu): 字段名類(lèi)型
6、寬度小數(shù)位數(shù) 姓名C8 性別C2 年齡N2 出生日期D8(固定) 是否團(tuán)員L1(固定) 簡(jiǎn)歷M4(固定) 照片G4(固定),2020/8/23,15,二、輸入記錄 注:備注型和通用型數(shù)據(jù),左鍵雙擊輸入 Ctrl+W保存并關(guān)閉 Gen和Memo第一個(gè)字母為大寫(xiě)時(shí),即表示內(nèi)存記錄 三、表的簡(jiǎn)單操作 1、打開(kāi)表 命令:Use 表名 注:?jiǎn)为?dú)的use 命令表示關(guān)閉表 2、瀏覽表 命令:Browse,2020/8/23,16,第三節(jié)表的維護(hù) 一、表結(jié)構(gòu)的維護(hù) 1、打開(kāi)表設(shè)計(jì)器 顯示表設(shè)計(jì)器 命令:ModifyStructure 2、顯示表結(jié)構(gòu) ListStructure連續(xù)顯示 DisplayStruc
7、ture分屏顯示 注:表中每條記錄長(zhǎng)度=各字段寬度總和+1 二、記錄的維護(hù) 1、顯示記錄 List / List all / Display all,2020/8/23,17,2、記錄指針 指向表中的某一條記錄,被指記錄稱(chēng)為當(dāng)前記錄 1)表剛打開(kāi)時(shí),記錄指針指向表中的第一條記錄; 2)執(zhí)行List命令后,記錄指針指向表底 (一)絕對(duì)定位: 命令: n記錄號(hào) got top首條記錄 bottom 末條記錄,2020/8/23,18,(二)相對(duì)定位 格式:Skip n n為一個(gè)數(shù)值: 為正數(shù)時(shí),即向下移動(dòng)n條記錄 為負(fù)數(shù)時(shí),則向上移動(dòng)n條記錄 3、擴(kuò)充記錄 命令:Append blank Appe
8、nd:向表尾擴(kuò)充若干條記錄 Append blank:向表尾擴(kuò)充一條空記錄,2020/8/23,19,4、插入記錄 命令:Insert before blank Insert:向當(dāng)前記錄后面插入一條記錄 before:前面 blank:空記錄 5、修改記錄 命令:Edit/Change 打開(kāi)表的編輯窗口,對(duì)表中記錄進(jìn)行修改 6、刪除記錄 邏輯刪除:Delete 為所要?jiǎng)h除的記錄做一個(gè)刪除標(biāo)志,2020/8/23,20,物理刪除:Pack 徹底刪除表中所有被邏輯刪除的記錄 恢復(fù):Recall 恢復(fù)表中被邏輯刪除的記錄 附:ZAP命令:一次性清除表中所有記錄 7、瀏覽窗口 命令:Browse 1)
9、在瀏覽窗口打開(kāi)時(shí),系統(tǒng)會(huì)增加“表”菜單; 2)在瀏覽窗口中可對(duì)記錄進(jìn)行添加、更新、刪除操作; 3)可通過(guò)“顯示”“瀏覽/編輯”切換窗口樣式; 4)可拖動(dòng)右下角方塊對(duì)瀏覽窗口進(jìn)行分割。,2020/8/23,21,第四節(jié)命令格式及子句 命令動(dòng)詞 參數(shù)1 參數(shù)2參數(shù)n 一、范圍子句 All全部、所有 Record n第n 條記錄 Next n由當(dāng)前記錄向下n條 Rest由當(dāng)前記錄向下所有記錄 注:Next、Rest均包含當(dāng)前記錄,2020/8/23,22,二、條件子句 For/While 條件表達(dá)式 對(duì)滿(mǎn)足條件的記錄進(jìn)行操作 For與While區(qū)別: For 條件:找到表中所有滿(mǎn)足條件的記錄 Whi
10、le 條件:由當(dāng)前記錄向下查找,當(dāng)遇到條件不滿(mǎn)足的記錄時(shí),即停止查找 三、fields 字段列表 字段列表由若干字段名構(gòu)成,中間用逗號(hào)隔開(kāi),用于篩選字段。,2020/8/23,23,四、替換命令 格式:Replace 字段名1 with 表達(dá)式1 ,字段名2 with 表達(dá)式2 范圍條件additive 功能:用表達(dá)式的值來(lái)替換指定字段的值 注:Replace不可以替換通用型字段值,在替換備注型字段值時(shí),additive表示向備注型字段后添加值,2020/8/23,24,第五節(jié)表文件操作 一、復(fù)制記錄 格式:Copy to 新表名for 條件fields 字段列表 功能:將當(dāng)前表中的記錄拷貝到
11、另一個(gè)表中 二、復(fù)制結(jié)構(gòu) 格式:Copy stru to 新表名 fields字段列表 三、成批擴(kuò)充 格式:Append from 源表名 for 條件 功能:將源表中滿(mǎn)足條件的記錄成批擴(kuò)充到當(dāng)前表中。,2020/8/23,25,四、復(fù)制文件 格式:Copy file 源文件名 to 目標(biāo)文件名 注:1)源文件必須關(guān)閉 2)文件名必須帶擴(kuò)展名 3)必須復(fù)制文件的備注型文件 五、顯示文件 命令:Dir 功能:顯示當(dāng)前目錄下所有DBF文件 通配符:?單個(gè)字符 * 多個(gè)字符,2020/8/23,26,第三章VFP的基本數(shù)據(jù)元素 第一節(jié)常量 其值不變的量 一、字符型 由單引號(hào)、雙引號(hào)、中括號(hào)定界符括起
12、來(lái)的字符串 二、數(shù)值型 由數(shù)字、負(fù)號(hào)、小數(shù)點(diǎn)構(gòu)成 三、邏輯型 真:.T. .t. .Y. .y. 假:.F. .f. .N. .n.,2020/8/23,27,四、貨幣型 貨幣型常量以$符號(hào)開(kāi)頭,小數(shù)部份四舍五入保留4位小數(shù) 五、日期型和日期時(shí)間型 1)日期型 格式:美式 mm/dd/yy 嚴(yán)格 yyyy-mm-dd 設(shè)置日期格式:嚴(yán)格 Set Stirctdate to 1 不嚴(yán)格 Set Strictdate to 0 2)日期時(shí)間型 格式:年-月-日 時(shí):分:秒 Am/Pm,2020/8/23,28,第二節(jié) 變量 其值可以改變的量 一、變量的命名規(guī)則 由字母、漢字、數(shù)字、下劃線(xiàn)構(gòu)成 注:
13、不可以數(shù)字開(kāi)頭,長(zhǎng)度不可以超過(guò)254個(gè)字符 二、變量的賦值 1、等號(hào)賦值 格式:變量名=值 2、一次賦值給多個(gè)變量 格式:Store 值 to 變量名列表 注:變量名之間由逗號(hào)隔開(kāi),2020/8/23,29,三、變量的分類(lèi) 分為系統(tǒng)變量、字段變量、 內(nèi)存變量 1、系統(tǒng)變量 由系統(tǒng)自帶,以下劃線(xiàn)開(kāi)頭的變量 可用:List Memory 連續(xù)顯示 Display Memory分屏顯示 2、字段變量 存在于表中,表中字段名就是字段變量 注:字段變量的值隨記錄指針?biāo)ㄎ挥涗浀母淖兌淖?2020/8/23,30,3、內(nèi)存變量 用戶(hù)在命令窗口或程序代碼中定義的變量 注:當(dāng)內(nèi)存變量與字段變量發(fā)生同名沖突時(shí)
14、,系統(tǒng)優(yōu)先引用字段變量值。 可用M.內(nèi)存變量名來(lái)訪(fǎng)問(wèn)與字段變量同名的內(nèi)存變量。 1)內(nèi)存變量的顯示 List / Display Memory 2)內(nèi)存變量的釋放 Release 內(nèi)存變量名列表 / all,2020/8/23,31,第三節(jié)表達(dá)式及其運(yùn)算 一、表達(dá)式 由各種運(yùn)算符將常量、變量、函數(shù)連接起來(lái)的式子 二、數(shù)據(jù)運(yùn)算 1、數(shù)學(xué)運(yùn)算 運(yùn)算符:+ - * / %(取余) 或*(乘方) 2、字符串運(yùn)算 +連接前后字符串,生成一個(gè)新的字符串; -將前后串相連接,若前串尾部有空格,則將空格放置所生成字串的后面。,2020/8/23,32,3、日期運(yùn)算 日期-日期=天數(shù) 日期+/-天數(shù)=日期 4、
15、日期時(shí)間運(yùn)算 三、關(guān)系運(yùn)算 大于=大于等于#、!=、不等于 小于=小于等于$包含于 =等于=完全等于 關(guān)系運(yùn)算結(jié)果只返回邏輯型.T.,.F.,2020/8/23,33,(1)字符串的關(guān)系運(yùn)算 字符串運(yùn)算按ASCII值進(jìn)行比較 “0”=48 “A”=65“a”=97 “1”=49 “B”=66“b”=98 “2”=50 “C”=67“c”=99 (2)日期比較 按年、月、日的值逐個(gè)比較,2020/8/23,34,四、邏輯運(yùn)算,運(yùn)算符: and or not And (并且):運(yùn)算符兩邊表達(dá)式必須同時(shí)成立 Or(或者):運(yùn)算符兩邊的表達(dá)式只需一個(gè)成立 Not (取反):取運(yùn)算符右邊表達(dá)式的反值,2
16、020/8/23,35,第四節(jié) 函數(shù),函數(shù)具有擴(kuò)展和增強(qiáng)命令的功能 函數(shù)的一般形式為: 函數(shù)名(參數(shù)列表) 注:參數(shù)列表之間的參數(shù)用逗號(hào)隔開(kāi),每個(gè)函數(shù)都有返回值,沒(méi)有參數(shù)的函數(shù)稱(chēng)為無(wú)參函數(shù)。 函數(shù)名、參數(shù)和返回值為函數(shù)的三要素。 例:?max (12,15,58,0) 函數(shù)名參數(shù)列表 58 函數(shù)值,2020/8/23,36,一、數(shù)學(xué)函數(shù),1、取整函數(shù) 格式:int ( 參數(shù)n ) n為一個(gè)數(shù)值 功能:返回值為n的整數(shù)部份 2、求絕對(duì)值函數(shù) 格式:abs ( 參數(shù)n ) n為一個(gè)數(shù)值 功能:返回n的絕對(duì)值,2020/8/23,37,3、求算術(shù)平方根 格式:sqrt ( 參數(shù)n ) n必須為正數(shù)或
17、零 功能:返回n的算術(shù)平方根 4、四舍五入函數(shù) 格式:round(參數(shù)m,參數(shù)n) m,n均為數(shù)值 功能:對(duì)m進(jìn)行四舍五入,保留n位小數(shù),2020/8/23,38,5、取余函數(shù) 格式:mod(參數(shù)m,參數(shù)n) m,n均為數(shù)值 功能:返回m除以n的余數(shù) 6、求最大值、最小值函數(shù) 格式:max(參數(shù)列表) min(參數(shù)列表) 功能:返回參數(shù)列表中的最大值或最小值 注:max、min除了可以比較N型數(shù)據(jù)以外,還可以對(duì)C、D、N、L型數(shù)據(jù)進(jìn)行比較。,2020/8/23,39,二、字符函數(shù),1、求字符串長(zhǎng)度 格式:Len (字串C) 功能:返回字串C的長(zhǎng)度 2、字串截取 格式:substr ( 字串C,
18、數(shù)值m ,數(shù)值n ) 功能:對(duì)字串C,由m位置開(kāi)始截取n個(gè)字符,若省略n,則從m位置開(kāi)始全部取完。 附:Left (字串C,數(shù)值n) right (字串C,數(shù)值n) 功能:分別從字串C的左邊或右邊截取n個(gè)字符。,2020/8/23,40,3、求子串在母串中的位置 格式:at (子串,母串,數(shù)值n) atc (子串,母串,數(shù)值n) 功能:返回子串在母串中第n次出現(xiàn)的位置 注:1)省略數(shù)值n,則表示第1次出現(xiàn)的位置; 2)區(qū)別:at 區(qū)分大小寫(xiě) atc不區(qū)分大小寫(xiě),2020/8/23,41,4、生成空格 格式:space ( 數(shù)值n ) 功能:生成n個(gè)空格的字串 5、重復(fù)生成字符串 格式:repl
19、icate(字串C,數(shù)值n) 功能:將該字符串重復(fù)生成n次 6、去空格函數(shù) 格式:alltrim (字串C) 功能:去除字串C的首尾空格 附:Ltrim(字串C) Rtrim(字串C) 功能:分別去除字串C左邊或右邊空格,2020/8/23,42,7、Occurs函數(shù) 格式:Occurs (子串,母串) 功能:返回子串在母串中出現(xiàn)的次數(shù) 8、Stuff 函數(shù) 格式:Stuff(串1,起始位置,長(zhǎng)度,串2) 功能:用串2替換串1中的由起始位置指定的長(zhǎng)度的字串。 9、Like函數(shù) 格式:Like (字串1,字串2) 功能:將串1與串2中所有的字符進(jìn)行對(duì)應(yīng)比較,匹配返回.t. ,否則返回.f. 注:
20、串1中可包含通配符 ? 和 *,2020/8/23,43,9、大小寫(xiě)轉(zhuǎn)換函數(shù) 格式:Upper ( 字串C ) 小寫(xiě)轉(zhuǎn)換大寫(xiě) Lower ( 字串C ) 大寫(xiě)轉(zhuǎn)換小寫(xiě),2020/8/23,44,三、日期時(shí)間函數(shù),Date( ):返回當(dāng)前的日期 Time( ):返回當(dāng)前的時(shí)間 Datetime( ):返回當(dāng)前的日期時(shí)間 Year(日期):取出日期中的年份值 Month(日期):取出日期中的月份值 Day(日期):取出日期中的日份值Dow(日期):返回該日期是一個(gè)星期中的第幾天 Cdow(日期):返回今天是星期幾的英文字串 Cmonth(日期):返回英文月份值 Week(日期):返回該日期是處于一
21、年中的第幾個(gè)星期,2020/8/23,45,四、表操作函數(shù) Bof ( ):判斷記錄指針是否指向表頂 (第1條記錄上方) Eof ( ):判斷指針是否指向表底 Recn ( ):返回當(dāng)前指針?biāo)ㄎ坏挠涗浱?hào) Recc ( ):返回表中記錄總數(shù) Delete ( ):判斷當(dāng)前記錄是否被邏輯刪除 Dbf ( ):返回當(dāng)前表的路徑和表名 Fields ( 數(shù)值n):返回第n個(gè)字段名,2020/8/23,46,五、類(lèi)型轉(zhuǎn)換函數(shù),1、str函數(shù)和val函數(shù) str ( 數(shù)值n , 寬度 , 小數(shù)位數(shù)) NC val ( 字符串 ) CN 功能:N型與C型互轉(zhuǎn) 注:str函數(shù)不輸入小數(shù)位數(shù),返回整數(shù);不輸入
22、寬度,寬度默認(rèn)為十。,2020/8/23,47,2、Asc函數(shù)和Chr函數(shù) 格式:Asc ( 字符串 )CN Chr ( 數(shù)值 )NC 功能:ASCII值與ASCII字符互轉(zhuǎn)。 3、Ctod函數(shù)和Dtoc函數(shù) 格式:Ctod ( 字符串 )CD Dtoc ( 日期 )DC 功能:C型與D型互轉(zhuǎn),2020/8/23,48,六、其它函數(shù),1、宏替換函數(shù) 格式:&字符串變量名 功能:取出字符型變量值 2、判斷表達(dá)式的類(lèi)型 格式:type ( “ 表達(dá)式 ” ) 功能:返回表達(dá)式的類(lèi)型 例:C、N、D、L、T、Y、U 注:定界符嵌套使用時(shí),應(yīng)避免重復(fù)。,2020/8/23,49,3、iif函數(shù) 格式:
23、iif ( 條件表達(dá)式,值1,值2 ) 功能:判斷表達(dá)式是否成立決定返回值1或值2 4、Between函數(shù) 格式:Between ( 表達(dá)式1,表達(dá)式2,表達(dá)式3) 功能:表達(dá)式1在表達(dá)式2與表達(dá)式3之間時(shí),返 回.t. ,否則返回.f.。 5、空值測(cè)試函數(shù) 格式:Isnull ( 表達(dá)式) 功能:返回表達(dá)式的運(yùn)算結(jié)果是否為null值,是則返回.t. ,否則返回 .f.,2020/8/23,50,?Len ( substr ( “window” , 3 , 3)+min ( 0 , 1 , -1) ?mod ( abs(-8),int ( 3.73)+atc(“E”,“Office”) ?lt
24、rim(space(2)+repl(“*”,3)+right(“monday”,3) ?round(23.3,-1)+max(4,5,6,7) ?occurs(“net”,“Internet”)+day(date() ?str( asc(A),3 )+chr(48) ?val(subs(“奔騰586”,5,1)*len(“visual foxpro”),2020/8/23,51,第四章數(shù)據(jù)庫(kù)與SQL,第一節(jié) 數(shù)據(jù)庫(kù) Visual FoxPro是一個(gè)完整的關(guān)系數(shù)據(jù)庫(kù),由表和視圖組成,可以為表設(shè)立各種規(guī)則、觸發(fā)器,也可以建立表之間永久關(guān)系和參照完整性。 創(chuàng)建數(shù)據(jù)庫(kù):Create database
25、庫(kù)名 打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器:Modify database 注:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器時(shí)會(huì)添加“數(shù)據(jù)庫(kù)”菜單和“數(shù)據(jù)庫(kù)設(shè)計(jì)器”工具欄。 數(shù)據(jù)庫(kù)文件擴(kuò)展名:Dbc 同名的備注文件:Dct 表文件分類(lèi): 1)自由表:與其它表之間無(wú)任何聯(lián)系,也不屬于任何數(shù)據(jù)庫(kù); 2)數(shù)據(jù)庫(kù)表:存在于數(shù)據(jù)庫(kù)中。,2020/8/23,52,數(shù)據(jù)庫(kù)表的來(lái)源: 1)在數(shù)據(jù)庫(kù)中新建表 2)將自由表添加到數(shù)據(jù)庫(kù)中 注:一個(gè)庫(kù)可含有若干個(gè)自由表,但一個(gè)自由表只能屬于一個(gè)庫(kù)。 關(guān)閉數(shù)據(jù)庫(kù):Close database all 打開(kāi)數(shù)據(jù)庫(kù):Open database 庫(kù)名 刪除數(shù)據(jù)庫(kù):Delete database 庫(kù)名 deletetabl
26、es deletetables刪除庫(kù)的同時(shí)也將刪除庫(kù)中的表。 狀態(tài)欄:xsda ( student ! xsda ) 表名庫(kù)名 表名,2020/8/23,53,二、數(shù)據(jù)庫(kù)表的操作 數(shù)據(jù)庫(kù)表的操作與自由表基本一樣,它在數(shù)據(jù)庫(kù)設(shè)計(jì)器中以獨(dú)立的小窗口顯示,在標(biāo)題欄上單擊右鍵,通過(guò)右鍵菜單對(duì)表進(jìn)行各種操作。 瀏覽:打開(kāi)表的瀏覽窗口 移去:將表移出數(shù)據(jù)庫(kù)或從磁盤(pán)上刪除 折疊(展開(kāi)):使窗口位于折疊或展開(kāi)狀態(tài) 修改:打開(kāi)表設(shè)計(jì)器,2020/8/23,54,三、數(shù)據(jù)庫(kù)表設(shè)計(jì)器,1、顯示區(qū)域 格式:顯示風(fēng)格 I 居中顯示 $ 在數(shù)值前顯示$符號(hào) ! 字母小寫(xiě)轉(zhuǎn)大寫(xiě) A 僅允許輸入字母 輸入掩碼:控制輸入格式
27、9 僅允許輸入數(shù)字 標(biāo)題:輸出標(biāo)題(不可超過(guò)128個(gè)字符),2020/8/23,55,2、字段有效性 規(guī)則:輸入 該字段值時(shí),所應(yīng)遵循的規(guī)則 信息:違反規(guī)則時(shí)的提示信息 默認(rèn)值:提高輸入速度 例:控制表中“性別”字段值 規(guī)則:性別=“男” or 性別=“女” 信息:“性別只能為男或女” 默認(rèn)值:“女”,2020/8/23,56,3、長(zhǎng)表名 對(duì)表有著列更好的注釋作用 設(shè)置的長(zhǎng)表名將會(huì)在數(shù)據(jù)庫(kù)設(shè)計(jì)器中顯示,但并不改變磁盤(pán)上的文件名 4、記錄有效性 針對(duì)于記錄中字段與字段之間的邏輯關(guān)系 例:年齡字段與出生日期字段 教授 工資3000元 副教授工資2000元,2020/8/23,57,5、觸發(fā)器 向表
28、中插入、更新、刪除記錄時(shí)所觸發(fā)的規(guī)則 1)插入 例:要求僅允許每月2531號(hào)向表中插 入記錄 2)更新 例:要求僅允許更新非團(tuán)員記錄 3)刪除 例:僅允許刪除第十條以后的記錄,2020/8/23,58,第二節(jié)索引 一、索引的概念 為表中的記錄提供按某種邏輯順序來(lái)排列的方法 二、索引文件的類(lèi)型 單項(xiàng)索引文件(.idx) 復(fù)合型索引文件(.cdx) 注:?jiǎn)雾?xiàng)索引是為了同其它軟件的兼容而保留的 在表設(shè)計(jì)器建立的索引,均保存在結(jié)構(gòu)化復(fù)合型索引文件中,隨著表文件的打開(kāi)、關(guān)閉而自動(dòng)打開(kāi)、關(guān)閉。,結(jié)構(gòu)化(與表同名),非結(jié)構(gòu)化(與表不同名),2020/8/23,59,三、索引的建立 表設(shè)計(jì)器“索引”選項(xiàng)卡 索
29、引名:用以區(qū)別各個(gè)索引 排序:點(diǎn)擊選擇升序或降序 表達(dá)式:索引將按其表達(dá)式的值來(lái)排列 類(lèi)型:1)主索引2)候選索引 3)唯一索引4)普通索引 索引類(lèi)型區(qū)別: 索引名存在表個(gè)數(shù)重復(fù)值 主索引數(shù)據(jù)庫(kù)表1個(gè)不允許重復(fù)值 候選索引任何表多個(gè)不允許重復(fù)值 唯一索引任何表多個(gè)允許重復(fù),但僅顯示重復(fù)值第一條記錄 普通索引任何表多個(gè)允許重復(fù),并顯示所有重復(fù)記錄,2020/8/23,60,注:1)在表設(shè)計(jì)器“字段”選項(xiàng)卡中所建立的索引,默認(rèn)為普通索引; 2)表打開(kāi)時(shí),表中記錄按原記錄號(hào)順序排列,可以在工作區(qū)屬性窗口中設(shè)立主控索引。 主控索引:在眾多索引中,對(duì)當(dāng)前記錄有效的索引。 設(shè)置方法:表屬性索引順序,202
30、0/8/23,61,四、命令設(shè)置 1)建立結(jié)構(gòu)化復(fù)合型索引 格式:Index on 索引表達(dá)式 tag 索引標(biāo)識(shí) Asce/DescUniqueCandidate 索引表達(dá)式即索引關(guān)鍵字 索引標(biāo)識(shí)可以是字母、漢字(不可為數(shù)字) Asce:升序Desc:降序 Unique:唯一索引Candidate:候選索引 2)設(shè)置主控索引 格式:Set order to 索引標(biāo)識(shí) 關(guān)閉:Set order to,2020/8/23,62,附:?jiǎn)雾?xiàng)索引文件 idx 一個(gè)單項(xiàng)索引即為一個(gè)單項(xiàng)索引文件 格式:Index on 關(guān)鍵字 to 單項(xiàng)索引文件名 注:?jiǎn)雾?xiàng)索引文件不會(huì)隨表文件的打開(kāi)而打開(kāi) 打開(kāi)格式:Set
31、 index to 文件名,2020/8/23,63,五、排序 格式:Sort on 字段名1/A/D/C ,字段名2 to 新表名 功能:將表中的記錄先按字段名1指定的順序排列,當(dāng)字段名1出現(xiàn)重復(fù)值時(shí),再將重復(fù)值按字段名2指定順序排列,排序結(jié)果存入一個(gè)新表中。 /A升序/D降序/C不區(qū)分大小寫(xiě) 注:備注型、通用型字段不參加排序。,2020/8/23,64,第二節(jié)SQL語(yǔ)言 全稱(chēng):結(jié)構(gòu)化查詢(xún)語(yǔ)言 StructuredQuery Language 三大功能:數(shù)據(jù)定義、數(shù)據(jù)維護(hù)、數(shù)據(jù)查詢(xún) 一、數(shù)據(jù)定義 1、建表 格式:Create table 表名(字段列表) 字段列表:字段名1 類(lèi)型標(biāo)識(shí)(寬度)
32、,字段名2 類(lèi)型標(biāo)識(shí)(寬度) 主索引:Primary key 自由表:Free 范圍:Check 錯(cuò)誤信息:Error 默認(rèn)值:default,2020/8/23,65,2、表結(jié)構(gòu)的維護(hù) 添加字段:Alter table 表名 add 字段名 類(lèi)型標(biāo)識(shí)(寬度) 刪除字段:Alter table 表名 drop 字段名 更改寬度:Alter table 表名 alter 字段名 類(lèi)型標(biāo)識(shí)(新的寬度) 3、刪除表 格式:Drop table 表名 三、數(shù)據(jù)維護(hù) 一、插入記錄 格式:Insert into 表名(字段列表) value(值列表) 注:1)Value 語(yǔ)句中的值與字段列表類(lèi)型應(yīng)對(duì)應(yīng)匹配
33、 2)若向表中插入一條完整記錄,則可以省略字段列表 3)SQL-Insert向表尾插入記錄,2020/8/23,66,2、更新記錄 格式:Update 表名 set 字段名1=表達(dá)式1,字段名2=表達(dá)式2Where條件 注:省略Where條件,則泛指所有記錄,反之,則用表達(dá)式的值來(lái)更新指定字段值。 3、刪除記錄 格式:Delete from 表名 where 條件,2020/8/23,67,第五章查詢(xún)與統(tǒng)計(jì) 第一節(jié)邏輯表的設(shè)置 從源表中選擇部份記錄、字段進(jìn)行操作,邏輯表本身并不是一個(gè)實(shí)際的表。 一、邏輯表的建立 表屬性工作區(qū)屬性窗口,2020/8/23,68,1、數(shù)據(jù)過(guò)濾器 設(shè)置過(guò)濾條件,選擇
34、在邏輯表中顯示的記錄 2、字段篩選 設(shè)置在邏輯表中顯示的字段 1)先通過(guò)篩選按鈕,選擇需要的字段 2)選擇“字段篩選指定的字段”,選擇記錄,選擇字段,2020/8/23,69,注:1)邏輯表設(shè)置成功后,表中的原記錄號(hào)不變go top 不一定等于go 1; 2) 對(duì)邏輯表的任何操作只對(duì)邏輯表中的記錄有效,被隱藏的記錄不參加操作; 3)當(dāng)關(guān)閉源表后,邏輯表也隨之消失,即指邏輯表的設(shè)置只在當(dāng)前有效。 命令設(shè)置: 1)選擇記錄 Set filter to 條件 關(guān)閉:Set filter to 2)篩選字段 Set fields to 字段列表 關(guān)閉:Set fields off,2020/8/23,
35、70,第二節(jié)查詢(xún)命令 按指定的條件在表中查找所需的記錄 例:查找王二的記錄 List/browse/display for 姓名=“王二” 一、順序查詢(xún) 格式:Locate for 條件 范圍 Locate 查詢(xún)并定位到查詢(xún)到的記錄 判斷是否找到found( ) 繼續(xù)查找continue,2020/8/23,71,二、索引查詢(xún) 查詢(xún)前必須對(duì)表進(jìn)行排序或索引 格式:Seek 表達(dá)式的值 注:Locate 查找利用條件表達(dá)式,而Seek 則是利用表達(dá)式的值。,2020/8/23,72,第三節(jié)統(tǒng)計(jì)命令 1、計(jì)數(shù)命令 格式:Count for 條件to 變量名 功能:統(tǒng)計(jì)表中記錄總數(shù) to 變量名將統(tǒng)
36、計(jì)結(jié)果保存到指定變量中 Count 與Recc( )的區(qū)別: Set dele on 刪除的記錄不參加操作 Set dele off 刪除的記錄參加操作 不論on、off均不影響Recc( )函數(shù)的值,2020/8/23,73,2、求和 格式:Sum 數(shù)值型字段 to 變量名for 條件 功能:對(duì)數(shù)值型字段進(jìn)行求和 3、求平均數(shù) 格式:Average 數(shù)值型字段 for 條件to 變量名 功能:對(duì)數(shù)值型字段進(jìn)行求平均數(shù) 4、分類(lèi)求和 格式:Total on 分類(lèi)字段名 to 新表名 fields 字段表 分類(lèi)求和前必須先按分類(lèi)字段名進(jìn)行排序或索引 fields 字段表指定參加分類(lèi)匯總的字段 注
37、:對(duì)非數(shù)值型字段,只將關(guān)鍵字值相同的第一條記錄的字段值放入該記錄,2020/8/23,74,第四節(jié)數(shù)據(jù)工作期 一、多工作區(qū)的概念 1)VFP提供了32767個(gè)工作區(qū); 2)一個(gè)工作區(qū)只能打開(kāi)一個(gè)表,反之,一個(gè)表只能在一個(gè)工作區(qū)打開(kāi); 3)各個(gè)工作區(qū)獨(dú)立工作,互不干擾。 注:VFP啟動(dòng)后,系統(tǒng)默認(rèn)在1號(hào)工作區(qū)對(duì)表操作。 選擇工作區(qū):Select 區(qū)號(hào)/別名 區(qū)號(hào):132767 別名:前10個(gè)工作區(qū)對(duì)應(yīng)字母表中的前10 個(gè)字母 12310 ABCJ,2020/8/23,75,Select( ):返回工作區(qū)號(hào) Select 0:當(dāng)前未使用的最小工作區(qū) Close all :關(guān)閉所有工作區(qū),當(dāng)前工作區(qū)
38、為1號(hào)工作區(qū)。 注:各工作區(qū)獨(dú)立工作,互不干擾,若需要實(shí)現(xiàn)記錄指針的互動(dòng)需建立關(guān)聯(lián)。 二、建立關(guān)聯(lián) 目的:為了實(shí)現(xiàn)表間記錄指針的互動(dòng)。 1、父表與子表 子表的記錄指針按關(guān)鍵字相等的原則隨父表指針的移動(dòng)而移動(dòng) 關(guān)鍵字:父表與子表共有的字段 注:建立關(guān)聯(lián)前,必須給子表的關(guān)鍵字段建立索引,2020/8/23,76,關(guān)聯(lián)格式: Set relation to 關(guān)鍵字段 into 子工作區(qū)別名 additive additive在建立第二次關(guān)聯(lián)的同時(shí),保留第一次關(guān)聯(lián)。 三、數(shù)據(jù)工作期 窗口數(shù)據(jù)工作期 打開(kāi):Set view on 關(guān)閉:Set view off,2020/8/23,77,第五節(jié)表間永久關(guān)
39、系及參照完整性 一、建立表間的永久關(guān)系 永久性關(guān)系只存在于數(shù)據(jù)庫(kù)表中,永久性關(guān)系在數(shù)據(jù)庫(kù)設(shè)計(jì)器中顯示為表間的索引連接線(xiàn),在此基礎(chǔ)上,可以設(shè)立數(shù)據(jù)庫(kù)表間的參照完整性。 方法: 1)為父表與子表相同的關(guān)鍵字建立索引,并且父表只能為主索引或候選索引; 2)按住父表的索引拖到子表相應(yīng)的索引上即可,父表與子表之間的索引連線(xiàn)即標(biāo)志著永久關(guān)系已建立。,2020/8/23,78,一對(duì)一關(guān)系 永久性關(guān)系分為 一對(duì)多關(guān)系 關(guān)系的類(lèi)型取決于子表索引類(lèi)型 主索引、候選索引(一對(duì)一) 子表索引 普通索引、唯一索引(一對(duì)多) 二、刪除永久關(guān)系 單擊選定索引連線(xiàn),單擊右鍵,選擇“刪除關(guān)系”或按Del鍵,2020/8/23,
40、79,三、參照完整性(RI) 設(shè)立數(shù)據(jù)庫(kù)中表與表之間的規(guī)則 設(shè)置參照完整性之前,必須清理數(shù)據(jù)庫(kù) 方法:數(shù)據(jù)庫(kù)清理數(shù)據(jù)庫(kù) 選定永久性關(guān)系連線(xiàn), 單擊右鍵,選擇“編輯參照完整性” 更新規(guī)則刪除規(guī)則插入規(guī)則 級(jí)聯(lián)子表記錄隨父表子表記錄隨父表 更新而自動(dòng)更新刪除而自動(dòng)刪除 限制 子表相關(guān)記錄子表相關(guān)記錄 父表中沒(méi)有的記 禁止父表更新禁止父表刪除 錄禁止子表插入 忽略獨(dú)立操作,互不干擾,2020/8/23,80,第六節(jié)SQL查詢(xún) 一、基本的SQL查詢(xún) 格式:Select 字段列表 from 表名 where 條件 Select 字段表:查詢(xún)輸出字段 From 表名:指定查詢(xún)?cè)幢?Where 條件:指定查
41、詢(xún)條件 注:1)輸出所有字段可用*表示 2)查詢(xún)結(jié)果默認(rèn)在瀏覽窗口中輸出 二、若干子句 1、order by 子句 查詢(xún)結(jié)果按某一字段值升序或降序排列 Asc 升序Desc 降序,2020/8/23,81,2、top子句 top n查詢(xún)結(jié)果顯示前n條記錄 top n percent 查詢(xún)結(jié)果顯示百分之n記錄 3、group by 子句 查詢(xún)結(jié)果按某字段值分組 4、having 子句 用于group by子句后面,對(duì)分組后的記錄進(jìn)行篩選 5、distinct 子句 去掉查詢(xún)結(jié)果中重復(fù)的記錄,2020/8/23,82,三、輸出去向 1)Into dbf/table 表名 查詢(xún)結(jié)果輸出到表文件中 2
42、)Into Cursor 表名 查詢(xún)結(jié)果輸出到臨時(shí)表中 3)into array 數(shù)組名 查詢(xún)結(jié)果輸出到數(shù)組 4)to file 文本文件.txt 查詢(xún)結(jié)果輸出到文本文件 四、SQL函數(shù) count( ) sum( ) avg( ) max( ) min( ),2020/8/23,83,附: 1)As子句 更新查詢(xún)結(jié)果中字段名 2)In 語(yǔ)句 格式:字段名 In(字段值列表) 3)Between語(yǔ)句 格式:字段名 Beween下限 and 上限 四、嵌套查詢(xún),2020/8/23,84,六、多表查詢(xún) 在涉及多表查詢(xún)時(shí),首先要給出表之間的聯(lián)接條件 聯(lián)接的四種類(lèi)型: 內(nèi)部聯(lián)接(Inner Join)
43、:查詢(xún)結(jié)果中包含兩表中滿(mǎn)足條件的記錄 左聯(lián)接(Left Join):查詢(xún)結(jié)果中包含左表中全部記錄和右表中滿(mǎn)足條件記錄 右聯(lián)接(Right Join):查詢(xún)結(jié)果中包含右表中全部記錄和左表中滿(mǎn)足條件記錄 完全聯(lián)接(Full Join):兩表中全部記錄,2020/8/23,85,第七節(jié)查詢(xún)?cè)O(shè)計(jì)器 1、建立 文件新建查詢(xún)(.Qpr) Create Query 文件名.qpr 2、查詢(xún)?cè)O(shè)計(jì)器 上半部份:顯示查詢(xún)?cè)幢?下半部份:設(shè)置查詢(xún) 字段:查詢(xún)輸出字段(select) 聯(lián)接:多表查詢(xún)時(shí)指定的聯(lián)接條件 篩選:查詢(xún)條件(where) 排序依據(jù):order by 分組依據(jù):group by,2020/8/2
44、3,86,3、輸出去向 瀏覽、臨時(shí)表、表、圖形、屏幕、報(bào)表、標(biāo)簽 運(yùn)行查詢(xún)文件:Do 查詢(xún)文件名.qpr 注:必須帶擴(kuò)展名,2020/8/23,87,第八節(jié)視圖(.vue) 一、視圖的概念 1、視圖存在于數(shù)據(jù)庫(kù)中,根據(jù)數(shù)據(jù)源的位置可分為本地視圖和遠(yuǎn)程視圖; 2、視圖是一個(gè)虛擬表,視圖中的數(shù)據(jù)通過(guò)SQL語(yǔ)言從數(shù)據(jù)庫(kù)表或其它視圖中抽配得來(lái)的。 二、視圖設(shè)計(jì)器 視圖設(shè)計(jì)器和查詢(xún)?cè)O(shè)計(jì)器基本一樣,所不同的是多了一個(gè)“更新條件”選項(xiàng)卡,視圖能否更新源表中的記錄,主要在于是否選擇“發(fā)送SQL更新”。,2020/8/23,88,第六章結(jié)構(gòu)化程序設(shè)計(jì) 第一節(jié)程序文件的建立與執(zhí)行 程序文件由若干命令組成,也稱(chēng)為命
45、令文件 一、程序文件的建立與修改 文件新建程序 命令:Modify Command 程序文件名(.prg) 二、執(zhí)行程序文件 Do 程序文件名 三、舉例,2020/8/23,89,第二節(jié)基本的輸入輸出 一、Input 命令 格式:Input “提示串” to 變量名 功能:接受用戶(hù)輸入C、D、N、L型數(shù)據(jù),輸入時(shí),遵循相應(yīng)的數(shù)據(jù)類(lèi)型格式,將其值保存到指定的變量中。 注:可以接受表達(dá)式 二、Accept 命令 格式:Accept “提示串” to 變量名 注:接受用戶(hù)輸入任何內(nèi)容,系統(tǒng)將全部作為字符串保存到指定變量中。,2020/8/23,90,三、Wait 命令 格式:Wait “提示串”to
46、 變量名 timeout 秒數(shù) window 功能:接受用戶(hù)輸入一個(gè)單字符 四、輸出 格式:?/? 表達(dá)式at 列數(shù)font “字體名” , 大小 style “I/B/U” 注:? 換行顯示 ?同行顯示,2020/8/23,91,附:Messagebox 函數(shù) 格式: Messagebox(“信息文本”,對(duì)話(huà)框類(lèi)型,“對(duì)話(huà)框標(biāo)題”) 對(duì)話(huà)框類(lèi)型:按鈕+圖標(biāo)+焦點(diǎn) 按鈕:0 確定 1 確定 取消 2 放棄 重試 忽略 3 是 否 取消 4 是 否 5 重試 取消 圖標(biāo):16 32 ? 48 ! 64 i,2020/8/23,92,焦點(diǎn):128 第一個(gè)按鈕 256 第二個(gè)按鈕 512第三個(gè)按鈕
47、返回值:確定1 取消2 放棄3 重試4 忽略5 是6 否7,2020/8/23,93,五、注釋 提高程序的可讀性 * 單獨(dú)一行注釋 & 一行語(yǔ)句后面的注釋,2020/8/23,94,第三節(jié)基本環(huán)境狀態(tài)設(shè)置 一、狀態(tài)欄的打開(kāi)與關(guān)閉 打開(kāi)/關(guān)閉Set status bar on/off 二、主菜單的打開(kāi)與關(guān)閉 關(guān)閉:Set sysmenu to 打開(kāi):Set sysmenu to default 三、對(duì)話(huà)狀態(tài)的打開(kāi)與關(guān)閉 (主窗口、狀態(tài)欄是否顯示相關(guān)操作信息) Set talk on /off 四、回顯控制 Set console on/off 五、顏色設(shè)置 Set Color to rgb( )
48、 Rgb()函數(shù)帶有6個(gè)參數(shù),前3個(gè)是前景色,后3個(gè)為背景色,2020/8/23,95,第四節(jié)程序的三種基本結(jié)構(gòu) 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) 一、順序結(jié)構(gòu) 由上而下,逐條執(zhí)行 二、選擇結(jié)構(gòu) 1、條件判斷 格式:if 語(yǔ)句序列1 else 語(yǔ)句序列2 endif 根據(jù)條件的成立與否,決定執(zhí)行語(yǔ)句序列1或語(yǔ)句序列2。,2020/8/23,96,2、多重分支結(jié)構(gòu) 格式:Do case case 條件1 語(yǔ)句序列1 case條件2 語(yǔ)句序列2 otherwise 語(yǔ)句序列k Endcase 由上而下逐個(gè)條件判斷,執(zhí)行第一個(gè)滿(mǎn)足case條件的語(yǔ)句序列后返回Endcase語(yǔ)句 注:Otherwise語(yǔ)句
49、在以上條件都不成立的情況 下執(zhí)行。,2020/8/23,97,三、循環(huán)結(jié)構(gòu) For 循環(huán)、Do While 循環(huán)、Scan 循環(huán) 循環(huán)特點(diǎn):重復(fù)執(zhí)行相同的操作 1、for 循環(huán) 格式: for 循環(huán)變量=初值 to 終值 step 步長(zhǎng)值 循環(huán)體語(yǔ)句 endfor,2020/8/23,98,2、Do While 循環(huán) 格式:Do While 循環(huán)體語(yǔ)句 EndDo Do While 循環(huán)每次執(zhí)行都要判斷條件是否成立,以決定是否繼續(xù)下一次循環(huán)。 附:永真循環(huán):條件永遠(yuǎn)成立,通常在循環(huán)體中加入exit語(yǔ)句結(jié)束循環(huán)。 exit跳出循環(huán) loop結(jié)束本次循環(huán),返回循環(huán)體的頭部,對(duì)條件重新判斷以決定是否
50、繼續(xù)循環(huán)。,2020/8/23,99,3、Scan 循環(huán) 格式:Scan 范圍for 條件/while條件 循環(huán)體語(yǔ)句 Endscan 注:省略范圍、條件,即對(duì)所有記錄進(jìn)行循環(huán)體操作。 4、嵌套循環(huán),2020/8/23,100,第五節(jié)數(shù)組 一、數(shù)組的定義和使用 數(shù)組指具有相同的名字,僅下標(biāo)不同的變量的集合。 例:a(1)a(2)a(3) 注:1)數(shù)組使用前必須先定義; 定義格式:dimension 數(shù)組名(最大下標(biāo)) 數(shù)組的最大下標(biāo)決定了數(shù)組中元素個(gè)數(shù) 2)數(shù)組定義后,數(shù)組元素均默認(rèn)為邏輯值.F.; 3)可以直接用數(shù)組名給所有元素賦予同一個(gè)值,并且數(shù)組中的成員可以單獨(dú)使用;,2020/8/23
51、,101,4)數(shù)組不可以越界訪(fǎng)問(wèn)。 例:數(shù)組編程 二、數(shù)組與記錄的交換 Scatterto數(shù)組名(記錄數(shù)組) gatherfrom 數(shù)組名 (數(shù)組記錄) 三、三維數(shù)組 1、定義與使用 Dimension 數(shù)組名(行標(biāo),列標(biāo)) 二維數(shù)組元素個(gè)數(shù)=行標(biāo)*列標(biāo) 注:可以用一維數(shù)組的訪(fǎng)問(wèn)方式來(lái)訪(fǎng)問(wèn)二維數(shù)組中的元素,2020/8/23,102,2、二維數(shù)組與表中數(shù)據(jù)交換 Copy to array 數(shù)組名 (數(shù)組記錄) Append from array 數(shù)組名(向表尾追加),2020/8/23,103,第六節(jié)多模塊程序 應(yīng)用程序通常由多個(gè)程序模塊組成,如:子程序、主程序、自定義函數(shù)等。 程序模塊之間可
52、以互相調(diào)用。 一、主程序、子程序 調(diào)用程序?yàn)橹鞒绦?被調(diào)用的程序?yàn)樽映绦?1、程序文件間可以互相調(diào)用 調(diào)用方法:Do 程序文件名,2020/8/23,104,2、程序間的多級(jí)調(diào)用 返回上一級(jí)程序:Return 返回最高主程序:Return to master 返回指定程序:Return to 程序名 附:程序控制語(yǔ)句 Cansel:強(qiáng)行終止程序,返回命令窗口 Suspend:暫停、掛起 Resume:繼續(xù)執(zhí)行,2020/8/23,105,二、過(guò)程與過(guò)程文件 1、程序就是過(guò)程,通常將程序中的某段代碼分離出來(lái),作為一個(gè)模塊保存 2、過(guò)程文件的格式 Procedure 過(guò)程1 過(guò)程代碼1 retur
53、n procedure過(guò)程2 過(guò)程代碼2 return,2020/8/23,106,建立過(guò)程文件:ModifyCommand 過(guò)程文件名 調(diào)用:Set Procedure to 過(guò)程文件名 調(diào)用子程序:Do 過(guò)程名 關(guān)閉過(guò)程文件:Set procedure to 三、參數(shù)傳遞 1、帶入口參數(shù)的程序 1)程序的第一行接受參數(shù)值 Parameter參數(shù)列表 2)在命令窗口中調(diào)用 Do 程序名with 值列表,2020/8/23,107,三、參數(shù)傳遞 1、帶入口參數(shù)的程序 1)程序的第一行接受參數(shù)值 Parameter參數(shù)列表 2)在命令窗口中調(diào)用 Do 程序名with 值列表 2、實(shí)參與形參 1)
54、實(shí)參可以是常量、變量、表達(dá)式,調(diào)用時(shí)將其值傳遞給形參; 2)形參的數(shù)目不可以少于實(shí)參的數(shù)目;如果形參的數(shù)目多于實(shí)參的數(shù)目,多余的形參取邏輯值.f.。,2020/8/23,108,四、自定義函數(shù) 用戶(hù)自己定義的函數(shù),自定義的函數(shù)名不可以和VFP系統(tǒng)函數(shù)或內(nèi)存變量同名。 格式:Function 函數(shù)名 parameters 參數(shù)表 . return 值,2020/8/23,109,五、變量的作用域 全局變量(public):在命令窗口以及程序模塊中使用的變量 私有變量(private):僅供自身程序以及子程序使用的變量 局部變量(local):只能在自身程序中使用,2020/8/23,110,第七
55、章面向?qū)ο蟪绦蛟O(shè)計(jì) 第一節(jié)表單的建立與執(zhí)行 一、建立 1、文件新建表單 Create form 表單名 表單文件擴(kuò)展名 .scx 備注文件擴(kuò)展名 .sct 2、界面組成 表單設(shè)計(jì)器、屬性窗口、表單控件工具箱,2020/8/23,111,二、執(zhí)行 1、單擊工具欄上的運(yùn)行按鈕 2、“表單”中的“執(zhí)行表單” 3、Ctrl+E 第二節(jié)基本概念與語(yǔ)法 一、對(duì)象 表單設(shè)計(jì)器中每一個(gè)可視化的控件,包括表單本身都是對(duì)象。 對(duì)象分為兩種:容器對(duì)象與控件對(duì)象 能包含其它對(duì)象的對(duì)象為容器對(duì)象,反之,則為控件對(duì)象。,2020/8/23,112,在面向?qū)ο缶幊讨?,屬性用?lái)表示對(duì)象的狀態(tài),方法和事件用來(lái)描述對(duì)象的行為,2
56、020/8/23,113,二、屬性,對(duì)象組合框,取消,確定,表達(dá)式生成器,屬性名,屬性值,屬性賦值框,屬性注釋,2020/8/23,114,三、事件 用戶(hù)或系統(tǒng)觸發(fā)的某一個(gè)特定的操作。 Init事件:創(chuàng)建對(duì)象同時(shí)引發(fā) Click 事件:鼠標(biāo)左鍵單擊對(duì)象時(shí)引發(fā) GotFocus事件:對(duì)象獲得焦點(diǎn)時(shí)引發(fā) Destroy事件:釋放對(duì)象時(shí)引發(fā) Load事件:創(chuàng)建對(duì)象之前引發(fā) 四、方法 系統(tǒng)內(nèi)定的通用過(guò)程,能使對(duì)象執(zhí)行一個(gè)特定的操作。 Release 方法:釋放 Refresh方法:刷新 Setfocus方法:獲取焦點(diǎn),2020/8/23,115,五、基本語(yǔ)法 打開(kāi)代碼窗口 1)雙擊打開(kāi)代碼窗口 2)“
57、顯示”菜單代碼 3)右鍵菜單代碼 格式:表單名.對(duì)象名.屬性名=屬性值,2020/8/23,116,第三節(jié)表單及控件 一、表單(Form) 1、屬性 Caption 標(biāo)題 MinBotton 最小化按鈕 MaxBotton 最大化按鈕 Backcolor 背景色 Windowstate 0-普通(默認(rèn)?。?1-最大化 2-最小化 Desktop.t.最大化狀態(tài)與桌面相同大小 .f. 最大化狀態(tài)在VFP窗口中,2020/8/23,117,2、事件 Load事件、Init事件、Keypress事件、Mousemove事件、Destroy事件、Click 事件、Dblclick事件、Rightcli
58、ck事件。 3、方法 Release方法、Refresh方法、Show方法、Hide方法,2020/8/23,118,二、標(biāo)簽(Label) 用于在表單上顯示一段文本。 屬性:Caption:標(biāo)題文本 Fontname:字體名 Fontsize:字體大小 Backcolor:背景色 Forecolor:前景色 Backstyle:0-透明 1-不透明 Name:對(duì)象名 Visible:對(duì)象是否可見(jiàn) Alignment:文本對(duì)齊方式 Autosize:自動(dòng)調(diào)整控件大小以適應(yīng)文本內(nèi)容,2020/8/23,119,三、按鈕(Command) 屬性:Caption:按鈕標(biāo)題 Picture:按鈕圖片
59、Default:按Enter鍵執(zhí)行 Cancel:按Esc鍵執(zhí)行 Enabled:對(duì)象是否可用 四、文本框(text) 用于接收輸入和顯示輸出 屬性:Value:值 Readonly:對(duì)象是否為只讀 例:程序三、程序四,2020/8/23,120,Label1、2、3,Text1、2、3,寬度:280px,高度:170px,2020/8/23,121,Label1、2,Command1、2,Text1、2,2020/8/23,122,Label1,Command1,Command2,2020/8/23,123,Cmd1,Cmd2,Label1,2020/8/23,124,五、編輯框(Edit) 可用于顯示多行文本 屬性:Value 值 ScrollBars 0-無(wú) 1-有垂直滾動(dòng)條 Hideselection失去焦點(diǎn)時(shí),編輯框中的文本是否處于選定狀態(tài) Selstart選中文本的開(kāi)始位置 Sellength選中文本的長(zhǎng)度 Seltext 選中文本的內(nèi)容,2020/8
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 20136-2025內(nèi)燃機(jī)電站通用試驗(yàn)方法
- GB 10631-2025煙花爆竹安全與質(zhì)量
- 2026年廣東省農(nóng)業(yè)科學(xué)院作物研究所招聘科研助理人員備考題庫(kù)及1套完整答案詳解
- 2026年寧波市江北區(qū)國(guó)有資本投資控股有限公司人員招聘?jìng)淇碱}庫(kù)完整參考答案詳解
- 2026年佛山市三水區(qū)三水中學(xué)引進(jìn)高層次人才備考題庫(kù)及一套答案詳解
- 2025-2026學(xué)年廈門(mén)市翔安區(qū)逸夫小學(xué)公開(kāi)招聘非在編合同教師備考題庫(kù)及答案詳解1套
- 2026年岱山縣青少年宮公開(kāi)招聘編外人員備考題庫(kù)完整答案詳解
- 2026年中建六局總承包工程有限公司招聘?jìng)淇碱}庫(kù)及1套參考答案詳解
- 2026年廈門(mén)市嘉禾學(xué)校編外教師招聘?jìng)淇碱}庫(kù)及完整答案詳解一套
- 2026年三亞大小洞天發(fā)展有限公司招聘經(jīng)理備考題庫(kù)及1套完整答案詳解
- 建設(shè)單位項(xiàng)目安全生產(chǎn)保證體系
- 2026期末家長(zhǎng)會(huì):初三備戰(zhàn)沒(méi)有不辛苦的 教學(xué)課件
- 真空乳化設(shè)備維護(hù)與清潔操作手冊(cè)
- 2025貴州銅仁市“千名英才·智匯銅仁”本地引才413人參考筆試題庫(kù)及答案解析
- 2026年內(nèi)蒙古商貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及參考答案詳解一套
- 退贓后賠償協(xié)議書(shū)
- 法律基礎(chǔ)(西南政法大學(xué))學(xué)習(xí)通測(cè)試及答案
- 信息通信信息化系統(tǒng)管理員操作規(guī)范競(jìng)賽考核試卷含答案
- DIP支付模式下骨科臨床路徑優(yōu)化策略
- 高中生心理健康問(wèn)題分析及干預(yù)策略
- 中學(xué)語(yǔ)文美育教育論文
評(píng)論
0/150
提交評(píng)論