版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章數(shù)值與數(shù)值運(yùn)算,3-1數(shù)據(jù)類型、常量和變量3-2VisualFoxPro6.0的常用函數(shù)3-3操作符及表達(dá)式3-4小結(jié),第3章數(shù)據(jù)與數(shù)據(jù)運(yùn)算,3-1數(shù)據(jù)類型、常量和變量,3-1-1數(shù)據(jù)類型在VisualFoxPro中所有的數(shù)據(jù)都具有類型,數(shù)據(jù)類型決定數(shù)據(jù)的存儲(chǔ)方式和使用方式,即數(shù)據(jù)的取值范圍和可以進(jìn)行的操作。,VisualFoxPro定義了13種字段類型和7種數(shù)據(jù)類型。字段類型是:字符型、數(shù)值型、浮點(diǎn)型、雙精度型、整型、貨幣型、日期型、日期時(shí)間型、邏輯型、備注型、通用型、二進(jìn)制字符型和二進(jìn)制備注型。數(shù)據(jù)類型是:字符型、數(shù)值型、貨幣型、日期型、日期時(shí)間型、邏輯型和通用型。,表達(dá)式,表達(dá)式具
2、有計(jì)算、判斷和數(shù)據(jù)類型轉(zhuǎn)換等作用,廣泛用于命令、函數(shù)、對(duì)話框、控件及其屬性之中。表達(dá)式可以是常量、變量、函數(shù)和運(yùn)算符的組合。,例:表達(dá)式S=2*PI()*R,表達(dá)式值顯示命令命令格式:?|?功能:計(jì)算表達(dá)式的值,并將其顯示在屏幕上。?表示從屏幕下一行的第一列起顯示結(jié)果;?表示從當(dāng)前行的當(dāng)前列起顯示結(jié)果。,3-1-2常量,常量:在程序的運(yùn)行過程中不改變其值的量常量的種類:數(shù)值型常量字符型常量邏輯型常量日期型常量貨幣型常量,1.數(shù)值型常量,用整數(shù)、小數(shù)、科學(xué)計(jì)數(shù)法表示的數(shù)舉例:85,-56.2,1.256E3,3.8E-2等,2.字符型常量,由一串字符組成的字符串表示:用“”(雙引號(hào))、(單引號(hào))
3、、(方括號(hào))括起來舉例:副教授、”boy”、數(shù)據(jù)庫系統(tǒng)是合法常量,而”Iamaboy”、Itsabest是非法常量。注意:最長(zhǎng)只能為254個(gè)字符,3.邏輯型常量,表示“真”或“假”的量表示方法:“真”.T.、.Y.、.t.、.y.“假”.F.、.N.、.f.、.n.注意:兩邊的點(diǎn)不能少,4.貨幣型常量,表示貨幣值的量表示:以$開頭,4舍5入到小數(shù)點(diǎn)4位舉例:$123.456789結(jié)果為123.4568,5.日期型常量,在VisualFoxPro6.0中日期型常量用花括號(hào)“”作為定界符括起來,格式為:YYYY-MM-DD例如:2005/05/18,或2005-05-18。命令:setdateam
4、ericansetdateymd,6.日期時(shí)間型常量,日期時(shí)間常量也必須用花括號(hào)括起來,格式為:YYYY-MM-DDhh:mm:ssa|p例如:2005/05/1910:04am、2005-05-2111:32:14pm。但必須注意日期和時(shí)間之間必須有空格。,3-1-3變量,在命令操作和程序運(yùn)行過程中其值允許變化的量稱變量,在VisualFoxPro6.0中使用的變量分為字段變量、內(nèi)存變量?jī)煞N。每個(gè)變量都必須有一個(gè)變量名,變量名是由字母、漢字、數(shù)字和下劃線組成,但必須以字母或漢字。,字段變量是數(shù)據(jù)表結(jié)構(gòu)中的任意一個(gè)數(shù)據(jù)項(xiàng)。在一個(gè)數(shù)據(jù)表中,一個(gè)字段就是一個(gè)字段變量。字段變量是一種多值變量,假設(shè)一
5、個(gè)數(shù)據(jù)表中有10條記錄,那么該數(shù)據(jù)表的每一字段就有10個(gè)取值,當(dāng)用字段作變量時(shí),它的當(dāng)前值隨著記錄指針的移動(dòng)而不斷變化。,1字段變量,內(nèi)存變量是表結(jié)構(gòu)之外獨(dú)立存在于內(nèi)存中的變量。內(nèi)存變量可用來存儲(chǔ)數(shù)據(jù),定義內(nèi)存變量時(shí)需為它取名并賦初值,內(nèi)存變量建立后存儲(chǔ)于內(nèi)存中。VisualFoxPro6.0中共定義了6種類型的內(nèi)存變量:數(shù)值型、字符型、日期型、日期時(shí)間型、邏輯型和貨幣型??煞譃楹?jiǎn)單變量和數(shù)組變量。,2內(nèi)存變量,內(nèi)存變量賦值命令格式1:內(nèi)存變量=TO功能:計(jì)算表達(dá)式,然后將計(jì)算結(jié)果賦給內(nèi)存變量。,3.系統(tǒng)內(nèi)存變量,由VFP自動(dòng)生成和維護(hù)的變量一般以下劃線開頭舉例:_DIARYDATE&當(dāng)前日期
6、_CLIPTEXT&剪貼板文本例通過_calcvalue系統(tǒng)變量將一個(gè)數(shù)字傳到計(jì)算器中,激活計(jì)算器窗口并計(jì)算結(jié)果。clear_calcvalue=20activatewindowcalculator例往剪貼板中寫入信息_CLIPTEXT=hello!“查看剪貼板,數(shù)組是具有相同名字、不同下標(biāo)值的一組變量。數(shù)組中的每個(gè)數(shù)據(jù)值稱為數(shù)組元素,每個(gè)數(shù)組元素在數(shù)組中的位置是固定的,可以通過稱為下標(biāo)的編號(hào)來進(jìn)行訪問。在VisualFoxPro6.0中,同一個(gè)數(shù)組元素在不同時(shí)刻可以存儲(chǔ)不同類型的數(shù)據(jù),在同一數(shù)組中,每個(gè)數(shù)組元素可以被賦予不同數(shù)據(jù)類型的值。,4.數(shù)組變量,數(shù)組的定義,格式:DIMENSION|
7、DECLARE(),()(),()例如:DIMENSIONc(4)DECLAREa(3),b(2,3),數(shù)組的賦值,SZ(1)=”ABCD”&給SZ(1)賦值,字符型,值:ABCDSZ(2)=23.45&給SZ(2)賦值,數(shù)值型,值:23.45SZ(3)=2005/09/02&給SZ(3)賦值,日期型,值:2005年9月2日SZ(4)=2005/11/029:00am&給SZ(4)賦值,日期時(shí)間型,值:2005年11月2日上午9點(diǎn)SZ(5)=T&給SZ(5)賦值,邏輯型,值:真,3-2VisualFoxPro常見函數(shù),函數(shù)的概念:VisualFoxPro6.00系統(tǒng)為用戶提供了十分豐富的函數(shù),
8、靈活運(yùn)用這些函數(shù),不僅可以簡(jiǎn)化許多運(yùn)算,而且能夠加強(qiáng)和完善VisualFoxPro的許多功能。函數(shù)的一般格式:()函數(shù)的三要素:函數(shù)名、參數(shù)、函數(shù)值如:ABS(-2),3-2-1數(shù)學(xué)運(yùn)算函數(shù),1平方根函數(shù)SQRT()【格式】SQRT(數(shù)值表達(dá)式)【功能】計(jì)算并返回?cái)?shù)值表達(dá)式的算術(shù)平方根?!纠?】?SQRT(5*5)5.002絕對(duì)值函數(shù)ABS()【格式】ABS()【功能】計(jì)算并返回?cái)?shù)值表達(dá)式的絕對(duì)值?!纠?】?ABS(-43.29)43.29,3四舍五入函數(shù)ROUND()【格式】ROUND(數(shù)值表達(dá)式,有效位數(shù))【功能】對(duì)數(shù)值表達(dá)式的值按指定的有效位數(shù)進(jìn)行四舍五入?!纠?】?R0UND(3.14
9、159,4),ROUND(1234.9962,0),ROUND(1234.567,-1)3.141612351230,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。(4)如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)同號(hào),則結(jié)果為被除數(shù)除以除數(shù)而得到的余數(shù)。即:MOD(X1,X2)=X1-INT(X1/X
10、2)*X2。(5)如果被除數(shù)與除數(shù)不能整除,且被除數(shù)與除數(shù)異號(hào),則結(jié)果為被除數(shù)除以除數(shù)而得到的余數(shù)再加上除數(shù)。即:MOD(X1,X2)=X1-INT(X1/X2)*X2+X2?!纠?】?MOD(10,3)&結(jié)果為:1?MOD(-10,-3)&結(jié)果為:-1?MOD(-10,3)&結(jié)果為:2?MOD(10,-3)&結(jié)果為:-2,3-2-2字符處理函數(shù),1取子串函數(shù)SUBSTR()【格式】SUBSTR(字符串表達(dá)式,起始位置,長(zhǎng)度)【功能】從字符串表達(dá)式中的起始位置截取子字符串,長(zhǎng)度為所截取的子串的長(zhǎng)度?!纠?】store”ABCDEFG”toCN?SUBSTR(CN,4,2),SUBS(CN,1,
11、4),SUBS(CN,6,3)DEABCDFG若省略長(zhǎng)度,或者長(zhǎng)度超過從起始位置到末尾的長(zhǎng)度,則截取的子字符串為從起始位置到字符串表達(dá)式末尾的所有字符。例如:?SUBSTR(”計(jì)算機(jī)程序設(shè)計(jì)教程”,11)設(shè)計(jì)教程,2求字符串長(zhǎng)度函數(shù)LEN()【格式】LEN字符串表達(dá)式【功能】返回字符串表達(dá)式中所包含的字符個(gè)數(shù),即字符串長(zhǎng)度?!纠?】?LEN(”VisualFoxPro6.0”)16,3搜索子串位置函數(shù)AT()【格式】AT(字符串1,字符串2,)【功能】尋找字符串1在字符串2中首次出現(xiàn)的起始位置。若字符串2中不包含字符串1,則返回值為零。若有“數(shù)值表達(dá)式”(假設(shè)數(shù)值表達(dá)式為K),則尋找字符串1在
12、字符串2中第K次出現(xiàn)的位置?!纠?】X=”VisualFoxPro6.0”?AT(”Fox”,X)&顯示結(jié)果為8?AT(”fox”,X)&顯示結(jié)果為0?AT(”o”,X)&顯示結(jié)果為9?AT(”o”,X,2)&顯示結(jié)果為13,4空格函數(shù)SPACE()【格式】SPACE(數(shù)值表達(dá)式)【功能】產(chǎn)生與數(shù)值表達(dá)式的值相同的空格數(shù)。【例4】?”學(xué)生”+SPACE(4)+”情況”學(xué)生情況在“學(xué)生”和“情況”之間產(chǎn)生了4個(gè)空格字符。,3-2-3轉(zhuǎn)換函數(shù),1數(shù)值轉(zhuǎn)換為字符串函數(shù)STR()【格式】STR(數(shù)值表達(dá)式,長(zhǎng)度,小數(shù)位如)【功能】將數(shù)值表達(dá)式的值轉(zhuǎn)換為由長(zhǎng)度和小數(shù)位數(shù)指定的字符串。如果長(zhǎng)度值比數(shù)值表達(dá)
13、式的整數(shù)位數(shù)還要小,則返回由長(zhǎng)度個(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ù)?!纠?】?VAL(”32”+”18”)321800?VAL(”112GH”),VAL(”AB204”),VAL(”ASD”)112.000.000.00,3字符轉(zhuǎn)日期函數(shù)CTOD()【格式】CTOD(字符串表達(dá)式)【功能】將“月/日/年”格式的字符串表達(dá)式轉(zhuǎn)換為日期型數(shù)據(jù)?!纠?】DA=”12/12/
14、04”?CTOD(DA)12/12/04,4日期型轉(zhuǎn)換為字符串函數(shù)DTOC()【格式】DTOC(日期)【功能】將日期轉(zhuǎn)換為相應(yīng)的字符串?!纠?】D=2004/11/24DT=DTOC(D)?DT?LEN(DT)11/24/048,3-2-4日期和時(shí)間函數(shù),格式:DATE()功能:返回系統(tǒng)日期格式:TIME()功能:返回系統(tǒng)時(shí)間格式:DATETIME()功能:返回系統(tǒng)日期時(shí)間格式:YEAR()功能:返回中的年份,4位整型,格式:month()功能:返回中的月份格式:day()功能:返回中的日期,舉例?YEAR(2001-10-23)&返回2001?month(date()&返回當(dāng)天的月份,3-2
15、-5測(cè)試函數(shù),1測(cè)試文件頭函數(shù)BOF()【格式】BOF()【功能】該函數(shù)用于測(cè)試指定文件中的記錄指針是否指向文件頭。如果是則返回真值,否則返回假值?!纠繙y(cè)試文件記錄是否指向文件頭。USE學(xué)生表.dbf?BOF()&顯示結(jié)果為:.F.SKIP-1&移動(dòng)記錄指針到上一條記錄命令?BOF()&顯示結(jié)果為:.T.,2測(cè)試文件尾函數(shù)EOF()【格式】EOF()【功能】該函數(shù)用于測(cè)試指定文件中的記錄指針是否指向文件尾。如果是則返回真值,否則返回假值?!纠繙y(cè)試文件記錄是否指向文件尾。USE學(xué)生表.dbfGOTOBOTTOM?EOF()&顯示結(jié)果為:.F.SKIP&移動(dòng)記錄指針到上一條記錄命令?EOF()
16、&顯示結(jié)果為:.T.,【格式】RECNO()【功能】測(cè)試指定表文件中的記錄指針指向的記錄號(hào)。若指定的工作區(qū)無打開的表文件,函數(shù)返回值為:0;若指定的表文件無記錄或記錄指針位于文件頭,函數(shù)返回值為:1;若記錄指針指向文件尾,函數(shù)返回值為末記錄號(hào)加1?!纠繙y(cè)試記錄指針的當(dāng)前位置(假設(shè)學(xué)生檔案表中有10條記錄)。USE學(xué)生表.dbfGOTOBOTTOM&指向最后一條記錄?RECNO()&顯示結(jié)果為:10SKIP&指針移到下一條記錄?RECNO()&顯示結(jié)果為:11GOTOP&指向第一條記錄?RECNO()&顯示結(jié)果為:1SKIP-1&指針向上移一條記錄?RECNO()&顯示結(jié)果為:1,3測(cè)試當(dāng)前記
17、錄號(hào)函數(shù)RECNO(),字符處理函數(shù)(補(bǔ)充),格式:LTRIM()功能:刪除字符表達(dá)式值前的空格格式:RTRIM(或TRIM()功能:刪除字符表達(dá)式值后的空格格式:ALLTRIM()功能:將前后的空格去掉舉例?“AB”+SPACE(4)+”CD”&返回ABCD?ALLTRIM(“ABCD”)&返回ABCD?len(“abcd”)&返回5?len(alltrim(“ABCD“)&返回4,3-3操作符及表達(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á)式中的操作
18、對(duì)象必須具有相同的數(shù)據(jù)類型,如果表達(dá)式中有不同類型的操作對(duì)象,則必須將它們轉(zhuǎn)換成同種數(shù)據(jù)類型。,3-3-1算術(shù)表達(dá)式算術(shù)表達(dá)式是由數(shù)值型變量、常量、函數(shù)和數(shù)值操作符組成的。用于對(duì)數(shù)值型數(shù)據(jù)進(jìn)行常規(guī)的算術(shù)運(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,3-3-2字符表達(dá)式:,字符表達(dá)式是由字符型變量、常量、函數(shù)和字符操作符組成的。用于字符串的連接或者比較。字符串操作符為:+:連接兩個(gè)字符串。-:連接兩個(gè)
19、字符串,并將第一個(gè)字符串尾部的空格移到第二個(gè)字符串的尾部。$:判斷第一個(gè)字符串是否是第二個(gè)字符串的子字符串。,例如:LEN1=”VisualFoxPro6.0”LEN2=”數(shù)據(jù)庫教程”?LEN1+LEN2&結(jié)果為:VisualFoxPro6.0數(shù)據(jù)庫教程?LEN1-LEN2&結(jié)果為:VisualFoxPro6.0數(shù)據(jù)庫教程?len(LEN1-LEN2)&結(jié)果為:28,3-3-3日期時(shí)間表達(dá)式,日期時(shí)間表達(dá)式是由日期時(shí)間型變量、常量、函數(shù)和日期時(shí)間操作符組成的。日期時(shí)間操作符有:+:添加一個(gè)天數(shù)或秒數(shù)-:減少一個(gè)天數(shù)或秒數(shù)PM,例如:?2005-04-04+10&結(jié)果為:04/14/05?200
20、5-04-30-15&結(jié)果為:04/15/05?2003-08-0410:10a+10&結(jié)果為:08/04/0310:10:10AM?2003-08-0410:35p-10&結(jié)果為:08/04/0310:34:50,3-3-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.?”abcd”=”abc”&值為.F.setexacton|off,邏輯表達(dá)式是由邏輯型變量、常量、函數(shù)和字符運(yùn)算符組成的。用來對(duì)邏輯型數(shù)據(jù)進(jìn)行各種邏輯運(yùn)算,形成各種
21、簡(jiǎn)單的邏輯結(jié)果。,3-3-5邏輯表達(dá)式,高,運(yùn)算符OR或.OR.:邏輯或,只有兩個(gè)運(yùn)算對(duì)象均為.F.時(shí),返回.F.;其余均返回.T.AND或.AND.:邏輯與,只有兩個(gè)運(yùn)算對(duì)象均為.T.時(shí),返回.T.;其余均返回.F.NOT或.NOT.:邏輯非,運(yùn)算對(duì)象為.T.時(shí),返回.F.;運(yùn)算對(duì)象為.F.時(shí),返回.T.,例如?1733.AND3412&值為.F.?6/27.0R.”abc”#”ABC”.AND.NOT.F&值為.T.,運(yùn)算符同級(jí):從左到右運(yùn)算符不同級(jí),表達(dá)式的運(yùn)算順序,表達(dá)式舉例:,?(SQRT(32*2)/4+6)*5-20?(SQRT(32*2)/4+6)*5-2030?“cd”$“abc”+”def”?Date()=2002-3-8A=5b=4c=6?abandac?Abanda+bc,在
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 酒店宴會(huì)微站租賃合同
- 消防設(shè)施水電路施工合同
- 學(xué)校返聘退休教師協(xié)議范本
- 鐵路隧道頂管施工合同
- 體育館建設(shè)項(xiàng)目招標(biāo)文件樣本
- 建筑工地易燃易爆物品使用守則
- 夏令營(yíng)活動(dòng)合同示范文本
- 文化創(chuàng)意墊資施工協(xié)議
- 勞動(dòng)合同管理與員工福利
- 學(xué)校物業(yè)安保人員聘用協(xié)議
- 幾類特種玻璃簡(jiǎn)介課件
- 2024年度醫(yī)院空調(diào)設(shè)備運(yùn)行狀況報(bào)告課件
- 醫(yī)院培訓(xùn)課件:《ECMO概述及其護(hù)理》
- 蠟燭香薰知識(shí)講座
- 2024年陜西陜煤銅川礦業(yè)有限公司招聘筆試參考題庫含答案解析
- 餐飲門店運(yùn)營(yíng)管理手冊(cè)
- 跌倒護(hù)理專案改善案例課件
- 《生物試卷分析》課件
- 《如何做好中層干部》課件
- 反賄賂與反腐敗的危機(jī)防控
- 學(xué)校食堂維修合同書
評(píng)論
0/150
提交評(píng)論