版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第1-7章1.第1-7章1.學(xué)習(xí)VisualFoxPro的兩個(gè)重要部分:
1.命令的使用
2.集成開(kāi)發(fā)環(huán)境的操作2.2.第1章3.第1章3.知識(shí)點(diǎn):
VisualFoxPro及其發(fā)展簡(jiǎn)史
數(shù)據(jù)管理技術(shù)
數(shù)據(jù)庫(kù)系統(tǒng)的組成
數(shù)據(jù)模型
關(guān)系的基本運(yùn)算
VisualFoxPro6.0的數(shù)據(jù)組織結(jié)構(gòu)第1章VFP與數(shù)據(jù)庫(kù)基本概念
4.知識(shí)點(diǎn):第1章VFP與數(shù)據(jù)庫(kù)基本概念4.1.1VisualFoxPro概述VisualFoxPro的發(fā)展經(jīng)歷了dBASE、FoxBASE、FoxPro和VisualFoxPro等4個(gè)主要發(fā)展階段
dBASEII1982FoxBASE1984FoxPro1989VisualFoxPro3.01995VisualFoxPro6.019985.1.1VisualFoxPro概述VisualFo1.2數(shù)據(jù)管理技術(shù)
人工管理文件系統(tǒng)數(shù)據(jù)庫(kù)管理1.2.1數(shù)據(jù)管理技術(shù)的發(fā)展6.1.2數(shù)據(jù)管理技術(shù)人工管理1.2.2數(shù)據(jù)庫(kù)系統(tǒng)的組成⒈數(shù)據(jù)庫(kù)⒉數(shù)據(jù)庫(kù)管理系統(tǒng)⒊計(jì)算機(jī)系統(tǒng)⒋用戶7.1.2.2數(shù)據(jù)庫(kù)系統(tǒng)的組成7.1.2.2數(shù)據(jù)庫(kù)系統(tǒng)的組成⒈
數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)(DataBase,DB)是統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合。這些數(shù)據(jù)以一定的結(jié)構(gòu)存放在磁盤中。其基本特點(diǎn)是:數(shù)據(jù)能夠?yàn)楦鞣N用戶共享、具有可控制的冗余度、數(shù)據(jù)對(duì)程序的獨(dú)立性以及由數(shù)據(jù)庫(kù)管理系統(tǒng)統(tǒng)一管理和控制等。⒉數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(databasemanagementsystem,DBMS)是在操作系統(tǒng)支持下工作的管理數(shù)據(jù)的軟件,是數(shù)據(jù)庫(kù)系統(tǒng)的核心。它能夠?yàn)橛脩艋驊?yīng)用程序提供訪問(wèn)數(shù)據(jù)庫(kù)的方法,包括數(shù)據(jù)庫(kù)的建立、更新、查詢、統(tǒng)計(jì)、顯示、打印及各種數(shù)據(jù)控制。
8.1.2.2數(shù)據(jù)庫(kù)系統(tǒng)的組成⒈數(shù)據(jù)庫(kù)8.1.2.2數(shù)據(jù)庫(kù)系統(tǒng)的組成⒊計(jì)算機(jī)系統(tǒng)計(jì)算機(jī)系統(tǒng)(computersystem)是指用于數(shù)據(jù)庫(kù)管理的計(jì)算機(jī)硬件、軟件系統(tǒng)。⒋用戶即與數(shù)據(jù)庫(kù)系統(tǒng)打交道的人員。通常有3種人員:①對(duì)數(shù)據(jù)庫(kù)系統(tǒng)進(jìn)行日常維護(hù)的數(shù)據(jù)庫(kù)管理員。②用數(shù)據(jù)操作語(yǔ)言和高級(jí)語(yǔ)言編制應(yīng)用程序的程序員。③使用數(shù)據(jù)庫(kù)中數(shù)據(jù)的人員。9.1.2.2數(shù)據(jù)庫(kù)系統(tǒng)的組成⒊計(jì)算機(jī)系統(tǒng)9.1.3數(shù)據(jù)模型1.3.1層次模型10.1.3數(shù)據(jù)模型1.3.1層次模型10.1.3數(shù)據(jù)模型1.3.2網(wǎng)狀模型11.1.3數(shù)據(jù)模型1.3.2網(wǎng)狀模型11.1.3數(shù)據(jù)模型1.3.3關(guān)系模型12.1.3數(shù)據(jù)模型1.3.3關(guān)系模型12.1.3.3關(guān)系模型1.關(guān)系術(shù)語(yǔ)關(guān)系:二維表,VisualFoxPro的一個(gè)表文件。元組:表中一行,記錄。屬性:表中的一列,字段。分量:元組中一個(gè)屬性值。域:表中屬性的取值范圍。關(guān)鍵字,關(guān)鍵字段、碼:表中具有惟一標(biāo)識(shí)的屬性。關(guān)系模式:對(duì)關(guān)系的描述,表的結(jié)構(gòu)。13.1.3.3關(guān)系模型1.關(guān)系術(shù)語(yǔ)13.1.4關(guān)系的基本運(yùn)算
選擇:從關(guān)系中找出滿足條件的記錄。(行)投影:從關(guān)系中選擇若干屬性組成新的關(guān)系。(列)連接:將兩個(gè)關(guān)系通過(guò)公共屬性名連接成一個(gè)新的關(guān)系。14.1.4關(guān)系的基本運(yùn)算選擇:從關(guān)系中找出滿足條件的記錄。1.5VFP的數(shù)據(jù)組織結(jié)構(gòu)
從數(shù)據(jù)管理角度看,VFP數(shù)據(jù)組織的層次由大到小依次是:數(shù)據(jù)庫(kù)、表、記錄和字段。1.字段2.記錄3.表4.數(shù)據(jù)庫(kù)15.1.5VFP的數(shù)據(jù)組織結(jié)構(gòu)從數(shù)據(jù)管理角度看,VFP數(shù)據(jù)第2章16.第2章16.第2章初識(shí)VisualFoxPro6.0
知識(shí)點(diǎn):
VisualFoxPro6.0用戶界面
菜單系統(tǒng)
命令窗口
VisualFoxPro6.0的設(shè)計(jì)工具
VFP的系統(tǒng)功能17.第2章初識(shí)VisualFoxPro6.0知識(shí)點(diǎn):172.1VisualFoxPro啟動(dòng)與退出
啟動(dòng)方法:⑴在桌面上雙擊“VisualFoxPro6.0”圖標(biāo)。⑵在Windows的“開(kāi)始”菜單的程序列表中選擇VisualFoxPro6.0項(xiàng)。⑶通過(guò)Windows的“資源管理器”或“我的電腦”,找到VisualFoxPro6.0程序并啟動(dòng)。18.2.1VisualFoxPro啟動(dòng)與退出啟動(dòng)方法:12.1VisualFoxPro啟動(dòng)與退出退出VFP,可以使用下述方法之一:⑴在命令窗口輸入“QUIT”并按回車鍵。⑵在“文件”菜單中選擇“退出”項(xiàng)。⑶直接按組合鍵Alt+F4。⑷用鼠標(biāo)單擊VFP主界面標(biāo)題欄最右邊的關(guān)閉窗口按鈕。19.2.1VisualFoxPro啟動(dòng)與退出退出VFP,可以2.2VisualFoxPro用戶界面2.2.1窗口
⒈
命令窗口命令窗口是一個(gè)標(biāo)題為“命令”(Command)的小窗口。它的主要作用是輸入并顯示VFP命令,實(shí)現(xiàn)與用戶的單步交互操作。⒉
程序主窗口即啟動(dòng)VFP后屏幕上出現(xiàn)的VFP主界面。程序主窗口由標(biāo)題欄、菜單欄、工具欄、工作區(qū)和狀態(tài)欄組成。主要用于顯示VFP的處理結(jié)果,其中狀態(tài)欄用于顯示當(dāng)前的操作狀態(tài)。20.2.2VisualFoxPro用戶界面2.2.1窗口2.2VisualFoxPro用戶界面⒊
全屏幕編輯窗口全屏幕編輯窗口是一種能夠?qū)崿F(xiàn)數(shù)據(jù)或過(guò)程代碼編輯操作的環(huán)境,一般又分為表數(shù)據(jù)編輯窗口、表結(jié)構(gòu)編輯窗口和過(guò)程編輯窗口。⒋
對(duì)話框?qū)υ捒蚴且活愄厥獯翱?,僅當(dāng)所執(zhí)行的菜單項(xiàng)后帶“…”符號(hào)時(shí)才會(huì)出現(xiàn)。借助于對(duì)話框,用戶可以選擇所需要的數(shù)據(jù)或操作,而VFP則利用對(duì)話框引導(dǎo)用戶正確地操作,或者向用戶提供警告、提示信息等。21.2.2VisualFoxPro用戶界面⒊全屏幕編輯窗2.2VisualFoxPro用戶界面2.2.2菜單菜單是一種用選項(xiàng)來(lái)組織命令的重要工具。VFP使用的菜單有:下拉式菜單和快捷菜單。2.2.3工具欄工具欄是一種用圖標(biāo)的方式組織命令的工具。VisualFoxPro包含的工具欄有11種:常用、報(bào)表控件、報(bào)表設(shè)計(jì)器、表單控件、表單設(shè)計(jì)器、布局、查詢?cè)O(shè)計(jì)器、調(diào)色板、打印預(yù)覽、視圖設(shè)計(jì)器和數(shù)據(jù)庫(kù)設(shè)計(jì)器。默認(rèn)情況只有“常用”工具欄可見(jiàn)。22.2.2VisualFoxPro用戶界面2.2.2菜單
2.3輔助設(shè)計(jì)工具2.3.1設(shè)計(jì)器設(shè)計(jì)器是輔助用戶創(chuàng)建文件的工具。例如輔助用戶創(chuàng)建表、數(shù)據(jù)庫(kù)、表單、查詢、報(bào)表等文件來(lái)管理數(shù)據(jù)。設(shè)計(jì)器主要包括表設(shè)計(jì)器、數(shù)據(jù)庫(kù)設(shè)計(jì)器、菜單設(shè)計(jì)器、表單設(shè)計(jì)器、查詢?cè)O(shè)計(jì)器、視圖設(shè)計(jì)器等。2.3.2生成器生成器是VisualFoxPro6.0提供的一種可視化輔助工具。它用于簡(jiǎn)化、修改表單及其他復(fù)雜控件的過(guò)程。每個(gè)生成器都有一系列選項(xiàng)卡組成,允許用戶訪問(wèn)并設(shè)置所選對(duì)象的屬性。23.2.3輔助設(shè)計(jì)工具2.3.1設(shè)計(jì)器23.2.3輔助設(shè)計(jì)工具2.3.3向?qū)驅(qū)菐椭脩粞杆偻瓿芍T如建立表單和建立查詢等常用任務(wù)的交互式工具,它根據(jù)已有的一些實(shí)例,通過(guò)一系列的向?qū)Т翱诤腿藱C(jī)對(duì)話,完成一個(gè)任務(wù)。2.3.4項(xiàng)目管理器項(xiàng)目管理器是VisualFoxPro6.0提供的一個(gè)重要工具,它使用簡(jiǎn)潔的可視化的方法對(duì)自由表、文件、數(shù)據(jù)庫(kù)、報(bào)表和查詢等進(jìn)行組織和管理,是應(yīng)用程序的控制中心。當(dāng)開(kāi)發(fā)一個(gè)應(yīng)用系統(tǒng)時(shí),可用項(xiàng)目管理器來(lái)跟蹤所有相關(guān)文件。24.2.3輔助設(shè)計(jì)工具2.3.3向?qū)?4.2.4VFP的系統(tǒng)功能
2.4.1VFP的工作方式⒈界面操作工作方式⒉命令操作⒊程序操作25.2.4VFP的系統(tǒng)功能2.4.1VFP的工作方式252.4VFP的系統(tǒng)功能
2.4.2VFP菜單的約定及其使用⒈VFP主菜單啟動(dòng)VFP6.0后,窗口標(biāo)題欄的下部就是菜單欄,如圖2-3所示。在菜單欄上顯示的是VFP主菜單的默認(rèn)項(xiàng),名稱有:文件、編輯、顯示、格式、工具、程序、窗口和幫助。每個(gè)菜單名都對(duì)應(yīng)自己的一組下拉式菜單。26.2.4VFP的系統(tǒng)功能2.4.2VFP菜單的約定及2.4.2VFP菜單的約定及其使用⒉菜單的約定①子菜單項(xiàng)后帶“…”符號(hào):執(zhí)行這樣的菜單,會(huì)彈出一個(gè)對(duì)話框。②子菜單項(xiàng)的顏色為灰色:當(dāng)菜單項(xiàng)呈灰色時(shí),表示當(dāng)前狀態(tài)下不可以使用。③子菜單項(xiàng)后帶黑三角“”符號(hào):表示它有下級(jí)子菜單,當(dāng)鼠標(biāo)指向該菜單項(xiàng)時(shí),自動(dòng)出現(xiàn)下級(jí)子菜單。④子菜單項(xiàng)前有鉤“√”:是選擇標(biāo)記。當(dāng)菜單欄前有該符號(hào)時(shí),表示該命令有效。若再選擇該命令,則刪除該標(biāo)記,表示該命令不再有效。27.2.4.2VFP菜單的約定及其使用⒉菜單的約定22.4.3命令的一般格式1、命令格式VFP可以執(zhí)行的命令由“命令動(dòng)詞
+命令子句”組成,常用形式:命令動(dòng)詞[<范圍>][FOR<條件>][WHILE<條件>][FIELDS<字段列表>][OFF]……2、命令使用注意事項(xiàng)28.2.4.3命令的一般格式1、命令格式28.2.5用VFP組織數(shù)據(jù)的例子
2.5.1設(shè)置默認(rèn)目錄⒈利用“工具/選項(xiàng)”菜單⒉用SET命令 例如,SETDEFAULTTOD:\JIANG
29.2.5用VFP組織數(shù)據(jù)的例子2.5.1設(shè)置默認(rèn)目錄2.5.2創(chuàng)建表文件的例子1、設(shè)計(jì)表結(jié)構(gòu)30.2.5.2創(chuàng)建表文件的例子1、設(shè)計(jì)表結(jié)構(gòu)30.2.5用VFP組織數(shù)據(jù)的例子2.5.2創(chuàng)建表文件的例子
2、建立表結(jié)構(gòu)
3、填寫(xiě)數(shù)據(jù)2.5.3表文件的保存/關(guān)閉、打開(kāi)與查看
“文件/保存”
“文件/關(guān)閉”
“文件/打開(kāi)”
“顯示/瀏覽”31.2.5用VFP組織數(shù)據(jù)的例子2.5.2創(chuàng)建表文件的例子3第3章32.第3章32.第3章VisualFoxPro6.0應(yīng)用基礎(chǔ)
知識(shí)點(diǎn):
數(shù)據(jù)類型
常量與變量
運(yùn)算符與表達(dá)式
常用函數(shù)
VFP常用文件33.第3章VisualFoxPro6.0應(yīng)用基礎(chǔ)知識(shí)點(diǎn):3.1數(shù)據(jù)類型
VFP6.0提供了14種數(shù)據(jù)類型,分別是:數(shù)值型、字符型、邏輯型、日期型、通用型、備注型、貨幣型、日期時(shí)間型、整型、雙精度型、浮點(diǎn)型、二進(jìn)制字符型、二進(jìn)制備注型、對(duì)象型。34.3.1數(shù)據(jù)類型VFP6.0提供了14種數(shù)據(jù)類型3.1數(shù)據(jù)類型數(shù)值型數(shù)據(jù)(N):由數(shù)字0~9、一個(gè)符號(hào)(+或-)和一個(gè)小數(shù)點(diǎn)組成。字符型數(shù)據(jù)(C):由字母、數(shù)字空格等一切可打印的ASCII字符組成。邏輯型數(shù)據(jù)(L):.T.or.F.(.Y.or.N.)。日期型數(shù)據(jù)(D):可用setdate,setcentury,setmarkto來(lái)設(shè)置日期格式。日期時(shí)間型數(shù)據(jù)(T):用于保存日期、時(shí)間或二者兼有的數(shù)據(jù)。 例1:tMydatetime={^2005-9-511:00a},tMytimeonly={11:00a}貨幣型數(shù)據(jù)(Y):加符號(hào)$。 例2:money1=$1000.5,money2=$1234.56789。雙精度型數(shù)據(jù)(N):提高更高的精度,占用8個(gè)字節(jié)。浮點(diǎn)型數(shù)據(jù)(N):與數(shù)值型數(shù)據(jù)相同,以提供與其它軟件和系統(tǒng)的兼容性。整數(shù)型數(shù)據(jù)(N):不包含小數(shù),以二進(jìn)制形式存儲(chǔ),占4個(gè)字節(jié)。通用型數(shù)據(jù)(G):存儲(chǔ)OLE對(duì)象,長(zhǎng)度為4個(gè)字節(jié)。備注型數(shù)據(jù)(M):存放較多內(nèi)容的文本信息(.FPT),長(zhǎng)度4個(gè)字節(jié)。二進(jìn)制字符型數(shù)據(jù)(C):與字符型數(shù)據(jù)類似,以二進(jìn)制存儲(chǔ)。二進(jìn)制備注型數(shù)據(jù)(M):與備注型數(shù)據(jù)類似,以二進(jìn)制存儲(chǔ)。對(duì)象型數(shù)據(jù)(O):Windows應(yīng)用程序中生成的對(duì)象。如VFP的主窗口對(duì)象為_(kāi)SCREEN。35.3.1數(shù)據(jù)類型數(shù)值型數(shù)據(jù)(N):由數(shù)字0~9、一個(gè)符號(hào)(+3.2常量與變量3.2.1常量常量是以直觀的數(shù)據(jù)形態(tài)和意義直接出現(xiàn)的數(shù)據(jù),在程序執(zhí)行過(guò)程中常量的值是固定不變的。3.2.2變量在程序執(zhí)行過(guò)程中可以變化的數(shù)據(jù)項(xiàng),稱為變量。36.3.2常量與變量3.2.1常量36.3.2.1常量⑴數(shù)值型常量數(shù)值型常量可以是整數(shù)和實(shí)數(shù),用于表示一個(gè)數(shù)量的大小。例如3.14,1.23E+5。數(shù)值型常量的長(zhǎng)度包括整數(shù)位數(shù)、小數(shù)位數(shù)和小數(shù)點(diǎn)。37.3.2.1常量⑴數(shù)值型常量37.3.2.1常量⑵字符型常量字符型常量是用定界符界定的一串字符,又稱為字符串。可用的定界符有三對(duì),即單引號(hào)‘’、雙引號(hào)“”、方括號(hào)[]等。例如,’123’、
[計(jì)算機(jī)]、”A”都是書(shū)寫(xiě)正確的字符型常量。38.3.2.1常量⑵字符型常量38.3.2.1常量⑶邏輯型常量邏輯型常量屬于邏輯型數(shù)據(jù),只有兩個(gè)值:邏輯真和邏輯假。邏輯真常量用.T.、.t.、.Y.、.y.表示;邏輯假常量用.F.、.f.、.N.、.n.表示。如果書(shū)寫(xiě)時(shí)少了字符左右的兩點(diǎn),就會(huì)被計(jì)算機(jī)當(dāng)作變量。39.3.2.1常量⑶邏輯型常量39.3.2.1常量⑷日期型常量日期型常量必須用一對(duì)花括號(hào)將數(shù)據(jù)括起來(lái),
例如,{11/05/1972}和{^1972-05-11},均表示“1972年5月11日”這一日期數(shù)據(jù)。也可以用CTOD(”11/05/72”)來(lái)表示,意思是把字符型常量”11/05/72”轉(zhuǎn)換成日期型常量??瞻椎娜掌谛统A坑脅}表示。40.3.2.1常量⑷日期型常量40.3.2.1常量⑸日期時(shí)間型常量日期時(shí)間型常量與日期型常量類似,也必須用一對(duì)花括號(hào)將數(shù)據(jù)括起來(lái),只是在日期數(shù)據(jù)后面加上“時(shí):分:秒”即可。例如,{08/29/198705:26:30}表示1987年8月29日5時(shí)26分30秒。⑹貨幣型常量貨幣型常量用來(lái)表示貨幣值,使用時(shí),在數(shù)值前加上貨幣符號(hào)。
41.3.2.1常量⑸日期時(shí)間型常量41.3.2.2變量
⒈
變量分類42.3.2.2變量⒈變量分類42.3.2.2變量⒉
變量的命名規(guī)則變量名是用來(lái)標(biāo)識(shí)變量的符號(hào),最多10個(gè)字符,可以由字母,數(shù)字和嵌在中間的下劃線組成。43.3.2.2變量⒉變量的命名規(guī)則43.3.2.2變量⒊
內(nèi)存變量定義與操作⑴
賦值命令①命令“=”格式
:<內(nèi)存變量名>=<表達(dá)式>功能:計(jì)算賦值號(hào)右邊表達(dá)式的值(一個(gè)數(shù)據(jù)),然后將這個(gè)值賦給左邊的內(nèi)存變量。它具有計(jì)算和賦值的雙重功能。44.3.2.2變量⒊內(nèi)存變量定義與操作44.3.2.2變量②命令“STORE”格式:STORE<表達(dá)式>TO<內(nèi)存變量名表>功能:計(jì)算<表達(dá)式>的值,然后將結(jié)果分別賦給變量表中的所有變量。所謂<內(nèi)存變量名表>表示有多個(gè)變量,變量與變量之間用逗號(hào)“,”分隔。注意,“,”為英文標(biāo)點(diǎn)。45.3.2.2變量②命令“STORE”45.3.2.2變量⑵內(nèi)存變量的顯示格式:DISPLAY/LISTMEMORY[LIKE<通配符>][TOPRINTER[PROMPT]/TOFILE<文件名>]功能:顯示當(dāng)前內(nèi)存變量的定義。⑶內(nèi)存變量的清除
RELEASE格式1:RELEASE<內(nèi)存變量名表>格式2:RELEASEALL[LIKE/EXCEPT<通配符>]功能:從內(nèi)存中清除指定的變量。46.3.2.2變量⑵內(nèi)存變量的顯示46.3.2.2變量⑷保存與恢復(fù)①內(nèi)存變量的保存格式:SAVETO<內(nèi)存變量文件名>[ALL[[LIKE/EXCEPT<通配符>]]]功能:將所指定的內(nèi)存變量存入內(nèi)存變量文件中。
②內(nèi)存變量的恢復(fù)格式:RESTOREFROM<內(nèi)存變量文件名>[ADDITIVE]功能:將內(nèi)存變量文件中的所有內(nèi)存變量恢復(fù)到內(nèi)存中去。47.3.2.2變量⑷保存與恢復(fù)47.3.2.2變量⒋數(shù)組數(shù)組在使用之前必須用命令來(lái)聲明,包括數(shù)組名和數(shù)組的大小。⑴
數(shù)組的聲明格式:DIMENSION/DECLARE<數(shù)組名1>(<下標(biāo)1>[,<下標(biāo)2>])[,<數(shù)組名2>(<下標(biāo)1>[,<下標(biāo)2>])][,…]
功能:用于定義一個(gè)或多個(gè)數(shù)組。48.3.2.2變量⒋數(shù)組48.⒋數(shù)組幾點(diǎn)說(shuō)明:①數(shù)組名后面的括號(hào),既可以用圓括號(hào)也可以用方括號(hào)。②定義數(shù)組后,系統(tǒng)自動(dòng)將每個(gè)數(shù)組元素定義為邏輯型,初值為邏輯假.F.。③數(shù)組中的元素位置是有序而固定的。④給數(shù)組變量賦值時(shí),如果未指明下標(biāo)(即未指明第幾個(gè)元素),則對(duì)該數(shù)組中所有元素賦同一個(gè)值。⑤數(shù)組定義后,數(shù)組元素可以重新定義,定義方法與內(nèi)存變量相同。數(shù)組中各個(gè)元素的數(shù)據(jù)類型可以不同。⑥在引用數(shù)組時(shí),如果未指明下標(biāo),則引用該數(shù)組的第一個(gè)元素。⑦內(nèi)存變量和數(shù)組不能重名。⑧使用數(shù)組時(shí),下標(biāo)不能超界。49.⒋數(shù)組幾點(diǎn)說(shuō)明:49.3.2.2變量5.系統(tǒng)內(nèi)存變量
(1)默認(rèn)屬性是public屬性(2)保持固有信息,通過(guò)一個(gè)前導(dǎo)下劃線識(shí)別(3)類型固定(數(shù)值型,字符型,邏輯型,日期型,對(duì)象型)50.3.2.2變量5.系統(tǒng)內(nèi)存變量50.3.3運(yùn)算符與表達(dá)式表達(dá)式可以一個(gè)常量、變量、函數(shù),或者由這些元素由運(yùn)算符連接起來(lái)的有意義的式子。運(yùn)算符是描述各種不同運(yùn)算的符號(hào),有四種類型:算術(shù)運(yùn)算符、字符運(yùn)算符、關(guān)系運(yùn)算符和邏輯運(yùn)算符。用在兩個(gè)數(shù)據(jù)之間的運(yùn)算符稱為二目運(yùn)算符,用在單個(gè)數(shù)據(jù)上的運(yùn)算符稱為單目運(yùn)算符。51.3.3運(yùn)算符與表達(dá)式表達(dá)式可以一個(gè)常量、變量、函數(shù),或者
3.3運(yùn)算符與表達(dá)式數(shù)值型表達(dá)式(+,-,*,/,**,%,())字符型表達(dá)式(+,-)日期型表達(dá)式
(1)兩個(gè)日期型數(shù)據(jù)可以相減,結(jié)果為數(shù)值型
(2)日期型數(shù)據(jù)可加上一個(gè)整數(shù),結(jié)果為日期型
(3)日期型數(shù)據(jù)可減去一個(gè)整數(shù),結(jié)果為日期型關(guān)系型表達(dá)式(<,<=,>,>=,$,==,=)邏輯型表達(dá)式(NOT,AND,OR)計(jì)算表達(dá)式命令(=)52.3.3運(yùn)算符與表達(dá)式數(shù)值型表達(dá)式(+,-,*,3.4標(biāo)準(zhǔn)函數(shù)
基本形式函數(shù)名([<操作數(shù)表達(dá)式>])數(shù)值函數(shù)字符型函數(shù)測(cè)試函數(shù)日期時(shí)間函數(shù)數(shù)據(jù)庫(kù)和表函數(shù)數(shù)組函數(shù)其他函數(shù)53.3.4標(biāo)準(zhǔn)函數(shù)基本形式53.3.4.1一般函數(shù)1、數(shù)值函數(shù)
(1)絕對(duì)值函數(shù)ABS()(2)平方根函數(shù)SQRT()(3)指數(shù)函數(shù)EXP()取模函數(shù)MOD()(4)對(duì)數(shù)函數(shù)LOG()(5)取整函數(shù)INT()54.3.4.1一般函數(shù)1、數(shù)值函數(shù)54.3.4.1一般函數(shù)1、數(shù)值函數(shù)
(6)四舍五入函數(shù)ROUND()(7)最大值函數(shù)MAX()(8)最小值函數(shù)MIN()(9)π函數(shù)PI() ⑽正弦函數(shù)SIN()55.3.4.1一般函數(shù)1、數(shù)值函數(shù)55.⒉
字符函數(shù)
⑴字符重復(fù)函數(shù)REPLICATE()
⑵查找子串函數(shù)AT()
⑶截取子串函數(shù)SUBSTR()⑷左子串函數(shù)LEFT()⑸右子串函數(shù)RIGHT()⑹字符串修改函數(shù)STUFF()56.⒉字符函數(shù)⑴字符重復(fù)函數(shù)REPLICATE()56
⒉
字符函數(shù)⑺刪除空格函數(shù)①刪除左空格函數(shù)LTRIM()②刪除右空格函數(shù)RTRIM()③刪除前后空格函數(shù)ALLTRIM()
⑻空格函數(shù)SPACE()
57.⒉字符函數(shù)⑺刪除空格函數(shù)57.⒉
字符函數(shù)
⑼宏替換函數(shù)&
⑽表達(dá)式計(jì)算函數(shù)EVALUATE()⑾
名表達(dá)式
()58.⒉字符函數(shù)⑼宏替換函數(shù)&58.日期時(shí)間函數(shù)系統(tǒng)時(shí)間函數(shù)time()日期函數(shù)date()日期時(shí)間函數(shù)datetime()年份、月份、日期和星期函數(shù)
year/month/day/dow/cdow時(shí)、分、秒函數(shù)
Hour/Minute/sec59.日期時(shí)間函數(shù)系統(tǒng)時(shí)間函數(shù)time()59.⒊日期時(shí)間函數(shù)⑴系統(tǒng)時(shí)間函數(shù)TIME()⑵系統(tǒng)日期函數(shù)DATE()⑶年份函數(shù)YEAR()
⑷月份函數(shù)MONTH()⑸星期函數(shù)DOW()/CDOW()⑹日期函數(shù)DAY()
60.⒊日期時(shí)間函數(shù)⑴系統(tǒng)時(shí)間函數(shù)TIME()60.⒋
轉(zhuǎn)換函數(shù)
⑴字母小寫(xiě)轉(zhuǎn)大寫(xiě)函數(shù)UPPER()⑵字母大寫(xiě)轉(zhuǎn)小寫(xiě)函數(shù)LOWER()⑶字符轉(zhuǎn)日期函數(shù)CTOD()⑷日期轉(zhuǎn)字符函數(shù)DTOC()⑸數(shù)值型轉(zhuǎn)換成字符型函數(shù)STR()⑹字符型轉(zhuǎn)換成數(shù)值型函數(shù)VAL()⑺字符轉(zhuǎn)換成ASCII碼函數(shù)ASC()⑻ASCII碼轉(zhuǎn)換成字符函數(shù)CHR()
61.⒋轉(zhuǎn)換函數(shù)⑴字母小寫(xiě)轉(zhuǎn)大寫(xiě)函數(shù)UPPER()61.⒌
測(cè)試函數(shù)
⑴字符串長(zhǎng)度函數(shù)LEN()⑵數(shù)據(jù)類型測(cè)試函數(shù)TYPE()⑶條件函數(shù)IIF()⑷文件測(cè)試函數(shù)FILE()⑸自定義對(duì)話框函數(shù)MESSAGEBOX()
62.⒌測(cè)試函數(shù)⑴字符串長(zhǎng)度函數(shù)LEN()62.3.4.2數(shù)據(jù)庫(kù)函數(shù)⑴字段數(shù)函數(shù)FCOUNT()⑵字段名函數(shù)FIELDS()⑶表頭測(cè)試函數(shù)BOF()⑷表尾測(cè)試函數(shù)EOF()⑸記錄號(hào)測(cè)試函數(shù)RECNO()⑹記錄數(shù)測(cè)試函數(shù)RECCOUNT()⑺表文件名函數(shù)DBF()⑻查詢結(jié)果測(cè)試函數(shù)FOUND()
63.3.4.2數(shù)據(jù)庫(kù)函數(shù)⑴字段數(shù)函數(shù)FCOUNT()63.3.5VisualFoxPro6.0常用文件類型3.5.1數(shù)據(jù)文件⒈表文件⒉
數(shù)據(jù)庫(kù)文件⒊
索引文件⒋
查詢文件64.3.5VisualFoxPro6.0常用文件類型3.53.5.2文檔文件⒈
表單文件⒉
報(bào)表文件⒊
菜單文件⒋
項(xiàng)目文件3.5.3程序文件⒈
源程序文件⒉
編譯后的程序文件⒊
應(yīng)用程序文件
65.3.5.2文檔文件65.第4章66.第4章66.第4章
自由表的建立與操作
知識(shí)點(diǎn):表的設(shè)計(jì)與實(shí)現(xiàn)表結(jié)構(gòu)的修改表數(shù)據(jù)的編輯表數(shù)據(jù)的瀏覽與輸出記錄定位表內(nèi)容的統(tǒng)計(jì)計(jì)算VFP的文件管理67.第4章自由表的建立與操作知識(shí)點(diǎn):67.第4章
自由表的建立與操作4.1.1設(shè)計(jì)表結(jié)構(gòu)⒈VFP系統(tǒng)對(duì)表文件的規(guī)定⒉注意事項(xiàng)⒊學(xué)生管理中的表結(jié)構(gòu)設(shè)計(jì)68.第4章自由表的建立與操作4.1.1設(shè)計(jì)表結(jié)構(gòu)68.第4章
自由表的建立與操作4.1.2建立表結(jié)構(gòu)⒈菜單方式
“文件/新建”⒉
命令方式格式:CREATE[<表文件名>/?]功能:在當(dāng)前目錄(文件夾)中建立一個(gè)新表文件。69.第4章自由表的建立與操作4.1.2建立表結(jié)構(gòu)69.4.2表結(jié)構(gòu)的查看與修改4.2.1顯示表結(jié)構(gòu)格式:DISPLAY/LISTSTRUCTURE[IN<工作區(qū)號(hào)>/<別名>][……]功能:顯示當(dāng)前表或指定工作區(qū)已打開(kāi)表的結(jié)構(gòu)。4.2.2修改表結(jié)構(gòu)⒈
菜單方式⒉命令方式格式:MODIFYSTRUCTURE功能:用表設(shè)計(jì)器修改當(dāng)前表結(jié)構(gòu)。70.4.2表結(jié)構(gòu)的查看與修改4.2.1顯示表結(jié)構(gòu)70.4.2.3復(fù)制表結(jié)構(gòu)格式:COPYSTURCTURETO<文件名>[FIELDS<字段名表>]功能:將當(dāng)前表文件的結(jié)構(gòu)復(fù)制到指定的新的文件中。例如,由當(dāng)前表文件”學(xué)生DBF”創(chuàng)建XS.dbf,結(jié)構(gòu)與學(xué)生完全相同。在命令窗口輸入下述命令序列:
USE學(xué)生COPYSTRUCTURETOXS71.4.2.3復(fù)制表結(jié)構(gòu)格式:COPYSTURCTURET4.3表數(shù)據(jù)的輸入與輸出
4.3.1表文件的打開(kāi)與關(guān)閉
1、表文件的打開(kāi)⑴菜單方式單擊菜單欄上的“文件/打開(kāi)”;或單擊常用工具欄上
按鈕。⑵命令方式格式:USE<表文件名>功能:在當(dāng)前工作區(qū)打開(kāi)指定的表文件。72.4.3表數(shù)據(jù)的輸入與輸出4.3.1表文件的打開(kāi)與關(guān)閉74.3.1表文件的打開(kāi)與關(guān)閉
2、關(guān)閉表文件⑴菜單方式單擊菜單欄上的“窗口/數(shù)據(jù)工作期”,彈出“數(shù)據(jù)工作期”對(duì)話框73.4.3.1表文件的打開(kāi)與關(guān)閉2、關(guān)閉表文件73.關(guān)閉表文件⑵命令方式,可根據(jù)情況選擇使用下述方法之一。①執(zhí)行命令USE。立即關(guān)閉當(dāng)前工作區(qū)中打開(kāi)的表。②執(zhí)行命令CLOSETABLES。關(guān)閉所有工作區(qū)中打開(kāi)的自由表。③執(zhí)行命令CLEARALL。清除所有內(nèi)存變量,同時(shí)關(guān)閉所有工作區(qū)中打開(kāi)的表。④執(zhí)行命令CLOSEALL。關(guān)閉所有已打開(kāi)的文件,包括表文件。⑤在同一工作區(qū)打開(kāi)另一個(gè)表時(shí),原來(lái)在該工作區(qū)中打開(kāi)的表自動(dòng)關(guān)閉。74.關(guān)閉表文件⑵命令方式,可根據(jù)情況選擇使用下述方法之一。74.4.3.2輸入數(shù)據(jù)
⒈菜單方式⑴在菜單欄上選擇“表/追加新記錄”項(xiàng)。⑵在菜單欄上選擇“顯示/瀏覽”+“顯示/追加方式”項(xiàng)。⑶在菜單欄上選擇“表/追加記錄”項(xiàng)。75.4.3.2輸入數(shù)據(jù)⒈菜單方式75.4.3.2輸入數(shù)據(jù)⒉命令方式⑴APPEND格式:APPEND[BLANK][IN<工作區(qū)號(hào)>/<別名>]功能:在數(shù)據(jù)表的表尾添加一條或多條新記錄。等價(jià)于菜單方式的“顯示/瀏覽+顯示/追加方式”。⑵APPENDFROM格式:APPENDFROM<源表文件名>[……]功能:從一個(gè)指定文件中讀入記錄,添加到當(dāng)前表文件的尾部。76.4.3.2輸入數(shù)據(jù)⒉命令方式76.4.3.3輸出數(shù)據(jù)
格式:DISPLAY/LIST[<范圍>][FOR<條件表達(dá)式>][WHILE<條件表達(dá)式>][FIELDS<字段名表>][OFF][TOPRINTER[PROMPT]/TOFILE<文件名>]功能:顯示當(dāng)前表中指定數(shù)據(jù)。77.4.3.3輸出數(shù)據(jù)格式:DISPLAY/LIST[<范圍4.4表內(nèi)容的修改
4.4.1記錄的定位⒈GO命令格式1:GOn功能:將指針定位在當(dāng)前表中記錄號(hào)為n的記錄上。格式2:GOTOP功能:將指針定位在首記錄上。格式3:GOBOTTOM功能:將指針定位在末記錄上。78.4.4表內(nèi)容的修改4.4.1記錄的定位78.4.4.1記錄的定位
⒉SKIP命令 格式1:SKIP
功能:將指針從當(dāng)前記錄開(kāi)始下移一條記錄。 格式2:SKIPn
功能:將指針從當(dāng)前記錄開(kāi)始,下移n條記錄。 格式3:SKIP–n
功能:將指針從當(dāng)前記錄開(kāi)始,上移n條記錄。79.4.4.1記錄的定位⒉SKIP命令79.4.4.2插入記錄
格式:INSERT[BEFORE][BLANK]功能:在當(dāng)前表當(dāng)前記錄前面或后面插入一條新記錄,并進(jìn)入編輯狀態(tài)。80.4.4.2插入記錄格式:INSERT[BEFORE][4.4.3記錄的瀏覽與編輯⒈BROWSE格式:BROWSE[FOR<條件>][FIELDS<字段名表>][LAST][TITLE<標(biāo)題文本>][……]功能:打開(kāi)當(dāng)前表的瀏覽窗口,可實(shí)現(xiàn)記錄的顯示、修改、刪除和追加等操作。例1:各種類型數(shù)據(jù)的編輯。例2: M型、G型數(shù)據(jù)的輸入與編輯。81.4.4.3記錄的瀏覽與編輯⒈BROWSE81.4.4.4修改指定字段的數(shù)據(jù)
格式:REPLACE<字段名>WITH<表達(dá)式1>[ADDITIVE][,<字段名2>WITH<表達(dá)式2>[ADDITIVE]……][<范圍>][FOR/WHILE<條件>][IN<工作區(qū)號(hào)>/<別名>][…]功能:用表達(dá)式的值成批修改多個(gè)指定字段的值。例如,給第一條記錄增加5元獎(jiǎng)學(xué)金。執(zhí)行以下命令序列:USE學(xué)生REPL獎(jiǎng)學(xué)金WITH獎(jiǎng)學(xué)金+5 82.4.4.4修改指定字段的數(shù)據(jù)格式:REPLACE<字4.5記錄刪除
4.5.1邏輯刪除⒈菜單方式在BROWSE窗口實(shí)現(xiàn)操作。⒉命令方式格式:DELETE[<范圍>][FOR<條件>][WHILE<條件>][IN<工作區(qū)號(hào)>/<別名>]功能:邏輯刪除指定的記錄,即給要?jiǎng)h除的記錄打上刪除標(biāo)記。83.4.5記錄刪除4.5.1邏輯刪除83.4.5記錄刪除4.5.2設(shè)置邏輯刪除的有效性格式:SETDELETEON/OFF功能:指定標(biāo)有刪除標(biāo)記的記錄是否參與其他命令的處理。84.4.5記錄刪除4.5.2設(shè)置邏輯刪除的有效性84.4.5記錄刪除4.5.3取消刪除⒈菜單方式⒉命令方式格式:RECALL[<范圍>][FOR<條件>][WHILE<條件>]功能:將指定記錄的邏輯刪除標(biāo)記清除,即讓有刪除標(biāo)記的記錄恢復(fù)正常。85.4.5記錄刪除4.5.3取消刪除85.4.5記錄刪除4.5.4物理刪除
⒈菜單方式
“表/徹底刪除”⒉命令方式⑴PACK永久刪除當(dāng)前表中邏輯刪除的記錄。⑵ZAP永久刪除當(dāng)前表中全部記錄。86.4.5記錄刪除4.5.4物理刪除86.4.6表內(nèi)容的統(tǒng)計(jì)計(jì)算
4.6.1數(shù)值字段求和命令SUM4.6.2數(shù)值數(shù)據(jù)求平均值A(chǔ)VERAGE4.6.3計(jì)數(shù)命令COUNT4.6.4分類求和命令TOTAL87.4.6表內(nèi)容的統(tǒng)計(jì)計(jì)算4.6.1數(shù)值字段求和命令SUM4.7文件管理
4.7.1表文件的備份COPYTO4.7.2列文件目錄DIR
4.7.3修改文件名RENAME4.7.4刪除文件ERASE/DELETEFILE
88.4.7文件管理4.7.1表文件的備份COPYTO8第5章89.第5章89.第5章排序、索引與查找
知識(shí)點(diǎn):什么是排序建立排序文件索引建立索引文件索引查找一般查找90.第5章排序、索引與查找知識(shí)點(diǎn):90.5.1排序
排序是指將當(dāng)前表按照指定的排序字段(又稱關(guān)鍵字)重新排列記錄順序,并將排序結(jié)果存儲(chǔ)在一個(gè)新的表文件中。命令格式:SORTTO<表文件名>ON<字段名1>[/A/D][/C][,<字段名2>[/A/D][/C]…][<范圍>][FOR<條件>][WHILE<條件>][FIELDS<字段名表>/……]功能:對(duì)當(dāng)前表進(jìn)行排序,并將排過(guò)序的記錄輸出到新表中。91.5.1排序排序是指將當(dāng)前表按照指定的排序字段(又稱關(guān)5.1排序表記錄排序的例子。⑴
按獎(jiǎng)學(xué)金升序建立排序文件JXJPX.DBF。在命令窗口執(zhí)行下述命令:USE學(xué)生SORTTOJXJPXON獎(jiǎng)學(xué)金USEJXJPX92.5.1排序表記錄排序的例子。92.表記錄排序的例子93.表記錄排序的例子93.5.2索引
索引只是按照指定字段為當(dāng)前表建立一個(gè)索引表,以索引文件的形式存儲(chǔ)在磁盤上。索引表中的順序是按照字段值的大小排列的。為表文件建立索引之后,就可以用索引來(lái)控制表數(shù)據(jù)的顯示。94.5.2索引索引只是按照指定字段為當(dāng)前表建立一個(gè)索引表,以5.2.1索引文件分類⒈
單項(xiàng)索引文件⒉
結(jié)構(gòu)復(fù)合索引文件⒊
獨(dú)立復(fù)合索引文件95.5.2.1索引文件分類⒈單項(xiàng)索引文件95.5.2.1索引文件分類1、單項(xiàng)索引文件,擴(kuò)展名為.IDX。這種索引文件只有一個(gè)索引表達(dá)式。2、復(fù)合索引文件,其擴(kuò)展名為.CDX。在復(fù)合索引文件中,每一個(gè)索引都有一個(gè)特殊的標(biāo)識(shí)名(TAG),TAG的命名與自由表中字段命名方法相同(<=10字符)。3、結(jié)構(gòu)復(fù)合索引文件和獨(dú)立復(fù)合索引文件都屬于復(fù)合索引文件。無(wú)論是哪一種索引文件,都只能與表文件同時(shí)使用。96.5.2.1索引文件分類1、單項(xiàng)索引文件,擴(kuò)展名為.IDX。5.2.2建立索引文件
⒈菜單方式利用表設(shè)計(jì)器來(lái)生成索引。方法如下。①打開(kāi)表設(shè)計(jì)器:先打開(kāi)表,再選擇“顯示/表設(shè)計(jì)器”,進(jìn)入表設(shè)計(jì)器窗口。②選擇索引字段:在“字段”選項(xiàng)卡中,單擊要建索引的字段,在“索引列”單擊其下三角按鈕,在列表中選擇升序或降序,③選擇索引類型④單擊“確定”按鈕,完成索引建立。97.5.2.2建立索引文件⒈菜單方式97.索引類型主索引:要求索引表達(dá)式必須是表的主關(guān)鍵字段,該字段的值在表中是惟一的、確定的,且表允許有空值。主索引僅用于數(shù)據(jù)庫(kù)表,且一個(gè)表只能創(chuàng)建一個(gè)主索引。候選索引:要求同主索引。數(shù)據(jù)庫(kù)表和自由表都可以建立候選索引,一個(gè)表可以建立多個(gè)候選索引。唯一索引:相同索引值的記錄只留下一條。等同于命令中的UNIQUE選項(xiàng)。如果按性別建立索引,并選擇“唯一索引”,則索引表中只有2條記錄。數(shù)據(jù)庫(kù)表和自由表都可以建立唯一索引。普通索引:沒(méi)有限制。索引表中記錄數(shù)同原表文件。數(shù)據(jù)庫(kù)表和自由表都可以建立普通索引。98.索引類型主索引:要求索引表達(dá)式必須是表的主關(guān)鍵字段,該字段的5.2.2建立索引文件⒉命令方式⑴建立單項(xiàng)索引文件格式:INDEXON<索引表達(dá)式>TO<文件名>[UNIQUE][COMPACT][ADDITIVE]功能:對(duì)當(dāng)前表根據(jù)索引表達(dá)式按升序建立單項(xiàng)索引文件?!纠?.2】建立單項(xiàng)索引文件。①
以出生年月為關(guān)鍵字建立單索引文件CSNY.IDX。請(qǐng)?jiān)诿畲翱趫?zhí)行下述命令:USE學(xué)生INDEXON出生年月TOCSNY99.5.2.2建立索引文件⒉命令方式99.5.2.2建立索引文件⑵
建立結(jié)構(gòu)復(fù)合索引格式:INDEXON<索引表達(dá)式>TAG<索引標(biāo)識(shí)>[UNIQUE][ADDITIVE][ASCENDING/DESCENDING]功能:對(duì)當(dāng)前表根據(jù)索引表達(dá)式建立索引并以<索引標(biāo)識(shí)>為標(biāo)識(shí)存入結(jié)構(gòu)復(fù)合索引文件中。100.5.2.2建立索引文件⑵建立結(jié)構(gòu)復(fù)合索引100.5.2.2建立索引文件⑶建立獨(dú)立復(fù)合索引格式:INDEXON<索引表達(dá)式>TAG<索引標(biāo)識(shí)>[UNIQUE][ADDITIVE][OF<文件名>][ASCENDING/DESCENDING]功能:對(duì)當(dāng)前表根據(jù)“索引表達(dá)式”建立索引并以<索引標(biāo)識(shí)>為標(biāo)識(shí)存入<文件名>指定的獨(dú)立復(fù)合索引文件中。101.5.2.2建立索引文件⑶建立獨(dú)立復(fù)合索引101.5.2.3索引文件的打開(kāi)與關(guān)閉⒈打開(kāi)索引文件⑴打開(kāi)表的同時(shí)打開(kāi)索引文件格式:USE<表文件名>[IN<工作區(qū)>]INDEX<索引文件名表/?>[EXCLUSIVE/SHARED][ORDER[<索引序號(hào)>/<單項(xiàng)索引文件名>/[TAG]<索引標(biāo)識(shí)>[OF<復(fù)合索引文件名>[ASCENDING/DESCENDING]]]][……]功能:在當(dāng)前工作區(qū)或指定工作區(qū)打開(kāi)表文件并同時(shí)打開(kāi)<索引文件名表>指出的各個(gè)索引文件。102.5.2.3索引文件的打開(kāi)與關(guān)閉⒈打開(kāi)索引文件102.5.2.3索引文件的打開(kāi)與關(guān)閉⒉關(guān)閉索引文件關(guān)閉索引文件有2條命令,格式如下:格式1:CLOSEINDEXES格式2:SETINDEXTO功能:關(guān)閉當(dāng)前工作區(qū)除結(jié)構(gòu)復(fù)合索引以外的所有打開(kāi)的索引文件。103.5.2.3索引文件的打開(kāi)與關(guān)閉⒉關(guān)閉索引文件103.5.2.4確定主控索引
格式:SETORDERTO[<索引序號(hào)>/<單項(xiàng)索引文件名>/[TAG]<索引標(biāo)識(shí)>[OF<復(fù)合索引文件名>][IN<工作區(qū)>]功能:重新確定主控索引文件或主控標(biāo)識(shí)。5.2.5索引文件更新先打開(kāi)索引,再執(zhí)行索引重建命令。格式:REINDEX
104.5.2.4確定主控索引格式:SETORDERTO5.3表內(nèi)容的查找5.3.1索引查找⑴FIND命令格式:FIND<字符or數(shù)值>/<n>功能:搜索某個(gè)已建立索引的表,查找滿足條件第一個(gè)記錄。說(shuō)明:①FIND命令只查找字符型或數(shù)值型數(shù)據(jù),字符型數(shù)據(jù)可不加定界符②FIND命令要求選定表已建立索引③若找到匹配記錄,RECNO()返回匹配記錄的記錄號(hào),F(xiàn)ound()返回·T·,EOF()返回·F·
若找不到匹配記錄,RECNO()返回值等于表的記錄數(shù)加1,F(xiàn)ound()返回·F·,EOF()返回·T·105.5.3表內(nèi)容的查找5.3.1索引查找105.
5.3.1索引查找⑵SEEK命令格式:SEEK<表達(dá)式>[ORDER<索引序列號(hào)>/<單項(xiàng)索引文件名>]/[TAG]<索引標(biāo)識(shí)>[OF<復(fù)合索引文件名>][A/D][IN<工作區(qū)>]功能:SEEK命令在一個(gè)表中搜索首次出現(xiàn)的一個(gè)記錄,這個(gè)記錄的索引關(guān)鍵字必須與指定的表達(dá)式匹配。說(shuō)明:①SEEK命令查找對(duì)象可以是變量、常量和表達(dá)式,數(shù)據(jù)類型多種(字符型數(shù)據(jù)必加定界符)②ORDER子句:指定用來(lái)搜索關(guān)鍵字的索引序號(hào),單項(xiàng)索引文件名或復(fù)合索引文件的索引標(biāo)記106.5.3.1索引查找⑵SEEK命令106.5.3.2一般查找⒈順序查找命令
格式:LOCATEFOR<條件>[WHILE<條件>][<范圍>][NOOPTIMIZE]功能:按表內(nèi)容的排列順序(物理順序或邏輯順序)依次搜索滿足條件的第一條記錄。107.5.3.2一般查找⒈順序查找命令
格式:LOCATELOCATE命令說(shuō)明說(shuō)明:該命令用于查找未索引或已索引的表文件。[<范圍>]:默認(rèn)為全部記錄,即ALL。如果找到匹配記錄,指針指向該記錄,RECNO()返回匹配記錄的記錄號(hào),F(xiàn)OUND()的值為.T.,
EOF()值為.F.;若找不到,指針指向表尾部,F(xiàn)OUND()的值為.F.,
EOF()值為.T.。只能在當(dāng)前工作區(qū)中查找。108.LOCATE命令說(shuō)明說(shuō)明:108.5.3.2一般查找⒉繼續(xù)查找命令格式:CONTINUE功能:配合LOCATE命令在表的剩余部分尋找滿足條件的下一條記錄。109.5.3.2一般查找⒉繼續(xù)查找命令109.第6章110.第6章110.第6章數(shù)據(jù)庫(kù)的建立與操作
知識(shí)點(diǎn):數(shù)據(jù)庫(kù)的常用概念數(shù)據(jù)庫(kù)的建立VFP的工作區(qū)表間的聯(lián)系設(shè)置數(shù)據(jù)庫(kù)的參照完整性111.第6章數(shù)據(jù)庫(kù)的建立與操作知識(shí)點(diǎn):111.6.1VFP數(shù)據(jù)庫(kù)的常用概念
⒈主關(guān)鍵字⒉數(shù)據(jù)之間的聯(lián)系類型⑴一對(duì)一關(guān)系⑵一對(duì)多關(guān)系⑶多對(duì)多關(guān)系
⒊外部關(guān)鍵字112.6.1VFP數(shù)據(jù)庫(kù)的常用概念⒈主關(guān)鍵字112.6.1VFP數(shù)據(jù)庫(kù)的常用概念⒋數(shù)據(jù)庫(kù)表、自由表⒌數(shù)據(jù)庫(kù)的完整性⑴實(shí)體完整性⑵參照完整性⑶用戶自定義完整性
113.6.1VFP數(shù)據(jù)庫(kù)的常用概念⒋數(shù)據(jù)庫(kù)表、自由表113.6.2數(shù)據(jù)庫(kù)的建立6.2.1一個(gè)數(shù)據(jù)庫(kù)的例子114.6.2數(shù)據(jù)庫(kù)的建立6.2.1一個(gè)數(shù)據(jù)庫(kù)的例子114.6.2.2數(shù)據(jù)庫(kù)的建立與編輯
⒈創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)可以采用下述方法之一。使用“項(xiàng)目管理器”;使用“文件”菜單中的“新建”命令;使用CREATEDATABASE命令。⒉
打開(kāi)數(shù)據(jù)庫(kù)格式:OPENDATABASE[數(shù)據(jù)庫(kù)文件名/?] 功能:該命令用于在命令窗口或程序中直接打開(kāi)指定的數(shù)據(jù)庫(kù)。115.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒈創(chuàng)建數(shù)據(jù)庫(kù)115.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒊修改數(shù)據(jù)庫(kù)⑴
使用“項(xiàng)目管理器”在“項(xiàng)目管理器”中選擇數(shù)據(jù)庫(kù)名稱;單擊“項(xiàng)目管理器”窗口的“修改”按鈕,彈出數(shù)據(jù)庫(kù)設(shè)計(jì)窗口。⑵使用MODIFYDATABASE命令格式:MODIFYDATABASE[數(shù)據(jù)庫(kù)名/?]功能:打開(kāi)數(shù)據(jù)庫(kù)設(shè)計(jì)器,讓用戶交互地修改當(dāng)前數(shù)據(jù)庫(kù)。116.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒊修改數(shù)據(jù)庫(kù)116.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒋關(guān)閉數(shù)據(jù)庫(kù)格式:CLOSEDATABASE[ALL] 功能:關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)和表。說(shuō)明:有ALL:關(guān)閉所有打開(kāi)的數(shù)據(jù)庫(kù)和其中的表;所有打開(kāi)的自由表和索引。沒(méi)有ALL:表示關(guān)閉當(dāng)前數(shù)據(jù)庫(kù)和表。
117.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒋關(guān)閉數(shù)據(jù)庫(kù)117.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒌刪除數(shù)據(jù)庫(kù)
⑴
使用“項(xiàng)目管理器”刪除一個(gè)數(shù)據(jù)庫(kù)的方法在“項(xiàng)目管理器”中選擇待刪除的數(shù)據(jù)庫(kù)名;單擊“項(xiàng)目管理器”窗口的“移去”按鈕,在接下去的提示中選擇刪除。⑵使用DELETEDATABASE命令刪除一個(gè)數(shù)據(jù)庫(kù)格式:DELETEDATABASE[數(shù)據(jù)庫(kù)名/?]功能:從磁盤上刪除數(shù)據(jù)庫(kù)。118.6.2.2數(shù)據(jù)庫(kù)的建立與編輯⒌刪除數(shù)據(jù)庫(kù)118.6.2.3數(shù)據(jù)庫(kù)表的建立與操作
⒈
創(chuàng)建數(shù)據(jù)庫(kù)表當(dāng)有數(shù)據(jù)庫(kù)打開(kāi)時(shí),創(chuàng)建的數(shù)據(jù)表均為數(shù)據(jù)庫(kù)表。⒉將表加入到數(shù)據(jù)庫(kù)所添加的數(shù)據(jù)表不能屬于任何其他的數(shù)據(jù)庫(kù)。如果需要將一個(gè)屬于其他數(shù)據(jù)庫(kù)的表添加到一個(gè)新的數(shù)據(jù)庫(kù)中,必須先將該表移出原來(lái)所屬的數(shù)據(jù)庫(kù)。當(dāng)向數(shù)據(jù)庫(kù)中添加一個(gè)數(shù)據(jù)庫(kù)表時(shí),VisualFoxPro將顯示出錯(cuò)信息;添加表操作完成后,該表就變成了數(shù)據(jù)庫(kù)表,同時(shí)也具備了數(shù)據(jù)庫(kù)表的各種特性。⒊將表從數(shù)據(jù)庫(kù)中移出119.6.2.3數(shù)據(jù)庫(kù)表的建立與操作⒈創(chuàng)建數(shù)據(jù)庫(kù)表119.6.2.4數(shù)據(jù)庫(kù)表的性能優(yōu)化
⒈設(shè)置字段的一般屬性 ⑴
定義長(zhǎng)字段名 ⑵設(shè)置字段標(biāo)題 ⑶設(shè)置字段注釋 ⑷建立輸入掩碼 ⑸設(shè)置字段的默認(rèn)值
⒉設(shè)置有效性規(guī)則 ⑴
字段級(jí)有效性規(guī)則 ⑵表的記錄級(jí)有效性規(guī)則120.6.2.4數(shù)據(jù)庫(kù)表的性能優(yōu)化⒈設(shè)置字段的一般屬性1206.3VFP的工作區(qū)
6.3.1工作區(qū)的表示工作區(qū)是內(nèi)存中用于臨時(shí)存放數(shù)據(jù)表的區(qū)域。VisualFoxPro系統(tǒng)最多能同時(shí)使用32767個(gè)工作區(qū),但在每個(gè)工作區(qū)中只能打開(kāi)一個(gè)數(shù)據(jù)表。⑴工作區(qū)編號(hào):用數(shù)字。⑵工作區(qū)的系統(tǒng)別名:用英文字母。⑶用戶別名:用戶指定的名字。121.6.3VFP的工作區(qū)6.3.1工作區(qū)的表示121.6.3.2工作區(qū)的使用
⒈選擇工作區(qū)系統(tǒng)啟動(dòng)時(shí),1號(hào)工作區(qū)就是當(dāng)前工作區(qū),若想改變當(dāng)前工作區(qū),可使用SELECT命令。格式:SELECT<工作區(qū)編號(hào)>/<工作區(qū)別名>功能:選擇一個(gè)工作區(qū)作為當(dāng)前工作區(qū)。122.6.3.2工作區(qū)的使用⒈選擇工作區(qū)122.⒉工作區(qū)的使用規(guī)則①在一個(gè)工作區(qū)中只能打開(kāi)一個(gè)表文件。②對(duì)非當(dāng)前工作區(qū)中的表文件進(jìn)行操作時(shí),必須采取引用的方式。即,別名.字段名,或別名->字段名。③對(duì)當(dāng)前表進(jìn)行的所有操作均不影響其他工作區(qū)中表文件的記錄指針。④一個(gè)表文件能在多個(gè)工作區(qū)中多次打開(kāi)。⑤指定工作區(qū)的方法:
SELECT<工作區(qū)編號(hào)>/<工作區(qū)別名>⑥指定當(dāng)前可用的最小號(hào)工作區(qū):
SELECT0 或
USE<表文件>IN06.3.3工作區(qū)操作示例123.⒉工作區(qū)的使用規(guī)則123.6.4表間的聯(lián)系
6.4.1聯(lián)系類型數(shù)據(jù)表之間的聯(lián)系類型有兩種:一種是臨時(shí)性關(guān)聯(lián);一種是永久性關(guān)聯(lián)。⒈什么是臨時(shí)關(guān)聯(lián)建立數(shù)據(jù)表之間的臨時(shí)性關(guān)聯(lián)的主要目的是,讓相關(guān)聯(lián)的表之間實(shí)現(xiàn)指針聯(lián)動(dòng),即,當(dāng)指針在父表中移動(dòng)并指向某一記錄時(shí),子表指針會(huì)指向與其相關(guān)的記錄上。數(shù)據(jù)表之間的臨時(shí)性關(guān)聯(lián)特點(diǎn)之一是其臨時(shí)性,需要時(shí)建立,一旦關(guān)閉了表文件,表之間的關(guān)聯(lián)也就自動(dòng)解除。124.6.4表間的聯(lián)系6.4.1聯(lián)系類型124.6.4.2臨時(shí)關(guān)聯(lián)⒉創(chuàng)建臨時(shí)關(guān)聯(lián)⑴利用“數(shù)據(jù)工作期”創(chuàng)建表間的臨時(shí)性關(guān)聯(lián)。⑵用SETRELATION命令建立臨時(shí)關(guān)系格式:SETRELATIONTO[<關(guān)系表達(dá)式1>INTO<工作區(qū)1>/<表別名1>[,<關(guān)系表達(dá)式2>INTO<工作區(qū)2>/<表別名2>…]][IN<工作區(qū)>/<表別名>][ADDITIVE]
功能:在兩個(gè)打開(kāi)的表之間建立關(guān)系。125.6.4.2臨時(shí)關(guān)聯(lián)⒉創(chuàng)建臨時(shí)關(guān)聯(lián)125.建立一對(duì)多臨時(shí)關(guān)聯(lián)【例6.10】建立“學(xué)生.DBF”和“成績(jī).DBF”一對(duì)多的臨時(shí)關(guān)聯(lián)。執(zhí)行下述命令序列。SELECT1USE成績(jī)INDEXON學(xué)號(hào)
TOX1 SELECT2USE學(xué)生SETRELATIONTO學(xué)號(hào)
INTO成績(jī)
BORWSESELECT成績(jī)
BROWSE
126.建立一對(duì)多臨時(shí)關(guān)聯(lián)【例6.10】建立“學(xué)生.DBF”和“成績(jī)6.4.3永久關(guān)聯(lián)
⒈什么是永久關(guān)聯(lián)建立數(shù)據(jù)表之間永久關(guān)聯(lián)的主要目的是,實(shí)現(xiàn)數(shù)據(jù)庫(kù)中表之間的參照完整性。因此,表之間的永久關(guān)聯(lián)主要用于在更新、刪除、插入等操作中,保證數(shù)據(jù)庫(kù)數(shù)據(jù)的可靠性和一致性。數(shù)據(jù)表之間永久關(guān)聯(lián)的特點(diǎn)之一是其永久性,一旦建立,就被存儲(chǔ)在數(shù)據(jù)庫(kù)文件中,要解除永久關(guān)聯(lián),需要人工處理。127.6.4.3永久關(guān)聯(lián)⒈什么是永久關(guān)聯(lián)127.6.4.3永久關(guān)聯(lián)⒉創(chuàng)建永久關(guān)聯(lián)在“數(shù)據(jù)庫(kù)設(shè)計(jì)器”中創(chuàng)建表的永久關(guān)聯(lián),是一種最簡(jiǎn)便的方法。首先在父表的關(guān)聯(lián)字段上建立主索引,在子表的關(guān)聯(lián)字段上建立普通索引,然后,在數(shù)據(jù)庫(kù)設(shè)計(jì)器中通過(guò)鼠標(biāo)的拖拉,便可以完成創(chuàng)建工作。128.6.4.3永久關(guān)聯(lián)⒉創(chuàng)建永久關(guān)聯(lián)128.6.4.3永久關(guān)聯(lián)⒊ 刪除永久關(guān)聯(lián)可以采用下述方法之一。⑴在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口,右擊表示關(guān)聯(lián)的連線,在快捷菜單中選擇“刪除關(guān)系”項(xiàng)。⑵在數(shù)據(jù)庫(kù)設(shè)計(jì)器窗口,單擊表示關(guān)聯(lián)的連線,然后按DELETE鍵。⑶通過(guò)刪除數(shù)據(jù)庫(kù)文件來(lái)刪除表之間的永久關(guān)聯(lián)。
129.6.4.3永久關(guān)聯(lián)⒊ 刪除永久關(guān)聯(lián)129.6.5設(shè)置數(shù)據(jù)庫(kù)的參照完整性
6.5.1參照完整性規(guī)則為數(shù)據(jù)庫(kù)中多個(gè)關(guān)聯(lián)的表設(shè)置了參照完整性規(guī)則,當(dāng)插入、更新、刪除記錄時(shí),可以保證數(shù)據(jù)庫(kù)表中數(shù)據(jù)的有效性和一致性,防止下列情況的發(fā)生:⑴當(dāng)父表中沒(méi)有關(guān)聯(lián)記錄時(shí),將記錄添加到相關(guān)子表中,造成子表出現(xiàn)“孤立”記錄。⑵改變父表關(guān)鍵字值,而子表未作相應(yīng)的改變,造成子表中出現(xiàn)“孤立”記錄。⑶刪除父表記錄,而子表未作相應(yīng)的改變,造成子表中出現(xiàn)“孤立”記錄。130.6.5設(shè)置數(shù)據(jù)庫(kù)的參照完整性6.5.1參照完整性規(guī)則16.5.2參照完整性的實(shí)現(xiàn)步驟如下:①打開(kāi)“數(shù)據(jù)庫(kù)設(shè)計(jì)器”,選擇建立永久性關(guān)聯(lián)的表;②啟動(dòng)“參照完整性生成器”,選擇“編輯參考完整性”選項(xiàng);③設(shè)置相應(yīng)的完整性規(guī)則。④單擊“確定”按鈕,出現(xiàn)“參照完整性生成器”確認(rèn)框。⑤單擊“是”按鈕。131.6.5.2參照完整性的實(shí)現(xiàn)步驟如下:131.第7章132.第7章132.第7章
面向過(guò)程的程序設(shè)計(jì)
知識(shí)點(diǎn):程序設(shè)計(jì)概述程序的建立、保存、運(yùn)行與調(diào)試程序中常用的命令程序控制的基本結(jié)構(gòu)過(guò)程與過(guò)程文件綜合程序設(shè)計(jì)范例133.第7章面向過(guò)程的程序設(shè)計(jì)知識(shí)點(diǎn):133.7.1程序設(shè)計(jì)概述
面向過(guò)程程序設(shè)計(jì)的特點(diǎn)134.7.1程序設(shè)計(jì)概述面向過(guò)程程序設(shè)計(jì)的特點(diǎn)134.7.1程序設(shè)計(jì)概述面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)135.7.1程序設(shè)計(jì)概述面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)135.7.1.3基本要求與算法表示
⒈程序的基本要求“清晰第一,效率第二”。書(shū)寫(xiě)規(guī)范,風(fēng)格統(tǒng)一。程序的基本結(jié)構(gòu)規(guī)定為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。一個(gè)大的程序開(kāi)發(fā)應(yīng)當(dāng)采用“自頂向下、逐步細(xì)化和模塊化”的方法。程序模塊應(yīng)該只有一個(gè)入口、一個(gè)出口,無(wú)死語(yǔ)句、死循環(huán)。136.7.1.3基本要求與算法表示⒈程序的基本要求136.7.1.3基本要求與算法表示⒉
算法表示流程圖中常用的符號(hào)137.7.1.3基本要求與算法表示⒉算法表示流程圖中常用的符7.2程序的建立、保存、運(yùn)行和調(diào)試修改
7.2.1程序文件的建立創(chuàng)建程序有以下三種的方法。⑴通過(guò)項(xiàng)目管理器創(chuàng)建在“項(xiàng)目管理器”中,選定“代碼”選項(xiàng)卡中的“程序”項(xiàng),如圖7-4所示。單擊“新建”按鈕。⑵通過(guò)文件菜單創(chuàng)建單擊“文件/新建”項(xiàng),在新建對(duì)話框中選擇“程序”項(xiàng),再單擊“新建文件”按鈕。⑶命令MODIFYCOMMAND138.7.2程序的建立、保存、運(yùn)行和調(diào)試修改7.2.1程序7.2.1程序文件的建立⒊保存程序通過(guò)菜單保存“文件/保存”;單擊“工具欄”上的保存按鈕;組合鍵:CTRL+W。139.7.2.1程序文件的建立⒊保存程序139.7.2.2程序的修改和運(yùn)行
⒈程序的修改⑴項(xiàng)目管理器 在項(xiàng)目管理器的代碼選項(xiàng)卡列表中,選擇要修改的程序文件,單擊“修改”按鈕。⑵文件菜單 單擊“文件/打開(kāi)”項(xiàng),打開(kāi)程序并修改。⑶命令MODIFYCOMMAND140.7.2.2程序的修改和運(yùn)行⒈程序的修改140.7.2.2程序的修改和運(yùn)行⒉運(yùn)行程序⑴項(xiàng)目管理器在項(xiàng)目管理器的代碼選項(xiàng)卡中,選擇要運(yùn)行的程序文件,單擊“運(yùn)行”按鈕。⑵程序菜單單擊“程序/運(yùn)行”選項(xiàng),在程序列表中選擇要運(yùn)行的程序文件,單擊“運(yùn)行”按鈕。⑶DO命令141.7.2.2程序的修改和運(yùn)行⒉運(yùn)行程序141.7.3程序中常用的命令
7.3.1注釋語(yǔ)句⒈程序注釋語(yǔ)句格式1:NOTE[<注釋文本>]格式2:*[<注釋文本>]功能:對(duì)程序的結(jié)構(gòu)或整體功能進(jìn)行注釋。⒉語(yǔ)句注釋&&格式:&&[<注釋文本>]功能:對(duì)程序中某一條語(yǔ)句進(jìn)行注釋。142.7.3程序中常用的命令7.3.1注釋語(yǔ)句142.7.3.2程序調(diào)試語(yǔ)句⒈
中斷語(yǔ)句CANCEL功能:中斷當(dāng)前程序的執(zhí)行,并返回到系統(tǒng)命令窗口。⒉
掛起語(yǔ)句SUSPEND功能:暫停當(dāng)前程序的執(zhí)行,并返回到系統(tǒng)命令窗口。通過(guò)使用語(yǔ)句RESUME可以使程序繼續(xù)執(zhí)行。⒊
恢復(fù)執(zhí)行語(yǔ)句RESUME功能:恢復(fù)被SUSPEND掛起的程序,從暫停的位置繼續(xù)執(zhí)行。
143.7.3.2程序調(diào)試語(yǔ)句⒈中斷語(yǔ)句CANCEL143.7.3.3輸出語(yǔ)句
⒈換行輸出語(yǔ)句:?格式:?[<表達(dá)式列表>]功能:分別計(jì)算列表中各表達(dá)式的值,并將表達(dá)式的值輸出到VFP主窗口當(dāng)前光標(biāo)的下一行。說(shuō)明:<表達(dá)式列表>中,各表達(dá)式以逗號(hào)分隔。⒉同行輸出語(yǔ)句:??格式:??[<表達(dá)式列表>]功能:分別計(jì)算列表中各表達(dá)式的值,并將表達(dá)式的值輸出到VFP主窗口當(dāng)前光標(biāo)所在行、列的后面。144.7.3.3輸出語(yǔ)句⒈換行輸出語(yǔ)句:?144.7.3.4輸入語(yǔ)句
⒈數(shù)據(jù)接收語(yǔ)句INPUT格式:INPUT[<字符表達(dá)式>]TO<內(nèi)存變量>功能:把鍵盤輸入的數(shù)據(jù)賦給由<內(nèi)存變量>指定的內(nèi)存變量。說(shuō)明:在程序中遇到該命令時(shí),暫時(shí)中止程序執(zhí)行,等待用戶從鍵盤輸入數(shù)據(jù),并以回車鍵結(jié)束輸入,繼續(xù)執(zhí)行該語(yǔ)句之下的命令。從鍵盤輸入的數(shù)據(jù)可以是常量、變量或表達(dá)式。數(shù)據(jù)類型可以是除備注型和通用型外的所有類型,數(shù)據(jù)輸入時(shí)要按照常量數(shù)據(jù)的正確表達(dá)方式。如字符數(shù)據(jù)加定界符,日期數(shù)據(jù)加花括號(hào){}等。[<字符表達(dá)式>]:提示用戶正確操作,<字符表達(dá)式>作為提示信息顯示在屏幕上。145.7.3.4輸入語(yǔ)句⒈數(shù)據(jù)接收語(yǔ)句INPUT1457.3.4輸入語(yǔ)句⒉字符串接收語(yǔ)句ACCEPT格式:ACCEPT[<字符表達(dá)式>]TO<內(nèi)存變量>功能:把鍵盤輸入的數(shù)據(jù)賦給由<內(nèi)存變量>指定的內(nèi)存變量。⒊
單字符接收語(yǔ)句
WAIT格式:WAIT[字符表達(dá)式][TO<內(nèi)存變量>][TIMEOUT<秒數(shù)>][…]功能:接收鍵盤輸入的單個(gè)字符常量。146.7.3.4輸入語(yǔ)句⒉字符串接收語(yǔ)句ACCEPT147.3.5環(huán)境設(shè)置語(yǔ)句
⒈
清屏語(yǔ)句:CLEAR
⒉
常用SET語(yǔ)句系列⑴
SETTALKON/OFF
⑵SETDELETEOFF/ON⑶SETEXACTOFF/ON⑷SETDEFAULTTO⑸SETEXCLUSIVEON/OFF⑹SETESCAPEON/OFF
147.7.3.5環(huán)境設(shè)置語(yǔ)句⒈清屏語(yǔ)句:CLEAR1477.4程序的控制結(jié)構(gòu)
VFP采用結(jié)構(gòu)化程序設(shè)計(jì)方法,有三種基本的程序控制結(jié)構(gòu):順序結(jié)構(gòu)選擇分支結(jié)構(gòu)(簡(jiǎn)稱分支結(jié)構(gòu))循環(huán)結(jié)構(gòu)。其中,選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)需要使用特定的語(yǔ)句來(lái)實(shí)現(xiàn)。148.7.4程序的控制結(jié)構(gòu)VFP采用結(jié)構(gòu)化程序設(shè)計(jì)方法,有三種7.4.1順序結(jié)構(gòu)順序結(jié)構(gòu)是指根據(jù)程序中命令的排列順序從上到下依次執(zhí)行。【例7.2】求指定班級(jí)獎(jiǎng)學(xué)金總額,并輸出計(jì)算結(jié)果。⑴分析問(wèn)題①
打開(kāi)“學(xué)生”表文件②
由鍵盤輸入指定的班級(jí)③
求和④
輸出求和計(jì)算結(jié)果
⑤
關(guān)閉表文件149.7.4.1順序結(jié)構(gòu)順序結(jié)構(gòu)是指根據(jù)程序中命令的排列順序⑵算法流程圖
150.⑵算法流程圖
150.⑶寫(xiě)程序代碼
151.⑶寫(xiě)程序代碼151.7.4.2選擇分支結(jié)構(gòu)
根據(jù)條件的判斷結(jié)果確定哪些語(yǔ)句被執(zhí)行,哪些語(yǔ)句被放棄。在VFP中,有二路選擇分支結(jié)構(gòu)和多路選擇分支結(jié)構(gòu)。
二路選擇分支結(jié)構(gòu)
IF…ENDIF多路選擇分支結(jié)構(gòu)
DOCASE…ENDCASE152.7.4.2選擇分支結(jié)構(gòu)根據(jù)條件的判斷結(jié)果確定哪些語(yǔ)句被選擇分支結(jié)構(gòu)的算法框圖
153.選擇分支結(jié)構(gòu)的算法框圖153.⒈ 二路選擇分支結(jié)構(gòu)格式1:IF<條件表達(dá)式>[THEN]<語(yǔ)句系列1>ELSE<語(yǔ)句系列
2>ENDIF功能:當(dāng)<條件表達(dá)式>的值為真時(shí),執(zhí)行<語(yǔ)句系列1>;否則執(zhí)行<語(yǔ)句系列2>。然后,繼續(xù)執(zhí)行ENDIF之下的語(yǔ)句。154.⒈ 二路選擇分支結(jié)構(gòu)格式1:IF<條件表達(dá)式>[TH⒈ 二路選擇分支結(jié)構(gòu)格式2:IF<條件表達(dá)式>[THEN] <語(yǔ)句系列1> ENDIF功能:當(dāng)<條件表達(dá)式>的值為真時(shí),執(zhí)行<語(yǔ)句系列1>;否則,不進(jìn)行任何操作,控制轉(zhuǎn)到ENDIF之下,去執(zhí)行ENDIF之下的語(yǔ)句。155.⒈ 二路選擇分支結(jié)構(gòu)格式2:IF<條件表達(dá)式>[TH選擇分支結(jié)構(gòu)的例子【例7.3】從鍵盤輸入一個(gè)數(shù),說(shuō)明它是奇數(shù)還是偶數(shù)?!纠?.5】求解一元二次方程。一元二次標(biāo)準(zhǔn)方程式為:AX2+BX+C=0。【例7.6】求指定學(xué)生的平均成績(jī),如果指定學(xué)生不存在,給出提示信息:“無(wú)此學(xué)生”。156.選擇分支結(jié)構(gòu)的例子【例7.3】從鍵盤輸入一個(gè)數(shù),說(shuō)明它是奇數(shù)⒉ 多路選擇分支結(jié)構(gòu)
格式:DOCASECASE<條件表達(dá)式1><語(yǔ)句系列1>[CASE<條件表達(dá)式2><語(yǔ)句系列2>
…CASE<條件表達(dá)式
n><語(yǔ)句系列n>][OTHERWISE<語(yǔ)句系列
n+1>] ENDCASE157.⒉ 多路選擇分支結(jié)構(gòu)
格式:DOCASE157.⒉ 多路選擇分支結(jié)構(gòu)功能:依次判斷<條件表達(dá)式I>(I=1,2,3,……,n),當(dāng)值為真時(shí)執(zhí)行對(duì)應(yīng)的<語(yǔ)句系列I>;當(dāng)所有<條件表達(dá)式
>的值均為假時(shí),則執(zhí)行OTHERWISE下面的<語(yǔ)句系列N+1>,如果沒(méi)有OTHERWISE項(xiàng),也不會(huì)有出錯(cuò)信息,程序會(huì)自動(dòng)執(zhí)行ENDCASE下面的語(yǔ)句?!纠?.7】統(tǒng)計(jì)計(jì)算指定學(xué)生的平均成績(jī),并根據(jù)該成績(jī)輸出對(duì)應(yīng)的評(píng)價(jià)等級(jí)。158.⒉ 多路選擇分支結(jié)構(gòu)功能:依次判斷<條件表達(dá)式I>(I=17.4.3循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)是指根據(jù)問(wèn)題的需要任意次地重復(fù)執(zhí)行一行或多行語(yǔ)句。在VFP中有三種循環(huán)語(yǔ)句:DOWHILE…ENDDOSCAN…ENDSCANFOR…ENDFOR159.7.4.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是指根據(jù)問(wèn)題的需要任意次地重7.4.3循環(huán)結(jié)構(gòu)⒈DOWHILE…ENDDO格式:
DOWHILE<條件表達(dá)式
><語(yǔ)句序列
> [<EXIT>][<LOOP>]ENDDO功能:
當(dāng)<條件表達(dá)式
>的值為真時(shí),重復(fù)執(zhí)行<語(yǔ)句序列
>,直到<條件表達(dá)式
>的值為假時(shí)結(jié)束。160.7.4.3循環(huán)結(jié)構(gòu)⒈DOWHILE…ENDDO160⒈DOWHILE
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025便利店品牌授權(quán)與區(qū)域管理合同范本3篇
- 2024年環(huán)保項(xiàng)目投資合同投資金額與環(huán)保效果
- 2024幼兒園聘用保育員聘用及兒童藝術(shù)培養(yǎng)合同3篇
- 中國(guó)共產(chǎn)主義青年團(tuán)的歷史
- 輔導(dǎo)員職業(yè)技能大賽試題及答案1
- 2025年度核設(shè)施安全生產(chǎn)責(zé)任協(xié)議范本3篇
- 龍巖學(xué)院《中學(xué)化學(xué)課程標(biāo)準(zhǔn)與教材研究》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年秋一年級(jí)上冊(cè)識(shí)字7 小書(shū)包 課堂實(shí)錄
- (海南卷)2025年中考地理第三次模擬考試(全解全析)
- 中國(guó)企業(yè)社會(huì)責(zé)任的發(fā)展與變遷
- 團(tuán)隊(duì)風(fēng)采展示快閃ppt
- 工廠5S檢查評(píng)分評(píng)價(jià)基準(zhǔn)表(全)
- 安吉游戲培訓(xùn)課件(全)
- (第六版)江蘇省建設(shè)工程施工單位申報(bào)現(xiàn)場(chǎng)用表
- (完整)Tribon m3培訓(xùn)資料
- 復(fù)旦大學(xué)本科留學(xué)生入學(xué)考試語(yǔ)文樣題
- 食管裂孔疝手術(shù)同意書(shū)
- 工地試驗(yàn)室平面布置圖
- (完整版)復(fù)變函數(shù)與積分變換公式
- 國(guó)有資產(chǎn)清查工作方案國(guó)有資產(chǎn)清查報(bào)告
- 行政處罰普通程序流程圖
評(píng)論
0/150
提交評(píng)論