版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第1章 數(shù)據(jù)與數(shù)據(jù)運(yùn)算,第1章 數(shù)據(jù)與數(shù)據(jù)運(yùn)算,1-1 項(xiàng)目管理器 1-2 VFP的輔助設(shè)計(jì)工具 1-3 主要文件類型 1-4 數(shù)據(jù)類型、常量和變量 1-5 Visual FoxPro6.0的常用函數(shù) 1-6 操作符及表達(dá)式 1-7 小結(jié),第一節(jié) 項(xiàng)目管理器,項(xiàng)目管理器包含的6個(gè)選項(xiàng)卡: “數(shù)據(jù)”選項(xiàng)卡:包含了一個(gè)項(xiàng)目中的所有數(shù)據(jù); “文檔”選項(xiàng)卡:包含了用戶處理數(shù)據(jù)時(shí)使用的所有文檔; “代碼”選項(xiàng)卡:包含了用戶的所有代碼程序文件; “類”選項(xiàng)卡:用來顯示和管理類庫文件; “其他”選項(xiàng)卡:用來顯示和管理上述以外的文件; “全部”選項(xiàng)卡:用來顯示和管理所有類型的文件。,1-1 項(xiàng)目管理器,1-1
2、-1 項(xiàng)目管理器的窗口組成,1. 選項(xiàng)卡,2 命令按鈕 在項(xiàng)目管理器的右邊有幾個(gè)命令按鈕,選擇要操作的某一文件,再單擊相應(yīng)的命令按鈕即可進(jìn)行相關(guān)的操作。常見的命令按鈕有:新建、添加、修改、運(yùn)行/瀏覽、關(guān)閉/打開、移去、連編等。 3列表框 列表框位于“項(xiàng)目管理器”的左邊,用于顯示“選定”選項(xiàng)卡下的所有文件列表。,項(xiàng)目:是文件、數(shù)據(jù)、文檔以及VFP對(duì)象的集合,項(xiàng)目文件的擴(kuò)展名為.PJX。 啟動(dòng)項(xiàng)目管理器的方式: (1)新建項(xiàng)目: 命令方式:CREATE PROJECT 項(xiàng)目文件名 菜單方式:文件/新建/項(xiàng)目/新建文件(或向?qū)В?輸入文件名 和路徑/保存 (2)打開已有項(xiàng)目: 命令方式:MODIFY
3、 PROJECT 項(xiàng)目文件名 菜單方式:文件/打開 選擇項(xiàng)目文件類型、選擇路徑和 項(xiàng)目文件名/打開,1-1-2 建立項(xiàng)目文件,1向項(xiàng)目中加入一個(gè)新文件 如果在Visual FoxPro6.0已經(jīng)存在多個(gè)對(duì)象文件,可以將這些文件添加到項(xiàng)目管理器中。例如,要向項(xiàng)目中添加查詢等。 在“項(xiàng)目管理器”中選擇想要加入的文件類型,如“查詢”,單擊“項(xiàng)目管理器”中的“添加”命令按鈕,在打開的對(duì)話框中選擇查詢的名字(如查詢1.qpr)和查詢所在的路徑,單擊“確定”完成添加。,1-1-3 使用項(xiàng)目管理器管理項(xiàng)目文件,2. 從項(xiàng)目中移去文件 對(duì)于一些不需要的文件,可以將這些文件從項(xiàng)目管理器中移去。例如,要向項(xiàng)目中移
4、去數(shù)據(jù)庫等。在“項(xiàng)目管理器”中選擇想要移去的文件,如“數(shù)據(jù)庫2”,單擊“項(xiàng)目管理器”中的“移去”命令按鈕,在所顯示的對(duì)話框中單擊“移去”按鈕,如果你想從計(jì)算機(jī)中刪除文件,單擊“刪除”按鈕。 3. 在“項(xiàng)目管理器”中新建、修改文件 在“項(xiàng)目管理器”中對(duì)文件的“新建”和“修改”是非常容易的,只要選擇所要?jiǎng)?chuàng)建的文件類型,然后單擊“項(xiàng)目管理器”右側(cè)的“新建”或“修改”按鈕即可。Visual FoxPro6.0會(huì)打開合適的設(shè)計(jì)器,從而可以方便地完成設(shè)計(jì)任務(wù)。,可見:,1改變、展開和折疊窗口 (1)移動(dòng)位置:鼠標(biāo)拖動(dòng)標(biāo)題欄 (2)改變窗口大?。涸诖翱谶吔缤蟿?dòng)鼠標(biāo) (3)展開和折疊項(xiàng)目管理器:鼠標(biāo)單擊窗口右
5、邊的箭頭按鈕,如果項(xiàng)目中含有一個(gè)以上的項(xiàng),在其類型符號(hào)左邊顯示一個(gè)“+”號(hào),單擊該“+”號(hào)可展開項(xiàng)目中所包含的內(nèi)容;如果需要折疊項(xiàng)目列表,單擊該類型符號(hào)左邊的“-”號(hào)。,1.1.4 定制項(xiàng)目管理器,(4)重新安排選項(xiàng)卡:將選定的選項(xiàng)卡從項(xiàng)目管理器中拖開成為浮動(dòng)選項(xiàng)卡,可通過快捷菜單訪問“項(xiàng)目”菜單中的選項(xiàng);單擊選項(xiàng)卡上的關(guān)閉按鈕或?qū)⑦x項(xiàng)卡拖回將還原選項(xiàng)卡 (5)使項(xiàng)目管理器成為工具欄的一部分:用鼠標(biāo)將其拖到工具欄中。,定制示例圖,2項(xiàng)目信息 當(dāng)創(chuàng)建新的項(xiàng)目后,系統(tǒng)會(huì)自動(dòng)打開以該項(xiàng)目名命名的“項(xiàng)目管理器”,系統(tǒng)同時(shí)也會(huì)自動(dòng)在Visual FoxPro6.0系統(tǒng)菜單中添加一項(xiàng)“項(xiàng)目”菜單。在項(xiàng)目菜
6、單中選擇“項(xiàng)目信息”,就可進(jìn)入“項(xiàng)目信息”對(duì)話框。在“項(xiàng)目信息”對(duì)話框中選擇相應(yīng)的選項(xiàng)卡,便可對(duì)與項(xiàng)目相關(guān)的信息進(jìn)行瀏覽和編輯。 3.給項(xiàng)目中的文件添加說明在“項(xiàng)目管理器”中選擇你想要加入說明的文件,在主菜單中選擇“項(xiàng)目”(或右擊鼠標(biāo),選擇快捷菜單)中的“編輯說明”,在彈出的對(duì)話框中, 輸入說明,單擊“確定”按鈕。,第二節(jié)VFP的輔助設(shè)計(jì)工具,1-2 VFP輔助設(shè)計(jì)工具,1-2-1 設(shè)計(jì)器,比向?qū)Чδ芨鼜?qiáng),可以創(chuàng)建和修改構(gòu)件, 有9種。,l表設(shè)計(jì)器 l數(shù)據(jù)庫設(shè)計(jì)器 l查詢?cè)O(shè)計(jì)器 l連接設(shè)計(jì)器 l視圖設(shè)計(jì)器 l菜單設(shè)計(jì)器 l表單設(shè)計(jì)器 l數(shù)據(jù)環(huán)境設(shè)計(jì)器 l報(bào)表設(shè)計(jì)器,1-2-2 向?qū)?一種快捷設(shè)
7、計(jì)工具,通過一組對(duì)話框引導(dǎo)用戶一步一步完成某項(xiàng)任務(wù),表向?qū)?查詢向?qū)?本地視圖向?qū)?遠(yuǎn)程視圖向?qū)?交叉表向?qū)?文檔向?qū)?圖表向?qū)?報(bào)表向?qū)?分組/總計(jì)報(bào)表向?qū)?一對(duì)多報(bào)表向?qū)?標(biāo)簽向?qū)?表單向?qū)?一對(duì)多表單向?qū)?數(shù)據(jù)透視表向?qū)?郵件合并向?qū)?安裝向?qū)?Oracle升遷向?qū)?SQL升遷向?qū)?導(dǎo)入向?qū)?應(yīng)用程序向?qū)?WWW搜索頁向?qū)?組合框生成器 命令框生成器 編輯框生成器 表單生成器 表格生成器 列表框生成器 選項(xiàng)組生成器 文本框生成器 自動(dòng)格式生成器 參照完整性生成器,1-2-3 生成器,可以在VFP程序中加入某類控件,第三節(jié) VFP主要文件類型,1.3 VFP主要文件類型,第四節(jié) 數(shù)據(jù)類型、
8、常量和變量,1-4 數(shù)據(jù)類型、常量和變量,1-4-1 數(shù)據(jù)類型 在Visual FoxPro中所有的數(shù)據(jù)都具有類型,數(shù)據(jù)類型決定數(shù)據(jù)的存儲(chǔ)方式和使用方式,即數(shù)據(jù)的取值范圍和可以進(jìn)行的操作。Visual FoxPro6.0的數(shù)據(jù)類型分為兩大類,一種適用于變量和數(shù)組,另一種適用于數(shù)據(jù)表中的字段。Visual FoxPro定義了13種字段類型和7種數(shù)據(jù)類型。,1-4 數(shù)據(jù)類型、常量和變量,字段類型是:字符型、數(shù)值型、浮動(dòng)型、雙精度型、整型、貨幣型、日期型、日期時(shí)間型、邏輯型、備注型、通用型、二進(jìn)制字符型和二進(jìn)制備注型。 數(shù)據(jù)類型是:字符型、數(shù)值型、貨幣型、日期型、日期時(shí)間型、邏輯型和通用型。,1-4
9、-2 常量,常量:在程序的運(yùn)行過程中不改變其值的量 常量的種類:5類 數(shù)值型常量 字符型常量 邏輯型常量 日期型常量 貨幣型常量,1.數(shù)值型常量,用整數(shù)、小數(shù)、科學(xué)計(jì)數(shù)法表示的數(shù) 舉例: 85,-56.2, 1.256E3, 3.8E-2 等,單選題測(cè)試,下列數(shù)據(jù)中,_可以作為Visual FoxPro的數(shù)值型常量。 A)3.1415926 B)3.1415926 C)INT(3.1415926) D)ROUND(3.1415926,2),2. 字符型常量,由一串字符組成的字符串 表示:用“”(雙引號(hào))、 (單引號(hào))、 (方括號(hào))括起來 舉例: 副教授、”boy”、 數(shù)據(jù)庫系統(tǒng)是合法常量,而”
10、I am a boy”、Its abest是非法常量。 注意:最長只能為254個(gè)字符,常量部分單選題測(cè)試,1.下列數(shù)據(jù)中,_可以作為Visual Foxpro的字符型常量。 A)StrLen B)StrLen C)Str+Len D)Str-Len,單選題測(cè)試,2.下列數(shù)據(jù)中,_可以作為Visual FoxPro的字符型常量。 A)3.14+15926 B)3.14-15926 C)3.1415926 D)3.1415926,3.邏輯型常量,表示“真”或“假”的量 表示方法: “真”.T.、.Y.、.t.、.y. “假”.F.、.N.、.f.、.n. 注意:兩邊的點(diǎn)不能少,單選題測(cè)試,1.下列
11、數(shù)據(jù)中,_可以作為Visual FoxPro的邏輯型常量。 A).T. B).NULL. C)OR D)年齡=18 2.下列數(shù)據(jù)中,_可以作為Visual FoxPro的邏輯型常量。 A).F. B)AND C)OR D)NOT,4.貨幣型常量,表示貨幣值的量 表示:以$開頭,4舍5入到小數(shù)點(diǎn)4位 舉例: $123.456789結(jié)果為123.4568,5.日期型常量,日期時(shí)間常量也必須用花括號(hào)括起來, 格式為: YYYY-MM-DDhh:mm:ss a|p 例如:2005/05/19 10:04am、 2005-05-21 11:32:14pm。 但必須注意日期和時(shí)間之間必須有空格。,6.日期
12、時(shí)間型常量,在Visual FoxPro6.0中日期型常量用花括號(hào)“ ”作為定界符括起來,格式為: YYYY-MM-DD 例如:2005/05/18,或2005-05-18。,單選題測(cè)試,1.下列數(shù)據(jù)中,_可以作為Visual FoxPro的日期型常量。 A)2008/05/01 B)2008/05/01 C)2008-05-01 D)2008/05/01 2.下列數(shù)據(jù)中,_可以作為Visual Foxpro的日期型常量。 A)2008/01/01 B)2008-01-01 C)2008/01/01“ D)2008/01/01,1-4-3 變量,在命令操作和程序運(yùn)行過程中其值允許變化的量稱變量
13、,在Visual FoxPro6.0中使用的變量分為字段變量、內(nèi)存變量兩種。每個(gè)變量都必須有一個(gè)變量名,變量名是由字母、漢字、數(shù)字和下劃線組成,但必須以字母或漢字。,在命令操作和程序運(yùn)行過程中其值允許變化的量稱變量。 在Visual FoxPro6.0中使用的變量分為字段變量、內(nèi)存變量兩種。 每個(gè)變量都必須有一個(gè)變量名,變量名是由字母、漢字、數(shù)字和下劃線組成,但必須以字母或漢字打頭。 變量可以理解為在計(jì)算機(jī)內(nèi)存中裝數(shù)據(jù)的盒子,盒子的名字就叫變量名,而盒子里可以裝各種各樣的數(shù)據(jù)。數(shù)據(jù)的值與盒子的名字無關(guān)。,A1,單選題測(cè)試,1.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)V
14、AR*X1 B)VAR X1 C)VAR-X1 D)_SCREEN 2.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)VAR X1 B)VAR+X1 C)VAR-X1 D)VARNAME,單選題測(cè)試,3.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)_Windows B)Windows C)VAL(3.14) D)VAR X1 4.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)NAME B)*VAR1 C)VAR-X1 D)VAR+X1,單選題測(cè)試,5.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)1+X/Y B)
15、_TEXT C)LIKE A% D)INT(3.14) 6.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)VNAME B)89TWDDFF C)VAR+X1 D)VAR-X1,單選題測(cè)試,7.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)XYZ B)123XYZ C)INT(3.14) D)1+X/Y 8.下列標(biāo)識(shí)符中,_可以作為Visual Foxpro的變量名。 A)X%Y B)1+X/Y C)XYZ D)pi=3.14,單選題測(cè)試,9.不正確的變量名是_。 A)X B)1_A C)AB_1 D)A123456789,1字段變量 字段變量是數(shù)據(jù)表結(jié)構(gòu)
16、中的任意一個(gè)數(shù)據(jù)項(xiàng)。在一個(gè)數(shù)據(jù)表中,一個(gè)字段就是一個(gè)字段變量。字段變量在建立表結(jié)構(gòu)時(shí)定義,修改表結(jié)構(gòu)時(shí)可重新定義,或增刪字段變量。字段變量的類型有13種。字段變量是一種多值變量,假設(shè)一個(gè)數(shù)據(jù)表中有10條記錄,那么該數(shù)據(jù)表的每一字段就有10個(gè)取值,當(dāng)用字段作變量時(shí),它的當(dāng)前值隨著記錄指針的移動(dòng)而不斷變化。,字段變量,2內(nèi)存變量 內(nèi)存變量是表結(jié)構(gòu)之外獨(dú)立存在于內(nèi)存中的變量。內(nèi)存變量可用來存儲(chǔ)數(shù)據(jù),定義內(nèi)存變量時(shí)需為它取名并賦初值,內(nèi)存變量建立后存儲(chǔ)于內(nèi)存中。Visual FoxPro6.0中共定義了6種類型的內(nèi)存變量:數(shù)值型、字符型、日期型、日期時(shí)間型、邏輯型和貨幣型??煞譃楹唵巫兞亢蛿?shù)組變量。,
17、簡單變量 數(shù)組變量,數(shù)值型 字符型 日期型 日期時(shí)間型 邏輯型 貨幣型。,內(nèi)存變量,字段變量,類型有13種,單選題測(cè)試,Visual FoxPro內(nèi)存變量的數(shù)據(jù)類型不包括_。 A)數(shù)值型 B)字符型 C)備注型 D)邏輯型,(1) 內(nèi)存變量賦值命令 格式1:內(nèi)存變量= TO 功能: 計(jì)算表達(dá)式,然后將計(jì)算結(jié)果賦給內(nèi)存變量。 例如:q=2008/01/01,(2) 表達(dá)式值顯示命令 格式: ?/? 功能:將表達(dá)式的值顯示在屏幕上。 例如:q=2008/01/01 ?q,(2) 表達(dá)式值顯示命令 格式: ?/? 功能:將表達(dá)式的值顯示在屏幕上。 【說明】 1.命令格式中的?/?可任選一個(gè),它們的輸
18、出格式不同。? 表示從屏幕下一行的第一列起顯示結(jié)果 ,? 表示從當(dāng)前行的當(dāng)前列起顯示結(jié)果。例如: ? Z & 在VFP主窗口中顯示VFP6.0 ? s1 & 換一行后顯示28 ? “數(shù)據(jù)庫應(yīng)用” & 接著上一個(gè)命令顯示結(jié)果28的后面顯 示“數(shù)據(jù)庫應(yīng)用” 2.是表示用逗號(hào)隔開的多個(gè)表達(dá)式組,命令執(zhí)行時(shí)遇逗號(hào)就空一格。例如: ? “Z=”,Z & 顯示Z= VFP6.0,變量名與變量值,形象化地理解,單個(gè)的內(nèi)存變量就是一個(gè)個(gè)的盒子,變量名寫在盒子外邊便于識(shí)別,而裝在里邊的東西才是變量的值。所以,不要把變量名與變量的值混為一談。 變量名 變量的值,TEN,7,3.系統(tǒng)內(nèi)存變量,由VFP自動(dòng)生成和維護(hù)
19、的變量 一般以下劃線開頭 舉例: _DIARYDATE&當(dāng)前日期 _CLIPTEXT&剪貼板文本 例通過_calcvalue系統(tǒng)變量將一個(gè)數(shù)字傳到計(jì)算器中,激活計(jì)算器窗口并計(jì)算結(jié)果。 clear _calcvalue=20 activate window calculator 例往剪貼板中寫入信息 _CLIPTEXT=hello!“ 查看剪貼板,判斷正誤,1.在Visual FoxPro中,為了區(qū)別用戶自定義的內(nèi)存變量,系統(tǒng)內(nèi)存變量都是以下劃線 _ 開頭的。,數(shù)組是具有相同名字、不同下標(biāo)值的一組變量。數(shù)組中的每個(gè)數(shù)據(jù)值稱為數(shù)組元素,每個(gè)數(shù)組元素在數(shù)組中的位置是固定的,可以通過稱為下標(biāo)的編號(hào)來進(jìn)
20、行訪問。數(shù)組在使用時(shí)要由DIMENSION或DECLARE命令來定義。這兩個(gè)命令完全相同,都是用于建立一維或二維數(shù)組。在Visual FoxPro 6.0中,同一個(gè)數(shù)組元素在不同時(shí)刻可以存儲(chǔ)不同類型的數(shù)據(jù),在同一數(shù)組中,每個(gè)數(shù)組元素可以被賦予不同數(shù)據(jù)類型的值。,4.數(shù)組變量,簡單變量,Visual FoxPro6.0中共定義了6種類型的內(nèi)存變量:數(shù)值型、字符型、日期型、日期時(shí)間型、邏輯型和貨幣型??煞譃楹唵巫兞亢蛿?shù)組變量。 簡單變量:可以理解為一個(gè)一個(gè)互相獨(dú)立的盒子。,R,M,S,數(shù)組變量,可以理解為一排排聯(lián)接起來的盒子。,一維數(shù)組A,數(shù)組的定義,格式:DIMENSION |DECLARE (
21、) ,() () ,() 例如:DIMENSION c(4) DIMENSION a(3) , b(2,3),數(shù)組的賦值,DIME SZ(4) SZ(1)=”ABCD” & 給SZ(1)賦值,字符型,值:ABCD SZ(2)=23.45 & 給SZ(2)賦值,數(shù)值型,值:23.45 SZ(3)=2005/09/02 & 給SZ(3)賦值,日期型, 值:2005年9月2日 SZ(4)=2005/11/02 9:00am & 給SZ(4)賦值,日期時(shí) 間型,值:2005年11 月2日上午9點(diǎn) BZ(5)=T & 給SZ(5)賦值,邏輯型,值:真,數(shù)組SZ的值問題:這里都有哪些變量類型? 一個(gè)數(shù)組可
22、不可以賦不同變量類型?,數(shù)組部分單選題,1.使用DIMENSION命令定義一個(gè)數(shù)組,其數(shù)組元素在未賦值之前的數(shù)據(jù)類型是_。 A)未定義 B)邏輯型 C)數(shù)值型 D)字符型 2.DIMENSION 命令用來對(duì)_進(jìn)行聲明。 A)數(shù)組 B)變量 C)字段 D)對(duì)象,3.執(zhí)行如下命令序列: DIMENSION M(2,2) M(1,1)=10 M(1,2)=20 M(2,1)=30 M(2,2)=40 ? M(2) 最后一條命令的顯示結(jié)果是_。 A).F. B)10 C)20 D)變量未定義,判斷正誤,13.Visual FoxPro中,數(shù)組中每個(gè)元素的數(shù)據(jù)類型必須是相同的。 14.在Visual F
23、oxPro的一個(gè)數(shù)組中,各個(gè)數(shù)組元素的數(shù)據(jù)類型可以不同。 15.在Visual FoxPro中,用DIMENSION和DECLARE都可以定義數(shù)組。,第五節(jié) Visual FoxPro常見函數(shù),Visual FoxPro常見函數(shù),數(shù)學(xué)運(yùn)算函數(shù) 5種 字符處理函數(shù) 5種 轉(zhuǎn)換函數(shù) 4種 日期和時(shí)間函數(shù) 6種 測(cè)試函數(shù),1-5 Visual FoxPro常見函數(shù),函數(shù)的概念: Visual FoxPro6.0 0系統(tǒng)為用戶提供了十分豐富的函數(shù),靈活運(yùn)用這些函數(shù),不僅可以簡化許多運(yùn)算,而且能夠加強(qiáng)和完善Visual FoxPro的許多功能。 函數(shù)的一般格式: () 函數(shù)的三要素:函數(shù)名、參數(shù)、函數(shù)值
24、 如:ABS(-2),1-5-1 數(shù)學(xué)運(yùn)算函數(shù),1平方根函數(shù)SQRT() 2絕對(duì)值函數(shù)ABS() 3四舍五入函數(shù)ROUND() 4取整函數(shù)INT() 5求模函數(shù)MOD(),1-5-1 數(shù)學(xué)運(yùn)算函數(shù),1平方根函數(shù)SQRT() 【格式】 SQRT(數(shù)值表達(dá)式) 【功能】 計(jì)算并返回?cái)?shù)值表達(dá)式的算術(shù)平方根。 【例 1】 ? SQRT(5*5) 5.00,1-5-1 數(shù)學(xué)運(yùn)算函數(shù),2絕對(duì)值函數(shù)ABS() 【格式】 ABS() 【功能】 計(jì)算并返回?cái)?shù)值表達(dá)式的絕對(duì)值。 【例 2】 ? ABS(-43.29) 43.29,3四舍五入函數(shù)ROUND() 【格式】 ROUND(數(shù)值表達(dá)式,有效位數(shù)) 【功能】
25、 對(duì)數(shù)值表達(dá)式的值按指定的有效位數(shù)進(jìn)行四舍五入。 【例3】 ? R0UND(3.14159,4), ROUND(1234.9962,0), ROUND(1234.567,-1) 3.1416 1235 1230,4取整函數(shù)INT() 【格式】 INT(數(shù)值表達(dá)式) 【功能】 計(jì)算并返回?cái)?shù)值表達(dá)式的整數(shù)部分。 【例 4】 ? INT(-76.93) -76,5求模函數(shù)MOD() 【格式】 MOD(,) 【功能】 返回除以得到的余數(shù)值。 【說明】 在求模運(yùn)算中應(yīng)注意以下幾點(diǎn): (1) 除數(shù)不能為0。 (2) 除數(shù)為正數(shù),返回正數(shù);如果為負(fù)數(shù),返回負(fù)數(shù)。 (3) 如果被除數(shù)與除數(shù)能夠整除,結(jié)果為0。
26、 (4) 如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)同號(hào),則結(jié)果為被除數(shù)除以除數(shù)而得到的余數(shù)。即:MOD(X1,X2)=X1-INT(X1/X2)*X2 。 (5) 如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)異號(hào),則結(jié)果為被除數(shù)除以除數(shù)而得到的余數(shù)再加上除數(shù)。 即: MOD(X1,X2)=X1-INT(X1/X2)*X2+X2 。 【例 5】 ? MOD(10,3) &結(jié)果為:1 ? MOD(-10,-3) &結(jié)果為:-1 ? MOD(-10,3) &結(jié)果為:2 ? MOD(10,-3) &結(jié)果為:-2,6、隨機(jī)函數(shù) rand( ),返回一個(gè) 0 到 1 之間的隨機(jī)數(shù)。RAND()返回值類型數(shù)值型
27、 ?rand( ) 每運(yùn)行一次會(huì)出現(xiàn)一個(gè)隨機(jī)數(shù)。,函數(shù)單選題,1、返回一個(gè)01之間的隨機(jī)數(shù)函數(shù)為_。 A)ABS() B)RAD() C)RAND() D)ROUND(),函數(shù)單選題,2._函數(shù),返回指定數(shù)值表達(dá)式的平方根。 A)SQRT( ) B)EXP( ) C)STR( ) D)LEN( ),1-5-2 字符處理函數(shù),1取子串函數(shù)SUBSTR() 【格式】 SUBSTR(字符串表達(dá)式,起始位置 ,長度) 【功能】 從字符串表達(dá)式中的起始位置截取子字符串,長度為所截取的子串的長度。,【例 1】store ”ABCDEFG” to CN ? SUBSTR(CN,4,2),SUBS(CN,1,
28、4),SUBS(CN,6,3) DE ABCD FG 若省略長度,或者長度超過從起始位置到末尾的長度,則截取的子字符串為從起始位置到字符串表達(dá)式末尾的所有字符。例如: ? SUBSTR(”計(jì)算機(jī)程序設(shè)計(jì)教程”,11) 設(shè)計(jì)教程,2求字符串長度函數(shù)LEN() 【格式】 LEN字符串表達(dá)式 【功能】 返回字符串表達(dá)式中所包含的字符個(gè)數(shù),即字符串長度。 【例 2】 ? LEN(”Visual FoxPro6.0”) 16,3搜索子串位置函數(shù)AT() 【格式】 AT(字符串1,字符串2,) 【功能】 尋找字符串1在字符串2中首次出現(xiàn)的起始位置。若字符串2中不包含字符串1,則返回值為零。若有“數(shù)值表達(dá)式
29、”(假設(shè)數(shù)值表達(dá)式為K),則尋找字符串1在字符串2中第K次出現(xiàn)的位置。 【例 3】 X=”Visual FoxPro 6.0” ? AT(”Fox”,X) & 顯示結(jié)果為 8 ? AT(”fox”,X) & 顯示結(jié)果為 0 ? AT(”o”,X) & 顯示結(jié)果為 9 ? AT(”o”,X ,2) & 顯示結(jié)果為 13,4、刪除空字符函數(shù),格式:LTRIM() 功能:刪除字符表達(dá)式值前的空格 格式:RTRIM(或TRIM() 功能:刪除字符表達(dá)式值后的空格 格式:ALLTRIM() 功能:將前后的空格去掉 舉例 ?“AB”+SPACE(4)+”CD” &返回 AB CD ? ALLTRIM(“
30、ABCD ”) &返回 ABCD ?len(“ abcd”) &返回5 ?len(alltrim(“ ABCD “) &返回 4,5、left( ) 函數(shù),從字符表達(dá)式最左邊一個(gè)字符開始返回指定數(shù)目的字符。 LEFT(字符串, 左取位數(shù))如果左取位數(shù)為負(fù)值或 0,則返回空字符串。left( ) 函數(shù)與起始位置為 1 的 SUBSTR( ) 函數(shù)是等價(jià)的。返回值類型字符型,? left(redmond, wa, 4) redm,判斷正誤,LEFT(Visual FoxPro,6)與SUBSTR(Visual FoxPro,1,6)的函數(shù)值是相同的。,6、right( ) 函數(shù),從一個(gè)字符串的最右
31、邊開始返回指定數(shù)目的字符。RIGHT(字符串, 右取位數(shù))如果右取位數(shù)大于字符串的長度,right( ) 函數(shù)返回整個(gè)字符表達(dá)式。如果右取位數(shù)為負(fù)數(shù)或 0 ,right( ) 函數(shù)返回空字符串。返回值類型字符型,返回的字符從右邊最后一個(gè)字符開始,包含指定數(shù)目的字符。,例題,? right(redmond, wa, 2) & 顯示 “wa” wa,7空格函數(shù)SPACE() 【格式】 SPACE(數(shù)值表達(dá)式) 【功能】 產(chǎn)生與數(shù)值表達(dá)式的值相同的空格數(shù)。 【例 4】 ? ”學(xué)生”+SPACE(4)+ ”情況” 學(xué)生 情況 在“ 學(xué)生”和“情況”之間產(chǎn)生了4個(gè)空格字符。,請(qǐng)?jiān)囘\(yùn)行此程序,FOR I
32、= 1 TO 4 ?SPAC(I) ?* NEXT,請(qǐng)?jiān)囘\(yùn)行此程序,FOR I = 1 TO 4 ?SPAC(5-I) ?* NEXT ?,8宏代換函數(shù) & 【格式】&字符型內(nèi)存變量 【功能】取“字符型內(nèi)存變量”的值。 【說明】 (1) 宏代換是一種間接取值的操作,在符號(hào)后面必須緊跟(無空格)一個(gè)己被賦過值的字符型內(nèi)存變量的名字。 (2)若&字符型內(nèi)存變量與后面的字符之間無空格分界時(shí),應(yīng)加上“”符號(hào)作為分界符。 (3)宏代換的使用可以嵌套另一個(gè)宏代換,但不能嵌套自己。例如,X=“&X”的寫法是錯(cuò)誤的。 (4) 對(duì)于數(shù)字字符串,可以通過&函數(shù)使其與其他數(shù)字進(jìn)行計(jì)算。,【例 5】求宏代換。 . C
33、H=”X” X=9 ? &CH &結(jié)果為:9 TT=”學(xué)生成績” USE &TT &結(jié)果為:打開了“學(xué)生成績.dbf”表文件。 X=”2004” M=”+” Y=”&X.&M.1” ? Y &結(jié)果為:2004+1 ? &Y &結(jié)果為:2005,函數(shù)單選題,1._函數(shù)返回字符表達(dá)式中字符的數(shù)目。 A)LEN( ) B)STR( ) C)SUBSTR( ) D)TXTWIDTH( ) 2.取子字符串函數(shù)為_。 A)SUBSTR() B)STRSUB() C)STUFF() D)STR(),1-5-3 轉(zhuǎn)換函數(shù),1數(shù)值轉(zhuǎn)換為字符串函數(shù)STR() 【格式】 STR(數(shù)值表達(dá)式,長度,小數(shù)位如) 【功能
34、】 將數(shù)值表達(dá)式的值轉(zhuǎn)換為由長度和小數(shù)位數(shù)指定的字符串。如果長度值比數(shù)值表達(dá)式的整數(shù)位數(shù)還要小,則返回由長度個(gè)“*”組成的字符串。 【例1】 ? STR(1324.46,6,1) 1324.5 ? STR(1324.46,3,1),STR(1324.46,8,3) * 1324.460,2字符串轉(zhuǎn)換為數(shù)值函數(shù)VAL() 【格式】 VAL(字符串表達(dá)式) 【功能】 將字符串表達(dá)式轉(zhuǎn)換為數(shù)值型數(shù)據(jù)。 【例2】 ? VAL(”32”+”18”) 321800 ? VAL(”112GH”),VAL(”AB204”),VAL(”ASD”) 112.00 0.00 0.00,3字符轉(zhuǎn)日期函數(shù)CTOD()
35、【格式】 CTOD(字符串表達(dá)式) 【功能】 將“月/日/年”格式的字符串表達(dá)式轉(zhuǎn)換為日期型數(shù)據(jù)。 【例3】 DA=”12/12/04” ? CTOD(DA) 12/12/04,4日期型轉(zhuǎn)換為字符串函數(shù)DTOC() 【格式】 DTOC(日期) 【功能】 將日期轉(zhuǎn)換為相應(yīng)的字符串。 【例4】 D=2004/11/24 DT=DTOC(D) ? DT ? LEN(DT) 11/24/04 8,1-5-4 日期和時(shí)間函數(shù),格式:DATE() 功能:返回系統(tǒng)日期 格式:TIME() 功能:返回系統(tǒng)時(shí)間 格式:DATETIME() 功能:返回系統(tǒng)日期時(shí)間 格式:YEAR() 功能:返回中的年份,4位整型
36、,格式:month() 功能:返回中的月份 格式:day() 功能:返回中的日期,舉例 ? YEAR(2001-10-23)&返回2001 ? month(date()&返回當(dāng)天的月份,函數(shù)單選題,1._函數(shù),從指定的日期表達(dá)式或日期時(shí)間表達(dá)式中返回月份。 A)YEAR( ) B)MONTH( ) C)DAY( ) D)TIME( ),判斷正誤題,1.DATE()函數(shù)的函數(shù)值等于YEAR()函數(shù)、MONTH()函數(shù)、DAY()函數(shù)的函數(shù)值之和。 2.DATETIME()的函數(shù)值等于DATE()函數(shù)與TIME()函數(shù)之和。,1-5-5 測(cè)試函數(shù),1測(cè)試文件頭函數(shù)BOF() 【格式】 BOF()
37、【功能】 該函數(shù)用于測(cè)試指定文件中的記錄指針是否指向文件頭。如果是則返回真值,否則返回假值。 【例】 測(cè)試文件記錄是否指向文件頭。 USE 學(xué)生檔案.dbf ? BOF() & 顯示結(jié)果為:.F. SKIP -1 & 移動(dòng)記錄指針到上一條記錄命令 ? BOF() & 顯示結(jié)果為:.T.,2測(cè)試文件尾函數(shù)EOF() 【格式】 EOF() 【功能】 該函數(shù)用于測(cè)試指定文件中的記錄指針是否指向文件尾。如果是則返回真值,否則返回假值。 【例】 測(cè)試文件記錄是否指向文件尾。 USE 學(xué)生檔案.dbf GOTO BOTTOM ? EOF() & 顯示結(jié)果為:.F. SKIP & 移動(dòng)記錄指針到上一條記錄命
38、令 ? EOF() & 顯示結(jié)果為:.T.,【格式】 RECNO() 【功能】 測(cè)試指定表文件中的記錄指針指向的記錄號(hào)。若指定的工作區(qū)無打開的表文件,函數(shù)返回值為:0;若指定的表文件無記錄或記錄指針位于文件頭,函數(shù)返回值為:1;若記錄指針指向文件尾,函數(shù)返回值為末記錄號(hào)加1。 【例 】 測(cè)試記錄指針的當(dāng)前位置(假設(shè)學(xué)生檔案表中有10條記錄)。 USE 學(xué)生檔案.dbf GOTO BOTTOM ? RECNO() & 顯示結(jié)果為:10 SKIP ? RECNO() & 顯示結(jié)果為:11 GO TOP ? RECNO() & 顯示結(jié)果為: 1 SKIP -1 ? RECNO() & 顯示結(jié)果為:
39、1,3測(cè)試當(dāng)前記錄號(hào)函數(shù) RECNO(),4“空”值測(cè)試函數(shù) 【格式】 ISNULL() 【功能】 判斷表達(dá)式的運(yùn)算結(jié)果是否為 NULL 值,如果是,則返回邏輯真,否則返回邏輯假。 【例4】 STORE .NULL. TO A ? A,ISNULL(A) &結(jié)果為:.NULL. .T.,5空值測(cè)試函數(shù) 【格式】 EMPTY() 【功能】 根據(jù)表達(dá)式的運(yùn)算結(jié)果是否為 “ 空 ” 值, 返回邏輯真或邏輯假。 【說明】 (1).當(dāng)表達(dá)式的結(jié)果是含有空字符串或空格時(shí), EMPTY 函數(shù)值返回為 .T. , ISNULL 為 .F. 。 (2).當(dāng)變量是 .NULL. 時(shí), EMPTY 和 ISBLAN
40、K 函數(shù)為 .F.,ISNULL 為 .T. 。 (3).當(dāng)變量是 0 時(shí), EMPTY 函數(shù)為 .T. , ISNULL 和 ISBLANK 為 .F. 。,第六節(jié)操作符及表達(dá)式,1-6 操作符及表達(dá)式,操作符是表示數(shù)據(jù)之間運(yùn)算方式的運(yùn)算符號(hào),一般根據(jù)處理數(shù)據(jù)類型不同可分為算術(shù)運(yùn)算符、字符運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符四種。表達(dá)式是由常量、變量、函數(shù)、操作符及圓括號(hào)組成的算式。表達(dá)式中的操作對(duì)象必須具有相同的數(shù)據(jù)類型,如果表達(dá)式中有不同類型的操作對(duì)象,則必須將它們轉(zhuǎn)換成同種數(shù)據(jù)類型。,1-6-1算術(shù)表達(dá)式 算術(shù)表達(dá)式是由數(shù)值型變量、常量、函數(shù)和數(shù)值操作符組成的。用于對(duì)數(shù)值型數(shù)據(jù)進(jìn)行常規(guī)的算術(shù)
41、運(yùn)算。,算術(shù)運(yùn)算符,舉例: ? 5/3 結(jié)果:1.67 ? 5%3 結(jié)果:2 ? -3*2-5 結(jié)果:4.00 ? 2*7%32+3 結(jié)果:8,高,算術(shù)運(yùn)算符,舉例 ? 3/2&返回1.5 ? 5.5%3&返回2.5 ? Int(5/3)& 1,取得數(shù)值的整數(shù)部分 ? 62&返回36 ? 2001-12-29+4&返回2002-1-2 ? 2002-3-1 -2001-12-29&返回62 ? 2002-3-1 1&返回2002-2-28 ? 2000-3-1 1&返回2002-2-29,1-6-2 字符表達(dá)式:,字符表達(dá)式是由字符型變量、常量、函數(shù)和字符操作符組成的。用于字符串的連接或者比較
42、。 字符串操作符為: +:連接兩個(gè)字符串。 -:連接兩個(gè)字符串,并將第一個(gè)字符串尾部的空格移到第二個(gè)字符串的尾部。 $:判斷第一個(gè)字符串是否是第二個(gè)字符串的子字符串。,例如: LEN1=”Visual FoxPro6.0 ” LEN2=”數(shù)據(jù)庫教程” ? LEN1+LEN2 & 結(jié)果為:Visual FoxPro6.0 數(shù)據(jù)庫教程 ? LEN1-LEN2 & 結(jié)果為:Visual FoxPro6.0 數(shù)據(jù)庫教程 ? len(LEN1-LEN2) & 結(jié)果為:28,1-6-3 日期時(shí)間表達(dá)式,日期時(shí)間表達(dá)式是由日期時(shí)間型變量、常量、函數(shù)和日期時(shí)間操作符組成的。 日期時(shí)間操作符有: +:添加一個(gè)天
43、數(shù)或秒數(shù) -:減少一個(gè)天數(shù)或秒數(shù) 例如:? 2005-04-04+10 &結(jié)果為:04/14/05 ? 2005-04-30-15 &結(jié)果為:04/15/05 ? 2003-08-04 10:10a+10 &結(jié)果為:08/04/03 10:10:10 AM ? 2003-08-04 10:35p-10 &結(jié)果為: 08/04/03 10:34:50 PM,1-6-4 關(guān)系表達(dá)式,關(guān)系表達(dá)式用于數(shù)值、字符、日期型數(shù)據(jù)的比較運(yùn)算。關(guān)系表達(dá)式的運(yùn)算優(yōu)先級(jí)相同。,例如: ? ”xyz”#”XYZ” & 值為.T. ? ”abcd”=”abc” & 值為.T. ? ”abc”=”abcd” & 值為.F
44、. ? ”abcd”=”abc” & 值為.F.,邏輯表達(dá)式是由邏輯型變量、常量、函數(shù)和字符運(yùn)算符組成的。用來對(duì)邏輯型數(shù)據(jù)進(jìn)行各種邏輯運(yùn)算,形成各種簡單的邏輯結(jié)果。,1-6-5 邏輯表達(dá)式,高,例如 ? 1733 .AND3412 & 值為.F. ? 16/27 .0R. ”abc”#”ABC” .AND. NOT.F & 值為.T.,在多個(gè)邏輯值中進(jìn)行判斷,一般用于判斷某幾個(gè)條件是否滿足 運(yùn)算對(duì)象和運(yùn)算結(jié)果均為邏輯型 運(yùn)算符 OR或.OR.:邏輯或,只有兩個(gè)運(yùn)算對(duì)象均為.F.時(shí),返回.F.;其余均返回.T. AND或.AND.:邏輯與,只有兩個(gè)運(yùn)算對(duì)象均為.T.時(shí),返回.T.;其余均返回.F
45、. NOT或.NOT.:邏輯非,運(yùn)算對(duì)象為.T.時(shí),返回.F.;運(yùn)算對(duì)象為.F.時(shí),返回.T.,表達(dá)式單選題,1.下列表達(dá)式中,哪一組的數(shù)據(jù)類型是一致的_。 A)CTOD(2008/04/08), DATE()+10, DATE() B)ALLTRIM(VFP6.0), ASC(A), SPACE(8) C)EOF(), RECCOUNT(), DBC() D)STR(3.14,3,1), TYPE(3.14), SUBSTR(ABCD,3,1),表達(dá)式單選題,2.在下列表達(dá)式中,_的運(yùn)算結(jié)果是數(shù)值型。 A)2*32+2*8/4+32 B)2002/05/01+30 C)(1+y/x)(1-y
46、/x) D)年齡:+str(20,2,0) 3.在下列表達(dá)式中,_的運(yùn)算結(jié)果是數(shù)值型。 A)DATE()-5 B)TIME() C)DATETIME() D)YEAR(DATE(),表達(dá)式單選題,4.在下列表達(dá)式中,_的運(yùn)算結(jié)果是數(shù)值型。 A)Visual +FoxPro B)Visual FoxPro C)len(Visual FoxPro) D)Visual$Visual FoxPro,表達(dá)式單選題,5.在下列表達(dá)式中,_的運(yùn)算結(jié)果是字符型。 A)2*32+2*8/4+32 B)2002/05/01+30 C)(1+y/x)(1-y/x) D)年齡:+str(20,2,0),表達(dá)式單選題,6.在下列表達(dá)式中,_的運(yùn)算結(jié)果是字符型。 A)Visual$Visual FoxPro B)Visual FoxPro C)Visual -FoxPro D)len(Visual FoxPro),表達(dá)式單選題,7.在下列表達(dá)式中,_的運(yùn)算結(jié)果是日期型。 A)2007/01/01+365 B)DATE()-2000/01/01 C)年齡:+STR(20,2,0) D)出生日期:+DTOC(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度夜間公共交通安全保障打更服務(wù)協(xié)議范本4篇
- 二零二五版城市軌道交通建設(shè)項(xiàng)目合同工期延誤及違約責(zé)任處理3篇
- Unit 2 On the Weekend Let's Check(說課稿)-2024-2025學(xué)年人教新起點(diǎn)版英語四年級(jí)上冊(cè)001
- 二零二五年度智能車庫租賃與品牌合作協(xié)議4篇
- 二零二五年度新能源汽車充電站車位租賃與運(yùn)營管理合同4篇
- 二零二五年度智慧社區(qū)車位劃線與停車誘導(dǎo)系統(tǒng)合同4篇
- 2025年度吹填區(qū)施工環(huán)境保護(hù)與治理合同4篇
- 2025年度智能門窗控制系統(tǒng)安裝與維護(hù)服務(wù)合同4篇
- 港口小學(xué)炊事員2025年度勞動(dòng)合同終止及續(xù)簽協(xié)議3篇
- 2025年度并購重組項(xiàng)目法律盡職調(diào)查與合規(guī)評(píng)估合同3篇
- C及C++程序設(shè)計(jì)課件
- 帶狀皰疹護(hù)理查房
- 公路路基路面現(xiàn)場(chǎng)測(cè)試隨機(jī)選點(diǎn)記錄
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 國家自然科學(xué)基金(NSFC)申請(qǐng)書樣本
- 幼兒教師干預(yù)幼兒同伴沖突的行為研究 論文
- 湖南省省級(jí)溫室氣體排放清單土地利用變化和林業(yè)部分
- 材料設(shè)備驗(yàn)收管理流程圖
- 培訓(xùn)機(jī)構(gòu)消防安全承諾書范文(通用5篇)
- (完整版)建筑業(yè)10項(xiàng)新技術(shù)(2017年最新版)
- 第8期監(jiān)理月報(bào)(江蘇版)
評(píng)論
0/150
提交評(píng)論