vfp支持3種基本程序控制構(gòu)造:順序結(jié)構(gòu),選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)
一.順序結(jié)構(gòu):我們將依次執(zhí)行程序中的語(yǔ)句的程序結(jié)構(gòu)稱(chēng)為順序結(jié)構(gòu),這是最簡(jiǎn)單的1種程序結(jié)構(gòu)
例:順序結(jié)構(gòu)例程
程序文件內(nèi)容:
set talk off
clear
input "請(qǐng)輸入圓的半徑:" to r
s=3.1415926*r*r
"圓的面積是:",s
return
說(shuō)明:執(zhí)行程序時(shí),屏幕上顯示提示信息:請(qǐng)輸入圓的半徑.當(dāng)用戶(hù)鍵入半徑并按回車(chē)時(shí),vfp計(jì)算出圓的面積并顯示在屏幕上.
二.選擇結(jié)構(gòu):實(shí)際應(yīng)用中,常需要先判斷后處理,根據(jù)不同情況做不同的處理.選擇結(jié)構(gòu)就是對(duì)指定的條件進(jìn)行判斷,如果條件成立,則執(zhí)行指定的語(yǔ)句序列.在vfp中,選擇結(jié)構(gòu)包括if語(yǔ)句和do case語(yǔ)句.
1.if語(yǔ)句:
格式:
if 條件
語(yǔ)句序列1
[else]
[語(yǔ)句序列2]
endif
說(shuō)明:
(1).格式中的條件,多為條件表達(dá)式或邏輯表達(dá)式,結(jié)果為邏輯真或邏輯假
(2).執(zhí)行該語(yǔ)句時(shí),首先對(duì)條件進(jìn)行判斷,如果是邏輯真,則執(zhí)行語(yǔ)句序列1,然后轉(zhuǎn)到endif后的第1條語(yǔ)句繼續(xù)執(zhí)行;否則執(zhí)行語(yǔ)句序列2,然后轉(zhuǎn)到endif后的第1條語(yǔ)句繼續(xù)執(zhí)行.
(3).需判斷的條件比較多時(shí),可以使用if語(yǔ)句嵌套.
(4)endif必須與if成對(duì)出現(xiàn)
例:設(shè)計(jì)1個(gè)查詢(xún)程序,希望當(dāng)待人不存在時(shí)有信息提示.
程序文件內(nèi)容:
clear
accept "請(qǐng)輸入待查人姓名" to xm
locate for 姓名=xm
if .not.eof()
display
else
messagebox("查無(wú)此人")
endif
use
return
說(shuō)明:程序執(zhí)行時(shí),執(zhí)行l(wèi)ocate命令時(shí),記錄指針從表的首記錄一直找到最后1條記錄都未發(fā)現(xiàn)該姓名記錄時(shí),記錄指針才最后停在文件尾,此時(shí)eof()為真值;相反,若eof()取假值,則表示記錄指針停在待查人的記錄上.即當(dāng)
.not.eof()為真時(shí),記錄指針停在待查人的記錄上,查到的指定的記錄.也可用found()來(lái)代替程序中的.not.eof()
一.順序結(jié)構(gòu):我們將依次執(zhí)行程序中的語(yǔ)句的程序結(jié)構(gòu)稱(chēng)為順序結(jié)構(gòu),這是最簡(jiǎn)單的1種程序結(jié)構(gòu)
例:順序結(jié)構(gòu)例程
程序文件內(nèi)容:
set talk off
clear
input "請(qǐng)輸入圓的半徑:" to r
s=3.1415926*r*r
"圓的面積是:",s
return
說(shuō)明:執(zhí)行程序時(shí),屏幕上顯示提示信息:請(qǐng)輸入圓的半徑.當(dāng)用戶(hù)鍵入半徑并按回車(chē)時(shí),vfp計(jì)算出圓的面積并顯示在屏幕上.
二.選擇結(jié)構(gòu):實(shí)際應(yīng)用中,常需要先判斷后處理,根據(jù)不同情況做不同的處理.選擇結(jié)構(gòu)就是對(duì)指定的條件進(jìn)行判斷,如果條件成立,則執(zhí)行指定的語(yǔ)句序列.在vfp中,選擇結(jié)構(gòu)包括if語(yǔ)句和do case語(yǔ)句.
1.if語(yǔ)句:
格式:
if 條件
語(yǔ)句序列1
[else]
[語(yǔ)句序列2]
endif
說(shuō)明:
(1).格式中的條件,多為條件表達(dá)式或邏輯表達(dá)式,結(jié)果為邏輯真或邏輯假
(2).執(zhí)行該語(yǔ)句時(shí),首先對(duì)條件進(jìn)行判斷,如果是邏輯真,則執(zhí)行語(yǔ)句序列1,然后轉(zhuǎn)到endif后的第1條語(yǔ)句繼續(xù)執(zhí)行;否則執(zhí)行語(yǔ)句序列2,然后轉(zhuǎn)到endif后的第1條語(yǔ)句繼續(xù)執(zhí)行.
(3).需判斷的條件比較多時(shí),可以使用if語(yǔ)句嵌套.
(4)endif必須與if成對(duì)出現(xiàn)
例:設(shè)計(jì)1個(gè)查詢(xún)程序,希望當(dāng)待人不存在時(shí)有信息提示.
程序文件內(nèi)容:
clear
accept "請(qǐng)輸入待查人姓名" to xm
locate for 姓名=xm
if .not.eof()
display
else
messagebox("查無(wú)此人")
endif
use
return
說(shuō)明:程序執(zhí)行時(shí),執(zhí)行l(wèi)ocate命令時(shí),記錄指針從表的首記錄一直找到最后1條記錄都未發(fā)現(xiàn)該姓名記錄時(shí),記錄指針才最后停在文件尾,此時(shí)eof()為真值;相反,若eof()取假值,則表示記錄指針停在待查人的記錄上.即當(dāng)
.not.eof()為真時(shí),記錄指針停在待查人的記錄上,查到的指定的記錄.也可用found()來(lái)代替程序中的.not.eof()

