(3).“指針”型循環(huán)控制語句
“指針”型循環(huán)控制語句,即根據(jù)用戶設(shè)置的表中的當(dāng)前記錄指針,決定循環(huán)體內(nèi)語句的執(zhí)行次數(shù)據(jù)。
1)語句格式:
SCAN[〈范圍〉][FOR〈條件表達式1〉
[ WHILE 〈條件表達式2〉]]
〈命令行序列〉
ENDSCAN
2)語句功能:
該語句在指定的范圍內(nèi),用數(shù)據(jù)記錄指針來控制循環(huán)次數(shù)。執(zhí)行語 句時,首先判斷函數(shù)EOF()的值,若其值為“真”,則結(jié)束循環(huán),否則, 結(jié)合〈條件表達式1〉或〈條件表達式2〉,執(zhí)行〈命令行序列〉,記錄指針移到指定的范圍和條件內(nèi)的下一條記錄,重新判斷函數(shù)EOF()的值,直到函數(shù)EOF()的值為真時結(jié)束循環(huán)。
【例】輸出“學(xué)生管理”數(shù)據(jù)庫的“學(xué)生”表中所有團員的姓名和地址。
程序文件名為PA10.PRG。
SET TALK OFF
CLEAR
OPEN DATABASE 學(xué)生管理
USE STUD
SCAN FOR 是否團員
? 姓名,地址
ENDSCAN
CLOSE DATABASE
SET TALK ON
RETURN
(4).使用循環(huán)語句時應(yīng)注意的幾點
(1)DO WHILE 和ENDDO、FOR 和ENDFOR、SCAN 和ENDSCAN必須配對使用。
(2)〈命令行序列〉可以是任何FoxPro 命令或語句,也可以是循環(huán)語句,即可以為多重循環(huán)。
(3)〈循環(huán)變量〉應(yīng)是數(shù)值型的內(nèi)存變量或數(shù)組元素。
(4)EXIT 和LOOP 命令嵌入在循環(huán)體內(nèi),可以改變循環(huán)次數(shù),但是不能單獨使用。EXIT 的功能是跳出循環(huán),轉(zhuǎn)去執(zhí)行ENDDO、ENDFOR、ENDSCAN 后面的第一條命令;LOOP 的功能是轉(zhuǎn)回到循環(huán)的開始處, 重新對“條件”進行判斷,相當(dāng)于執(zhí)行了一次ENDDO、ENDFOR、ENDSCAN 命令,它可以改變〈命令行序列〉中部分命令的執(zhí)行次數(shù)。
EXIT、LOOP 可以出現(xiàn)在〈命令行序列〉的任意位置。
(5).多重循環(huán)
多重循環(huán)即循環(huán)的嵌套,是在一個循環(huán)結(jié)構(gòu)的循環(huán)體中又包含另一個循 環(huán)。我們稱外層循環(huán)為外循環(huán),被包含的循環(huán)為內(nèi)循環(huán)。嵌套層數(shù)一般 沒有限制,但內(nèi)循環(huán)的循環(huán)體必須完全包含在外循環(huán)的循環(huán)體中,不能相互交叉。正確的嵌套關(guān)系如:
DO WHILE <條件表達式1>
<語句序列11>
DO WHILE <條件表達式2>
<語句序列21>
DO WHILE <條件表達式3>
<語句序列3>
ENDDO
<語句行序列22>
ENDDO
<語句行序列12>
ENDDO
![]() | ![]() .. 定價:¥225 優(yōu)惠價:¥213 更多書籍 |
![]() | ![]() .. 定價:¥133 優(yōu)惠價:¥133.0 更多書籍 |