2-2016-VFP第2、3部分(程序設(shè)計(jì)初步(2))_第1頁
2-2016-VFP第2、3部分(程序設(shè)計(jì)初步(2))_第2頁
2-2016-VFP第2、3部分(程序設(shè)計(jì)初步(2))_第3頁
2-2016-VFP第2、3部分(程序設(shè)計(jì)初步(2))_第4頁
2-2016-VFP第2、3部分(程序設(shè)計(jì)初步(2))_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

VisualFoxpro6.0程序設(shè)計(jì)基礎(chǔ)重慶工商大學(xué)計(jì)算機(jī)學(xué)院計(jì)算機(jī)基礎(chǔ)教研室第二、三講程序設(shè)計(jì)初步(2)要點(diǎn): 掌握表達(dá)式、函數(shù)的基本用法編寫程序的基本元素命令常量變量表達(dá)式函數(shù)對象表單標(biāo)簽文本框命令按鈕……√√√

表達(dá)式運(yùn)算符及表達(dá)式

運(yùn)算符是在VFP中用來進(jìn)行運(yùn)算的符號。表達(dá)式是由數(shù)據(jù)、數(shù)據(jù)存儲容器和運(yùn)算符組成的運(yùn)算式。

在VFP系統(tǒng)中根據(jù)不同的運(yùn)算符及表達(dá)式結(jié)果的不同,表達(dá)式可以分為以下五種:

1、算術(shù)表達(dá)式2、字符表達(dá)式

3、日期表達(dá)式和日期時間表達(dá)式

4、關(guān)系表達(dá)式

5、邏輯表達(dá)式

1.常見的表達(dá)式

(1)算術(shù)表達(dá)式

算術(shù)表達(dá)式的運(yùn)算結(jié)果是數(shù)值型常數(shù)。算術(shù)運(yùn)算符:()分組括號**或^乘方%取模(除法的余數(shù))

*、/

乘、除+、-加、減特別注意符號的變化P20-21【例2-3】r=thisform.text1.values=3.14*r^2thisform.text2.value=s(2)字符表達(dá)式P21字符表達(dá)式運(yùn)算的結(jié)果是字符型常數(shù)或邏輯型常數(shù)。字符運(yùn)算符:$包含運(yùn)算+連接運(yùn)算

-連接運(yùn)算

字符型常數(shù)邏輯型常數(shù)

串1$串2“$”運(yùn)算實(shí)質(zhì)上是比較兩個串的包含關(guān)系,其作用是比較、判斷串1是否為串2的子串,如果串1是串2的子串,運(yùn)算結(jié)果為“真”,否則為“假”。所謂子串,如果串1中所有字符均包含在串2中、且與串1中排列方式與順序完全一致,則稱串1為串2的子串?!?”與“-”都是字符連接運(yùn)算符,都將兩邊的字符串順序連接,但“+”是直接連接,“-”則將串1尾部所有空格移到串2尾部后再連接;

□表示空格“XXXX□□□”+“YYYY”“XXXX□□□YYYY”↓“XXXX□□□”-“YYYY”“XXXXYYYY□□□”↓(3)日期表達(dá)式或日期時間表達(dá)式P21-22

日期和日期時間運(yùn)算符分為“+”和“-”兩種,其作用分別是在日期數(shù)據(jù)上增加或減少天數(shù),在日期時間數(shù)據(jù)上增加或減少秒數(shù)。注意:日期型不能和日期型數(shù)據(jù)相加格式結(jié)果及類型<日期>+<天數(shù)>日期型。指定日期若干天后的日期<天數(shù)>+<日期>日期型。指定日期若干天后的日期<日期>-<天數(shù)>日期型。指定日期若干天前的日期<日期1>-<日期2>數(shù)值型。兩個指定日期相差的天數(shù)<日期時間>+<秒數(shù)>日期時間型。指定日期時間若干秒后的日期時間<秒數(shù)>+<日期時間>日期時間型。指定日期時間若干秒后的日期時間<日期時間>-<秒數(shù)>日期時間型。指定日期時間若干秒前的日期時間<日期時間1>-<日期時間2>數(shù)值型。兩個指定日期時間相差的秒數(shù)格式結(jié)果及類型(4)關(guān)系表達(dá)式P22-23關(guān)系表達(dá)式的運(yùn)算結(jié)果為邏輯型常量。關(guān)系成立結(jié)果為(.T.);反之,結(jié)果為(.F.)。關(guān)系運(yùn)算符:<小于>大于=等于<=小于或等于>=大于或等于<>、!=、#不等于==完全等于(注:只適用于字符型)各種類型數(shù)據(jù)的比較規(guī)則如下:數(shù)值型和貨幣型數(shù)據(jù)根據(jù)其代數(shù)值的大小進(jìn)行比較。日期型和日期時間型數(shù)據(jù)進(jìn)行比較時,越新的日期或時間越大。邏輯型數(shù)據(jù)比較時,.T.比.F.大。字符型數(shù)據(jù)(字符串)比較P23當(dāng)字符串比較時,可用命令SETEXACTON/OFF來設(shè)置“=”是否為精確比較。在非精確比較(setexactoff默認(rèn)狀態(tài))時,在關(guān)系表達(dá)式的格式中,只要后一個表達(dá)式是前一個表達(dá)式的前綴,其結(jié)果便為真。例:”ABCDE”=“A”“ABCDE”=“AB”“ABCDE”=“ABC”“ABCDE”=“ABCD”“ABCDE”=“ABCDE”.T.例:”A”=“ABCDE”“AB”=“ABCDE”“ABC”=“ABCDE”“ABCD”=“ABCDE”

.F.(5)邏輯表達(dá)式P24

邏輯表達(dá)式的運(yùn)算結(jié)果仍是邏輯型常量。邏輯運(yùn)算符:

!、NOT、.NOT.邏輯非

OR、.OR.邏輯或

AND、.AND.邏輯與該運(yùn)算符只有一個操作對象邏輯運(yùn)算真值表ABA.AND.BA.OR.B.NOT.A.T..T..T..T..F..T..F..F..T..F..F..T..F..T..T..F..F..F..F..T.

函數(shù)

函數(shù)具有特定的功能,分為系統(tǒng)函數(shù)和自定義函數(shù)兩類。

函數(shù)具有函數(shù)名、參數(shù)和函數(shù)值三個要素,有的函數(shù)缺省參數(shù)。函數(shù)調(diào)用的一般形式為:函數(shù)名([參數(shù)表])一、數(shù)值處理函數(shù)P24-261)取整函數(shù)INT(<數(shù)值表達(dá)式>)格式:無條件去掉小數(shù)部分,不進(jìn)行四舍五入2)求余數(shù)函數(shù)格式:MOD(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)例如:MOD(38,5),MOD(38,-5),MOD(-38,5),MOD(-38,-5)38%5,38%-5,-38%5,-38%-5函數(shù)值與<數(shù)值表達(dá)式2>同號38-540-8-2-385-40-82-38-5-357-33-22-33-22-3【例】將一個3位整數(shù)X的百位數(shù)字和個位數(shù)字取出來。

X的百位數(shù)字:

X1=INT(X/100)X的個位數(shù)字:

X2=MOD(X,10)

P25【例2-4】

命令按鈕“逆序顯示”的Click事件代碼如下:x=thisform.text1.valuex1=INT(x/100)x2=INT(MOD(x,100)/10)x3=MOD(x,10)y=100*x3+10*x2+x1thisform.text2.value=y3)四舍五入函數(shù)

格式:ROUND(<數(shù)值表達(dá)式1>,<數(shù)值表達(dá)式2>)【例】ROUND()函數(shù)的使用。x=486.735ROUND(x,4-2),ROUND(x,1),ROUND(x,0),ROUND(x,-1),ROUND(X,-2)486.735位置:-2-10123

對<數(shù)值表達(dá)式2>+1位四舍五入486.74486.74874905005)隨機(jī)函數(shù)

格式:RAND()6)π函數(shù)

格式:PI()4)求平方根函數(shù)

格式:SQRT(<數(shù)值表達(dá)式>

)產(chǎn)生0-1之間的隨機(jī)數(shù)圓面積S=PI()*R*R例如:INT(RAND()*100)(0,100)的整數(shù)二、

字符串處理函數(shù)P27-291)求字符串長度函數(shù)LEN(<字符串表達(dá)式>)格式:2)生成空格函數(shù)SPACE(<數(shù)值型表達(dá)式>)格式:【例】LEN(SPACE(8)-SPACE(3))113)刪除字符串前后空格函數(shù)[R]TRIM(<字符串表達(dá)式>)LTRIM(<字符串表達(dá)式>)ALLTRIM(<字符串表達(dá)式>)格式:刪除后面的空格刪除前面的空格刪除前后空格4)求子串位置函數(shù)格式:AT(<字符串表達(dá)式1>,<字符串表達(dá)式2>[,<數(shù)值表達(dá)式>])5)取子串函數(shù)格式:LEFT(<字符串表達(dá)式>,<數(shù)值表達(dá)式>)RIGHT(<字符串表達(dá)式>,<數(shù)值表達(dá)式>)SUBSTR(<字符串表達(dá)式>,<起始位置>[,<數(shù)值表達(dá)式>])

6)宏替換函數(shù)

格式:&<字符型內(nèi)存變量>[.]分界符①A=“setdefaultto”&ad:\vfpsetdefaulttod:\vfp

②X=“SQRT(9)”Y=2*&x+5Y=2*SQRT(9)+5

③X12=“abcd”i=“1”j=”2”Y=x&i&jY=X12

④X=“123”Y=“a2&x5”Y=“a2&x5”

⑤X=123Y=“a2&x.5”Y=“a2&x.5”⑥X=“123”Y=“a2&x.5”Y=“a21235”

三、

日期時間函數(shù)P29-30

1)系統(tǒng)日期和系統(tǒng)時間函數(shù)

格式:DATE()TIME()DATETIME()字符型

2)求年份、月份和天數(shù)函數(shù)

格式:YEAR(<日期表達(dá)式>|<日期時間表達(dá)式>)MONTH(<日期表達(dá)式>|<日期時間表達(dá)式>)DAY(<日期表達(dá)式>|<日期時間表達(dá)式>)返回值4位P29-30【例2-5】

文本框Text1的Valid事件代碼如下:d=thisform.text1.valuethisform.text2.value=d-date()thisform.text3.value=year(date())thisform.text4.value=month(date())thisform.text5.value=day(date())表單Form1的Load事件代碼如下:setcenturyonsetdatetoymd

1)數(shù)值轉(zhuǎn)換成字符串函數(shù)

格式:STR(<數(shù)值型表達(dá)式>[,<長度>,[,<小數(shù)位數(shù)>]])【例】STR()函數(shù)的使用。P=-348.387STR(P,9,2)STR(P,6,2)STR(P,3)STR(P,6)STR(P)STR(P,10,4)□□-348.39□表示空格-348.4***□□

-348□□□□□□-348-348.3870四、數(shù)據(jù)類型轉(zhuǎn)換函數(shù)P31-32

2)字符串轉(zhuǎn)換為數(shù)值函數(shù)

格式:VAL(<數(shù)字字符串>)【例】VAL()函數(shù)的使用。VAL("X12.8"),VAL("-35.875"),VAL("3A.79")VAL(”32”+”18”)0.00-35.883.003218.00VAL(”32+18”)32.00P31【例2-6】

命令按鈕“逆序顯示”的Click事件代碼如下:x=thisform.text1.values=alltrim(x)f=right(s,1)+substr(s,2,1)+left(s,1)y=int(val(f))thisform.text2.value=y

3)字符與ASCII之間的轉(zhuǎn)換函數(shù)

格式:ASC(<字符型表達(dá)式>)CHR(<數(shù)值型表達(dá)式>)

4)日期或日期時間與字符串轉(zhuǎn)換函數(shù)

格式:CTOD(<字符型表達(dá)式>)

DTOC(<日期表達(dá)式>|<日期時間表達(dá)式>[,1])五、測試函數(shù)P33-341)條件測試函數(shù)

格式:IIF(<邏輯型表達(dá)式>,<表達(dá)式1>,<表達(dá)式2>)

thisform.label1.caption=iif(thisform.text1.value>10,"hello","你好")thisform.label1.caption=iif(rand()>0.5,"Hello","World")【例】在標(biāo)簽Label1中隨機(jī)顯示字符串“Hello”和“World”。2)數(shù)據(jù)類型測試函數(shù)

格式:VARTYPE(<表達(dá)式>)

返回的字母數(shù)據(jù)類型返回的字母數(shù)據(jù)類型C字符型或備注型G通用型N數(shù)值型、整型、浮點(diǎn)型或雙精度型D日期型Y貨幣型T日期時間型L邏輯型XNull值O對象型U未定義六、系統(tǒng)對話框函數(shù)格式:MESSAGEBOX(<字符串>[,<對話框類型>[,<對話框標(biāo)題字符串>]])函數(shù)名不能省略對話框類型及含義按鈕類型值對話框按鈕圖標(biāo)類型值圖標(biāo)默認(rèn)按鈕類型值默認(rèn)按鈕012345“確定”按鈕“確定”和“取消”按鈕“終止”、“重試”和“忽略”按鈕“是”、“否”和“取消”按鈕“是”和“否”按鈕“重試”和“取消”按鈕16324864“終止”圖標(biāo)“問號”圖標(biāo)“感嘆號”圖標(biāo)“信息”圖標(biāo)0256512第1個按鈕第2個按鈕第3個按鈕【例】修改【例2-4】中命令按鈕“逆序顯示”的“click”事件代碼,要求能輸入一個數(shù),并逆序顯示(如輸入756,則顯示657),如果輸入的不是一個3位自然數(shù),將彈出提示框,如圖所示。命令按鈕“逆序顯示”的“click”事件代碼如下:x=thisform.text1.val

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論