Ⅰ vfp金字大寶塔裡面for j =1 to i j是什麼意思!!
CLEAR
**清屏命令
c="金字大寶塔"
**將 "金字大寶塔"5個漢字賦值給變數c
n=LEN(c)/2
**LEN(c)是統計變數c的長度,除2是因為1個漢字占兩個位元組。計算後n就等於漢字數量
FOR i =1 to n
** 執行一個循環,循環次數是漢字字數
?SPACE(70-i)
**輸出到屏幕一個長度為70-i的空格組成的字元串
FOR j =1 to i
**嵌套一個循環,循環次數為上級循環中的i值
??SUBS(c,2*i-1,2)
**輸出到屏幕一個字元,這個字元是取變數c中的,從第2i-1個字元,取2位。也就是取一個漢字
=INKEY(0.5)
**等待0.5秒
END FOR
結束循環
ENDFOR
結束循環
單問號是先換行再輸出字元,雙問號是在當前位置顯示。所以這個程序顯示的結果是在屏幕中顯示一個金子塔形狀的5行字。
相關命令,看以下解釋。
FOR ... ENDFOR 命令
解釋:按指定的次數重復執行一組命令。
命令格式:
FOR VarName = nInitialValue TO nFinalValue [STEP nIncrement]
Commands
[EXIT]
[LOOP]
ENDFOR | NEXT
參數
VarName
指定作為計數器的內存變數名。計數器保存 FOR ... ENDFOR 循環內部 Visual FoxPro 命令執行的次數。在執行 FOR ... ENDFOR 之前,內存變數可以不存在。
nInitialValueTO nFinalValue
指定計數器的初值和終值。nInitialValue 和 nFinalValue 都可以是數組元素。
[STEP nIncrement]
指定計數器遞增或遞減的步長。如果 nIncrement 為負,則計數器遞減。如果省略 STEP 子句,每次 VarName 增加 1。
Commands
指定要執行的 Visual FoxPro 命令。Commands 可以包含任意數量的命令。
[EXIT]
在 FOR ... ENDFOR 循環中,將控制權傳遞給緊跟在 ENDFOR 後面的命令。EXIT 可以放在 FOR 和 ENDFOR 之間的任意位置。更多的信息,請參見 EXIT 命令。
[LOOP]
將控制權直接返回給 FOR 子句,不再執行 LOOP 和 ENDFOR 關鍵字之間的語句。計數器正常遞增或遞減,就像執行到 ENDFOR 一樣。更多的信息,請參見 LOOP 命令。
ENDFOR
指定 FOR ... ENDFOR 循環的結束。
*********************************************************
SUBS(c,2*i-1,2)解釋如下:
SUBSTR( ) 函數
作用:從給定的字元表達式或備注欄位中返回字元串。該字元串起始於字元表達式或備注欄位的指定位置,到指定數目字元結束。
格式:
SUBSTR(cExpression, nStartPosition [, nCharactersReturned])
參數
cExpression
指定要從其中返回字元串的字元表達式或備注欄位。
nStartPosition
指定返回的字元串在字元表達式或備注欄位 cExpression 中的位置,cExpression 的第一個字元是位置 1。 注意:
如果 nStartPosition 大於 cExpression 中的字元數, SUBSTR( ) 返回一個空串 ("")。
nCharactersReturned
從 cExpression 中返回的字元數目。如果省略了 nCharactersReturned 參數,那麼返回字元表達式結束前的全部字元。
返回值
字元型。SUBSTR( ) 返回一個字元串。
注意:
當在「調試」窗口中發出 SUBSTR( ) 時,對於備注欄位,SUBSTR( ) 不會返回值。要在調試窗口中返回值,可在 ALLTRIM( ) 中放入備注欄位名,並且將 ALLTRIM( ) 放入 SUBSTR( ) 中。
說明
在 SQL SELECT 命令中的備注欄位中使用 SUBSTR( ) 時,將 PADR( ) 函數包含在 SUBSTR( ) 中, 這樣使空的或不同長度的備注欄位在轉換到字元串時產生一致的結果。
示例
以下示例用 STORE 命令存儲串 'abcdefghijklm' 到變數 myString 中。CLEAR 清除 Visual FoxPro 主窗口。 首先用 nStartPosition = 1 作為指定的第一個字元,用 nCharactersReturned = 5 作為指定的五個字元,SUBSTR( ) 顯示該字元串 'abcde' 。接著 SUBSTR( ) 用 nStartPosition = 6 作為指定在字元串中從第六個字元開始直到字元表達式的末尾(用省略 nCharactersReturned 作為指定值),顯示字元串 'fghijklm'。
STORE 'abcdefghijklm' TO myString
CLEAR
? SUBSTR(myString, 1, 5)
? SUBSTR(myString, 6)