




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第二章Visual FoxPro的數(shù)據類型【教學目標】理解并掌握Visual FoxPro 6.0的數(shù)據類型理解并掌握Visual FoxPro 6.0的表達式理解并掌握Visual FoxPro 6.0的常用函數(shù)1【教學內容】數(shù)據類型常量與變量表達式常用函數(shù)、其它函數(shù)2【重點和難點】重點數(shù)據類型概念常量與變量概念表達式的概念及類型運算符的類型及優(yōu)先級函數(shù)功能及用法難點運算符的類型及優(yōu)先級32.1 數(shù)據類型和字段類型 VFP提供了多種數(shù)據類型,各種類型的數(shù)據可以保存在表、數(shù)組、變量以及其他數(shù)據容器中。 所有數(shù)據都有其所屬類型。類型就是對數(shù)據的允許取值以及這個值的范圍進行的說明。42.2.1 字
2、符型 字符型數(shù)據包括普通字符型和二進制字符型兩種。1普通字符型(Character) 普通字符型簡稱字符型。 2二進制字符型(Character Binary) 二進制字符型與字符型基本相同,只是在代碼頁改變時,其值不會隨之而改變。 2.2.2 貨幣型 貨幣型(Currency)用來存儲與貨幣有關的數(shù)據。 52.2.3 數(shù)值型 數(shù)值型數(shù)據是描述數(shù)量的常用數(shù)據類型,它包括普通數(shù)值型、浮動型、雙精度型和整型四種。1 普通數(shù)值(Numeric)型 普通數(shù)值型數(shù)據簡稱為數(shù)值型。 2浮動(Float)型 浮動型即浮點型。 3雙精度(Double)型 雙精度型是精度更高的數(shù)值類型數(shù)據,僅用于表中的數(shù)值型字
3、段定義。 4整(Integer)型 整型是一種無小數(shù)部分的數(shù)值類型數(shù)據,它只用于表中數(shù)值型字段的定義。62.2.4 邏輯型 邏輯(Logical)型數(shù)據描述客觀事物的真(.T.)與假(.F.),用來表示邏輯判斷的結果,邏輯型數(shù)據的長度固定為1位。2.2.5 日期型 日期(Date)型數(shù)據是用來表示日期的數(shù)據類型,其缺省格式為:mm/dd/yy。mm代表月份,dd代表日,yyyy代表年份,日期型數(shù)據的長度固定為8位。2.2.6 日期時間型 日期時間型(Date Time)數(shù)據是用來表示日期和時間的數(shù)據類型,其缺省格式是: mm/dd/yy hh:mm:ss。72.2.7 備注型 備注型數(shù)據分為普
4、通備注型和二進制備注型兩類,其作用基本相同。1普通備注(Mome)型 普通備注型簡稱備注型。 2二進制備注(Memo Binary)型 二進制備注型與備注型相同,但當代碼頁改變時其值會隨之而改變。82.2.8 通用型 通用(General)型數(shù)據僅用于表中的字段類型定義,它實際上是一種特殊的備注型數(shù)據。92.3 Visual FoxPro 6.0中的數(shù)據存儲 數(shù)據容器 這些供數(shù)據存儲用的常量、變量、數(shù)組、字段、記錄、對象一律稱為數(shù)據存儲容器,簡稱為數(shù)據容器(Data Volume,簡寫為dvol)。2.3.1 常量 常量(Constant)是在程序或命令執(zhí)行過程中保持不變的數(shù)據,是在命令或程序
5、中被直接引用的實際值。它分為數(shù)值型、浮點型、字符型、邏輯型、日期型和日期時間型及用戶自創(chuàng)建型7種。101數(shù)值(Numeric)型常量 數(shù)值型常量可以是實數(shù)或整數(shù)。 例:3.14159262浮點(Float)型常量 浮點型常量是數(shù)值型常量的浮點格式,它采用科學計數(shù)法表示。3字符(Character)型常量 字符型常量是用字符型常量的定界符(一對單引號 、雙引號“”、方括號 )括起來的漢字或可打印的ASCII字符串。例:“ABC”,張華,3.154邏輯(Logical)型常量 邏輯型常量由表示判斷結果為“真”或“假”的符號組成。它只有兩個值:.T.、.F.或.t.、.f.。115日期(Date)型
6、常量 日期型常量用來表示日期,其規(guī)定的書寫格式為:yyyy/mm/dd。 3/15/1999,4/1/1999 10:00am6日期時間(Date Time)型常量 日期時間型常量用來表示日期和時間,其規(guī)定的書寫格式為:yyyy/mm/dd hh:mm:ss。7. 編譯時常量:#DEFINE OPERRSTR “數(shù)據非法”,此時OPERRSTR為編譯時常量,表示“數(shù)據非法”,在程序中此常量名不能再作為變量名作用。8用戶自創(chuàng)建常量 這是在應用程序中由用戶自己創(chuàng)建的任意類型的常量,類似于其他高級語言中的符號常量。125.2.2 變量變量是內存中的一個存儲單元的位置,變量名是存儲位置的符號標識。通過
7、變量名可以訪問該存儲單元。1. 變量的創(chuàng)建可以使用賦值等命令創(chuàng)建變量,其格式為:變量名 = 表達式或者STORE 表達式 TO 變量名列表例如 A=3.14STORE 1 TO A,B,CCOUNT TO 人數(shù)FOR nINC = 1 TO 10? nINCENDFOR132. 變量的作用域變量只在應用程序運行時或創(chuàng)建它的工作區(qū)中才存在。用LOCAL指定的變量為局部變量用PRIVATE指定的變量為私有變量用PUBLIC指定的變量為全局(公共)變量在程序中未用上述命令指定的變量默認為局部變量。在命令窗口中創(chuàng)建的變量或數(shù)組被自動賦予全局屬性。3. 變量的訪問變量可以用變量名來訪問,但若此時存在同名
8、的字段變量,則優(yōu)先訪問字段變量。若特指訪問內存變量,需在變量名前加前綴 或M符號。例如:M-A,M.A,M-nINC144、內存變量的顯示命令格式:LIST | DISPLAY MEMORY LIKE TO PRINTER PROMPT |TO FILE 功能:顯示當前已定義的內存變量名、作用范圍、類型、值15說明:)、LIKE子句表示將選出與通配符(* 、?)相匹配的內存變量LIST MEMORY LIKE ?LIKE 子句項缺省則顯示全部內存變量以及其個數(shù)、字節(jié)數(shù) )、選項TO PRINTER將屏幕顯示內容輸出到打印機;使用 PROMPT 選項則提供是否打印的提示窗口;TO FILE則將顯
9、示內容存入文件。165、內存變量的釋放命令格式RELEASE ALLLIKE|EXCEPT 功能:從內存清除指定的內存變量(釋放內存)例:RELEASE a,b RELEASEALL RELEASEALL LIKE a* RELEASEALL EXCEPT ?b*176、內存變量的保存和恢復命令格式SAVE TO ALLLIKE| 功能:將所有用戶定義的內存變量都寫入一個文件中(缺省擴展名是.MEM)例:SAVE ALL LIKE m* TO myfile18VFP 標識符的命名規(guī)則、字段、文件命名規(guī)則、內存變量、函數(shù)名命名規(guī)則以字母(或漢字)或下劃線開頭;由字母、數(shù)字、下劃線組成;至多128
10、個字符。不可與系統(tǒng)保留字同名。內存變量使用方法命令格式:例:s=“VFP”; w=12.12;19命令格式:STORE TO例:STORE 2*4 TO n1,n2,n3表達式值的顯示命令命令格式:?功能:計算表達式的值,并將其顯示在屏幕上。注:)、?符號“”表示左、右任選一個。)、?換行顯示表達式的值?緊接上一條命令顯示結果后顯示203.4.1 數(shù)值函數(shù)1ABS()函數(shù)格式:ABS()功能:ABS()函數(shù)返回指定的數(shù)值表達式的絕對值。2SIGN()函數(shù)格式:SIGN()功能:SIGN()函數(shù)返回指定數(shù)值表達式的符號。當表達式的結果為正、負和0時,函數(shù)值分別為1、-1和0。213SQRT()函
11、數(shù)格式:SQRT()功能:SQRT()函數(shù)返回數(shù)值表達式的平方根。4PI()函數(shù)格式:PI()功能:PI()函數(shù)返回數(shù)值常量的近似值。225INT()函數(shù)格式:INT()功能:INT()函數(shù)返回數(shù)值表達式的整數(shù)部分。6CELING()函數(shù)格式:CELING()功能:CELING()函數(shù)返回大于或等于數(shù)值表達式的最小整數(shù)。237FLOOR()函數(shù)格式:FLOOR()功能:FLOOR()函數(shù)返回小于或等于數(shù)值表達式的最大整數(shù)。8ROUND()函數(shù)格式:ROUND(,)功能:ROUND()函數(shù)返回數(shù)據表達式在指定位置四舍五入后的結果。249MOD()函數(shù)格式:MOD(, )功能:MOD()函數(shù)返回除
12、以兩個數(shù)相除后的余數(shù)。余數(shù)的正負號與除數(shù)相同。如果被除數(shù)與除數(shù)同號,那么函數(shù)值就為兩數(shù)相除的余數(shù)。如果被除數(shù)與除數(shù)異號,則函數(shù)值為兩數(shù)相除的余數(shù)再加上除數(shù)的值。2510MAX()函數(shù)格式:MAX( ,)功能:MAX()函數(shù)返回數(shù)值表達式中的最大值表達式。11MIN()函數(shù)格式:MIN( ,)功能:MIN()函數(shù)返回數(shù)值表達式中的最小值表達式。263.4.2 字符函數(shù)1LEN()函數(shù)格式:LEN()功能:LEN()函數(shù)返回字符表達式值的長度,函數(shù)值為數(shù)值型。2SPACE()函數(shù)格式:SPACE()功能:SPACE()函數(shù)生成指定空格數(shù)的空字符串。273LTRIM()函數(shù)格式:LTRIM()功能:
13、LTRIM()函數(shù)刪除串尾空格字符。4ALLTRIM()函數(shù)格式:ALLTRIM()功能:ALLTRIM ()函數(shù)刪除首尾空格字符。285LEFT()函數(shù)格式:LEFT(,)功能:LEFT()函數(shù)從字符表達式值的左端取一個指定長度的子串作為函數(shù)值。6RIGHT()函數(shù)格式:RIGHT (,)功能:RIGHT()函數(shù)從字符表達式值的右端取一個指定長度的子串作為函數(shù)值。297SUBSTR()函數(shù)格式:SUBSTR(,)功能:SUBSTR()函數(shù)從表達式值的起始位置取一個指定長度的子串作為函數(shù)值。 8OCCURS()函數(shù)格式:OCCURS(,)功能:OCCURS()函數(shù)返回第一個字符串在第二個字符串
14、中出現(xiàn)的次數(shù)。309AT()函數(shù)格式:AT(, , )功能:AT()函數(shù)返回值的首字符在值中的位置。10STUFF()函數(shù)格式:STUFF(,)功能:STUFF()函數(shù)用串替換串中由和指明的一個子串。3111TRIM()/RTRIM( )函數(shù)格式:TRIM()/RTRIM)功能:這兩個函數(shù)功能相同,都是刪除尾部的空格。若字符表達式全由空格組成,則函數(shù)返回空串。12CHRTRAN()函數(shù)格式:CHRTRAN(,)功能:在中,將與相匹配的字符串用字符表達式3替換。323.4.3 日期時間函數(shù)1DATE()函數(shù)格式:DATE()功能:DATE()函數(shù)返回當前系統(tǒng)日期,函數(shù)值為日期型。2TIME()函
15、數(shù)格式:TIME ()功能:TIME()函數(shù)以24小時制,hh:mm:ss格式返回當前系統(tǒng)時間,函數(shù)值為字符型。333DATETIME()函數(shù)格式:DATETIME()功能:DATETIME()函數(shù)返回當前系統(tǒng)日期時間,函數(shù)值為日期時間型。4YEAR()函數(shù)格式:YEAR ()功能:YEAR ()從指定的日期表達式或日期時間表達式中返回年份。345MONTH()函數(shù)格式:MONTH (|)功能:MONTH ()從指定的日期表達式或日期時間表達式中返回月份。6DAY()函數(shù)格式:DAY (|)功能:DAY ()從指定的日期或日期時間表達式中返回月份中的天數(shù)。357HOUR()函數(shù)格式:HOUR
16、()功能:HOUR()函數(shù)從日期時間表達式中返回小時部分(24小時制)。8MINUTE()函數(shù)格式:MINUTE ()功能:MINUTE()函數(shù)從日期時間表達式中返回分鐘部分。369SEC()函數(shù)格式:SEC ()功能:SEC()函數(shù)從日期時間表達式中返回秒數(shù)部分。10DOW()函數(shù)格式:DOW ()功能:DOW()函數(shù)返回日期表達式或日期時間表達式返回該日期是一周的第幾天, 17表示星期日星期六。373.4.4 數(shù)據類型轉換函數(shù)1STR()函數(shù)格式:STR( , , )功能:STR()函數(shù)將按設定的和轉換成字符型數(shù)據,函數(shù)返回值為字符型。2VAL()函數(shù)格式:VAL ()功能:VAL()將數(shù)
17、值字符串轉換為數(shù)值。383CTOD()函數(shù)格式:CTOD ()功能:CTOD()函數(shù)將“mm/dd/yy”格式的串轉換成對應的日期值,返回的函數(shù)值為日期型。4DTOC()函數(shù)格式:DTOC (|,1)功能:DTOC()函數(shù)將轉換成字符串,函數(shù)返回值類型為字符型。395ASC函數(shù)格式:ASC(cExp)功能:該函數(shù)返回字符型表達式cExp中首字符的ASCII碼值。6CHR函數(shù)格式:CHR(nExp)功能:該函數(shù)返回由數(shù)值型表達式nExp的值轉換成相應的ASCII字符。其中,nExp的值必須在0255之間。407UPPER函數(shù)格式:UPPER(cExp)功能:該函數(shù)將字符型表達式cExp中所有小寫
18、字母轉換為大寫字母。8LOWER函數(shù)格式:LOWER(nExp)功能:該函數(shù)將字符型表達式nExp中所有的大寫字母轉換成小寫字母。413.4.5 測試函數(shù)1BETWEEN()函數(shù)格式:BETWEEN(,)功能:BETWEEN()函數(shù)判斷一個表達式的值是否在另外兩個表達式的值之間。當值大于等于且小于等于時,函數(shù)值為邏輯真(.T.),否則函數(shù)值為邏輯假(.F.)。如果或有一個是NULL值,則函數(shù)值也是NULL值。422ISNULL()函數(shù)格式:ISNULL ()功能:ISNULL()函數(shù)判斷一個表達式的運算結果是否為.NULL.值,如果是.NULL.值,則返回邏輯真(.T.),否則邏輯值假(.F.
19、)。3EMPTY()函數(shù)格式:EMPTY ()功能:EMPTY()函數(shù)根據表達式的運算結果是否為“空”值,返回邏輯真(.T.)或邏輯假(.F.)。434TYPE()函數(shù)格式:TYPE ()功能:TYPE ()函數(shù)返回表達式的值的類型,返回值是一個大寫字母。5INLIST()函數(shù)格式:INLIST (、 ,)功能:INLIST ()函數(shù)判斷第一個表達式的值是否與后面表達式值中的某個匹配。當表達式1的值等于后面的表達式其中之一時,函數(shù)返回.T.,否則返回.f.。446ISBLANK()函數(shù)格式:ISBLANK ()功能:ISBLANK ()函數(shù)判斷表達式是否為空值,返回值是一個大寫字母。當表達式為
20、空字符串,空格或空日期時,函數(shù)返回.T.,否則返回.f.。45數(shù)據類型“空”值數(shù)據類型“空”值數(shù)值型0雙精度型0字符型空串、空格、制表符、回車、換行日期型空貨幣型0日期時間空浮點型0邏輯型.F.整型0備注字段空表3.7 不同類型數(shù)據的“空”值規(guī)定463.5 數(shù)據庫類函數(shù)一、字段處理函數(shù)1FCOUNT()函數(shù)格式:FCOUNT (nWorkArear/cAlias)功能:FCOUNT ()函數(shù)返回指定工作區(qū)中所打開表的字段數(shù)目,若指定工作區(qū)中沒有表被打開,則返回0。2FIELD()函數(shù)格式:FIELD(nExp、 ,cAlias)功能:FIELD ()函數(shù)返回指定工作區(qū)中指定字段或文件的大小。該
21、函數(shù)與LEN()函數(shù)不同, LEN()只能返回字符串的長度,F(xiàn)SIZE( )可以返回各種類型字段的大小。471BOF()函數(shù)格式:BOF (|)功能:BOF()函數(shù)測試當前表文件中的記錄指針是否指向文件首,如果是則返回邏輯真(.T.),否則返回邏輯假(.F.)。2EOF()函數(shù)格式:EOF ( | )功能:測試記錄指針是否指向文件尾,如果是返回邏輯真(.T.),否則返回邏輯假(.F.)。二、記錄處理函數(shù)483RECNO()函數(shù)格式:RECNO( | )功能:RECNO()函數(shù)返回當前表文件中當前記錄的記錄號。4FILTER()函數(shù)格式:FILTER(nWorkArea /cAlias )功能:
22、FILTER ()函數(shù)返回指定數(shù)據表中由SET FILTER命令指定的篩選表達式。495RECCOUNT()函數(shù)格式:RECCOUNT ( | )功能:RECCOUNT()函數(shù)返回當前表文件中的記錄個數(shù),如果指定工作區(qū)上沒有打開表文件,函數(shù)值為0。6DELETED()函數(shù)格式:DELETED ( | )功能:DELETED()函數(shù)測試指定工作區(qū)中打開的表,記錄指針所指的當前記錄是否有刪除標記“*”,如果有則為真,否則為假。507SEEK()函數(shù)格式:SEEK (表達式)功能:SEEK()函數(shù)用于在當前工作區(qū),根據當前主索引,查找與表達式值相匹配的第一條記錄,若查找成功,返回.T.,否則返回.F
23、.。8FOUND()函數(shù)格式:FOUND (nWorkArea /cAlias )功能:FOUND ()函數(shù)用于執(zhí)行查詢命令LOCATE、CONTINUE、FIND或SEEK后,判斷查找是否成功,若查找成功,返回.T.,否則返回.F.。511CDX()函數(shù)格式:CDX (nExp,cAlias)功能:CDX ()函數(shù)返回指定工作區(qū)的第nExp個.CDX文件名。2ORDER()函數(shù)格式:ORDER (cAlias,1)功能:返回主控索引文件名(.IDX文件)或索引標識名(.CDX文件),選擇第二個參數(shù)1,可以獲得文件路徑。三、索引函數(shù)523TAG()函數(shù)格式:TAG (CDXc,nExp,cAl
24、ias)功能:該函數(shù)返回任一獨立索引文件名(.IDX文件)或索引標識名(.CDX文件)。nExp的缺省值為1,所有打開的索引文件按順序編號為1、2、3,接著就是.CDX文件的索引標識。5310IIF()函數(shù)格式:IIF (,)功能:IIF()函數(shù)測試的值,如果為邏輯真(.T.),函數(shù)返回的值。如果為邏輯假(.F.),函數(shù)返回的值。542.5 運算符和表達式2.5.1 算術表達式 算術型表達式(Arithmetic exp,expN)又稱數(shù)值表達式。參加運算的數(shù)據和結果都是數(shù)值型。允許進行的運算如表2.1。運算符表達式功能實 例實例結果*、乘方(冪)5*2, 4325, 64*、/乘、除*3,
25、15/26, 7.5%取模(取余)10%3, 10%3, 10%3, 10%31, 2, 2, 1+、加、減10+5, 1013.5+215, 1.5552.5.2 字符表達式 字符表達式(Character exp,expC)中參加運算的數(shù)據都是字符型,而結果因運算符不同可能是字符型,也可能是邏輯型。允許進行的運算如表2.2所示。表2.2字符表達式運算符表達式功能實 例實例結果+字符串并置計算機+013班計算機013班將串尾部的空格移至并置后生成的新串之后計算機 013班計算機013班$屬于運算符,當串1屬于串2的子串時為.T.計算機 $ 交大計算機系計算機 $ 計算數(shù)學系.T.F.562.
26、5.3 日期時間表達式 日期時間表達式(Date time exp,expD)僅允許進行兩種運算,如表2.3所示。表2.3日期表達式 運算符表達式功能實 例實例結果-求兩個日期間差的天數(shù)或兩個日期時間間差的秒數(shù)?2001/08/202000/03/15?2001/08/20 23:45:302001/08/20 10:30 :0 523(天)47730(秒)+對已給日期加上天數(shù)得到新日期對已給日期時間加上秒數(shù)得到新日期時間?2000/03/15+523?2001/08/20 23:30:30+180008/20/0108/21/01 12:00:30 AM572.5.4 關系表達式 關系運算符
27、的功能用來比較兩個同類數(shù)據的大小,結果是一個邏輯量。關系表達式允許進行的7種運算如表2.4所示,這7種運算的優(yōu)先級都相同。58運算符表達式功能實 例實例結果僅數(shù)1大于數(shù)2時為真52, 科學 計算機.T., .F.僅數(shù)1小于數(shù)2時為真52, 科學 =當數(shù)1大于等于數(shù)2時為真5=22001/02/08=2001/12/08.T.F.=當數(shù)1小于等于數(shù)2時為真5=22001/02/08=2001/12/08.F.T.,#,!=當兩數(shù)不等時為真.T.#.F., 中國!= 上海.T., .T.=兩字符串嚴格相等計算機科學系 = 計算機.F.表2.4關系表達式59 在比較運算中應該注意下面幾個問題。 (1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 康復輔具的跨國合作與市場準入考核試卷
- 木材切割精度控制技術考核試卷
- 停車設備行業(yè)營銷策略與渠道建設考核試卷
- 圖書、報刊行業(yè)風險管理考核試卷
- 電工培訓課件
- 再生物資回收在氣候變化適應策略中的應用考核試卷
- 家居紡織品的文化與藝術欣賞考核試卷
- 土地利用規(guī)劃中的鄉(xiāng)村景觀規(guī)劃考核試卷
- 快遞商鋪轉讓合同范本
- 采購合作合同范本
- 2023年新改版教科版五年級下冊科學全冊教案(附知識點)
- 固定式塔式起重機基礎設計及計算
- 奶牛性控凍精的使用細則:張相文 整理
- GB/T 34376-2017數(shù)控板料折彎機技術條件
- GB/T 22492-2008大豆肽粉
- 三年級下冊豎式脫式計算
- 《財務風險的識別與評估管理國內外文獻綜述》
- 海口市存量房買賣合同模板(范本)
- 經典文學作品中的女性形象研究外文文獻翻譯2016年
- 高爐煤氣安全知識的培訓
- 2008 年全國高校俄語專業(yè)四級水平測試試卷
評論
0/150
提交評論