版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章VisualFoxPro程序設計基礎2.1常量與變量VFP的基本的數據類型包括:
(1)數值型N
數值型數據表示數量,由正(+)負(-)號、數字和小數點組成。
(2)貨幣型Y
用于表示貨幣數據時,使用貨幣型。(3)字符型C
數值型數據由任意字符和漢字組成,用于表示姓名、專業(yè)、地址、名稱等符號信息,數值性質的信息也可用字符表示。(4)日期型D
日期型用于存儲日期數據。日期數據可進行各種數值運算。(5)日期時間型T
日期時間型數據同時保存日期和時間,可放入兩者的任一個.(6)邏輯型L
邏輯型數據的值只有真、假兩個值。2.1.1常量
常量是在程序運行過程中保持不變的量。
(1)數值型數值型常量是平常的數值常數,它由正號(+)、負號(-)、數字(0~9)和小數點組成,如-6.78。為了表示很大或很小的數值型常量,也可以使用科學記數法形式書寫,例如1.6E-12表示1.6×10-12
(2)貨幣型貨幣型常量用來表示貨幣值。表示貨幣型常量時,需在數字前加上美元符號($)。例如$123。貨幣數據在存儲和計算時,采用4位小數。如果一個貨幣型常量多于4位小數,那么系統(tǒng)會自動將多余的小數位四舍五入。例如,常量$123.456789將存儲為
。
$123.4568(3)字符型字符型常量是由單引號、雙引號和方括號括起來的一串字符,這些字符可以是ASCII字符,也可以是漢字。例如‘計算機’,”123”,[數據]。這里將單引號、雙引號和方括號稱為定界符。字符串常量的定界符必須成對匹配。
注意:不包含任何字符的字符串(“”)叫空串??沾c包含空格的字符串(“”)不同?!纠?.1】顯示幾個字符型常量在命令窗口鍵入以下兩條命令:?”計算機”,’123’,[數據],[‘ABX’”abc”]??”學習”,’字符串’,””,[表示方法]顯示結果如下:計算機123數據‘ABX’”abc”學習字符串表示方法(4)日期型
日期型常量有嚴格的日期格式和傳統(tǒng)的日期格式兩種,其定界符都是一對花括號?;ɡㄌ杻劝?、月、日三部分內容,各部分內容之間用分隔符分隔。常用的分隔符有斜杠(/)、連字符(-)、句點(.)和空格符。嚴格的日期格式{^yyyy-mm-dd}第一個字符必須是脫字符^年份必須是4位(如2001、1999)注意:年月日的次序不能顛倒,不能缺省!例如{^2009-04-17}月,日均為2位傳統(tǒng)的日期格式傳統(tǒng)日期格式中的月、日各為2位數字,而年份可以是2位數字,也可以是4位數字。{10/08/01}、{10-08-01}、{10082001} 這種格式的日期型常量要受到語句 SETDATETO和SETCENTURYTO設置的影響。(5)日期時間型
日期時間型常量包括日期和時間兩部分內容,數據兩端用花括號括起,日期時間型常量的格式為{^年/月/日[時:[分[:秒]][上午|下午]]}。{^2009-04-17,11:30AM}(6)邏輯型
.T.、.t.、.Y.、.y.表示邏輯型常量的真。
.F.、.f.、.N.、.n.表示邏輯型常量的假。注意:前后兩個句點作為邏輯型常量的定界符是必不可少的,否則會被誤認為變量名。2.1.2變量
變量名由字符(字母、漢字、_和數字)組成,不能以數字打頭。變量名不能使用系統(tǒng)保留字。變量有字段變量及內存變量兩種。
每個變量都有一個名字,可以通過變量名訪問變量。當出現內存變量與字段變量同名時,若簡單地用變量名訪問,則系統(tǒng)默認為字段變量。如果要訪問內存變量,則必須在變量名前加上前綴M.(或M->),例如M.姓名。(2008年4月真題)如果內存變量和字段變量均有變量名“姓名”,那么引用內存變量的正確方法是()。A)M.姓名B)M->姓名C)姓名D)A)和B)都可以D2.1.2變量
1.變量賦值格式:變量名=值
STORE值TO變量名表
兩個變量賦值的語句的差別是前者一次只能將一個值賦給一個變量,后者一次可以將一個值賦給多個變量。【例2.2】變量賦值。
r=10s=3.14159*r*rSTORE“面積”TOs1,s2?r,s,s1,s2 &&?為顯示后面的內容(2008年4月真題)在VisualFoxPro中,有如下內存變量賦值語句:
X={^2001-07-2810:15:20PM} Y=.F. M=$123.45 N=123.45 Z="123.24"
執(zhí)行上述賦值語句之后,內存變量X、Y、M、N和Z的數據類型分別是()。
A)D、L、Y、N、C B)T、L、Y、N、C C)T、L、M、N、C D)T、L、Y、N、SB2.1.2變量
2.顯示變量格式1:DISPLAYMEMORY[LIKE<通配符>][TOPRINTER[PROMPT]|TOFILE<文件名>]
格式2:LISTMEMORY[LIKE<通配符>] [TOPRINTER[PROMPT]|TOFILE<文件名>]
顯示內存變量名和當前信息。*表示任意多個字符,?表示任意一個字符。
TOPRINTER:顯示記錄送打印機打印。帶PROMPT項,打開打印對話框,在該對話框中對打印機進行設置。
TOFILE文件名:顯示記錄送到指定的文件中保存,擴展名為.txt。2.1.2變量
格式:
RELEASE
變量名表|ALL[LIKE變量名描述|EXCEPT變量名描述]
格式:
CLEARMEMORY
前者清除命令中描述的內存變量,后者清除所有的內存變量。3.內存變量的釋放(2006年9月真題)從內存中清除內存變量的命令是()。
A)Release B)Delete C)Erase D)DestroyA2.1.3數組
數組的定義數組就是變量名相同而下標不同的一組變量。格式:
DIMENSION<數組名>(<下標上限1>[,<下標上限2>])[,…]
DECLARE<數組名>(<下標上限1>[,<下標上限2>])[,…]例如,命令DIMENSIONx(5),y(2,3)定義了兩個數組:一維數組x含5個元素:x(1)、
x(2)、
x(3)、
x(4)、
x(5)。二維數組y含6個元素:y(1,1)、y(1,2)、y(1,3)、y(2,1)、y(2,2)、y(2,3)。數組創(chuàng)建后,系統(tǒng)自動給每個數組元素賦以邏輯值.F.可以用一維數組的形式訪問二維數組。例如命令DIMENSIONy(2,3)定義了一個二維數組y, 含6個元素:y(1,1)、y(1,2)、y(1,3)、y(2,1)、y(2,2)、y(2,3)。用一維數組的形式可依次表示為:y(1)、y(2)、y(3)、y(4)、y(5)、y(6),其中y(4)與y(2,1)是同一變量。2.1.3數組(2006年4月真題)執(zhí)行下列命令序列后,最后一條命令的顯示結果是
DIMENSIONM(2,2)()
M(1,1)=10 M(1,2)=20 M(2,1)=30 M(2,2)=40 ?M(2)
A)變量未定義的提示
B)10 C)20 D).F.C2.2表達式
表達式是由數據元素和操作符適當連接而成的式子。1.數值表達式數值表達式用于進行數值運算。操作符功
能+,-正負號**,^冪*,/,%乘,除,取余+,-加減優(yōu)先級從高到低為:+,-號
**,^
*,/,%
+,-。2.2表達式2.字符表達式字符表達式用于進行字符運算。操作符功
能+前后兩個字符串首位連接形成一個新的字符串-連接前后兩個字符串,將前字符串的尾部空格移到合并后的新字符串尾部$判左側字符串是否包含在右側字符串中
優(yōu)先級從高到低為:+,-$。2.2表達式3.日期時間表達式日期時間表達式用于進行日期運算。
格式結果及類型<日期>+<天數>日期型。指定若干天后的日期。<天數>+<日期>日期型。指定若干天后的日期。<日期>-<天數>日期型。指定若干天前的日期。<日期>-<日期>數值型。指定兩個日期相差的天數。<日期時間>+<秒數>日期時間型。指定若干秒后的日期時間。<秒數>+<日期時間>日期時間型。指定若干秒后的日期時間。<日期時間>-<秒數>日期時間型。指定若干秒前的日期時間。<日期時間>-<日期時間>數值型。指定兩個日期相差的秒數。(2006年4月真題)表達式{^2005-10-310∶0∶0}-{^2005-10-39∶0∶0}的數據類型是
。數值型(N)2.2表達式4.關系表達式
關系操作符用于進行關系運算
操作符功
能<小于>大于=等于<>,#,!=不等于<=小于等于>=大于等于==字符串精確等于比較關系操作符沒有優(yōu)先級。2.2表達式(1)數值型、貨幣型按其數值論大小。(2)字符型字符按在字符序列中的排列順序論大小。VFP中可分為三種情況:
Machine字符序列從小到大為:空格大寫字母小寫字母一級漢字(按拼音排序)。
PinYin字符序列漢字按拼音排序;對于西文字符從小到大為:空格小寫字母大寫字母。
Stroke字符序列漢字按筆畫排序;對于西文字符從小到大為:空格大寫字母小寫字母。2.2表達式
(3)日期型按日期論大小,日期或時間越往前越小。例如,{^2009-04-01}<{^2009-05-01}(4)邏輯型假小于真。即.F.<.T.2.2表達式5.邏輯表達式
邏輯表達式用于進行邏輯運算
操作符功
能.NOT.或!邏輯非.AND.邏輯與.OR.邏輯或優(yōu)先級從高到低為:.NOT.,!.AND..OR.(2006年4月真題)設X=“11”,Y=“1122”,下列表達式結果為假的是()。
A)NOT(X==Y)AND(X$Y) B)NOT(X$Y)OR(<>Y) C)NOT(X>=Y) D)NOT(X$Y)D2.2表達式6.綜合表達式的運算優(yōu)先級
首先執(zhí)行:數值運算符,字符運算符,日期運算符其次執(zhí)行:關系運算符
最后執(zhí)行:邏輯運算符2.3常用函數
1.數值函數
INT(n) 取數值n的整數部分。CEILING(n) 返回大于或等于數值n的最小整數。FLOOR(n) 返回小于或等于數值n的最大整數。SQRT(n) 求n的算術平方根。
ABS(n) 返回n的絕對值。MAX(n1,n2[,…])求n1,n2,…中數值最大的。MIN(n1,n2[,…])求n1,n2,…中數值最小的。
MOD(n1,n2) 求n1/n2的余數。ROUND(n1,n2)將n1的值按n2位四舍五入。
MOD(n1,n2) 求n1/n2的余數其中:n1是被除數,n2是除數。余數的正負號與除數相同。如果被除數與除數同號,那么函數值即為兩數相除的余數;如果被除數與除數異號,則函數值為兩數相除的余數再加上除數的值。2.3常用函數2.3常用函數【例2.3】數值函數應用。
?INT(680.34) &&顯示680?SQRT(9) &&顯示3.00?MAX(2,4.5,-100) &&顯示4.5?MOD(26,10) ,MOD(23,-5) &&顯示6-2?ROUND(1536.2854,3) &&顯示1536.285?ROUND(1536.2854,2) &&顯示1536.29?ROUND(1536.2854,0) &&顯示1536?ROUND(1536.2854,-1) &&顯示15402.3常用函數2.字符函數
LEN(c) 返回字符串c的長度(字符數)
SPACE(n)返回n個空格的字符串。LEFT(s,n) 取字符串s左邊n個字符。RIGHT(s,n) 取字符串s右邊n個字符。
SUBSTR(s,n1,n2)取字符串s第n1個字符開始n2個字符。
TRIM(s)
去掉字符串s右邊的空格字符。
LTRIM(s)
去掉字符串s左邊的空格字符。
ALLTRIM(s)
去掉字符串s左右兩邊的空格字符。AT(s1,s2,n)返回字符串s1在字符串s2中第n次出現 的位置。沒有定位到則返回0。STUFF(s1,n1,n2,s2)
用s2替換s1中從第n1位開始,長度為n2的一個子串?!纠?.4】 STORE‘GOODBYE!’TOs1 STORE‘MORNING’TOs2 ?STUFF(s1,6,3,s2),STUFF(s1,1,4,s2)
GOODMORNINGMORNINGBYE!2.3常用函數(2008年9月真題)
LEFT(“12345.6789”,LEN(“子串”))的計算結果是
。2.(2008年4月真題)有如下賦值語句:a=“計算機”,b=“微型”,結果為“微型機”的表達式是()。
A)b+LEFT(a,3) B)b+RIGHT(a,1) C)b+LEFT(a,5,3) D)b+RIGHT(a,2)3.(2008年4月真題)下列程序段執(zhí)行后,內存變量s1的值是()。
s1="network" s1=stuff(s1,4,4,"BIOS") ?s1 A)networkB)netBIOSC)netD)BIOS1234DB4.(2007年9月真題)命令?LEN(SPACE(3)-SPACE(2))的結果是A)1()
B)2 C)3 D)5
D
5.(2007年4月真題)?AT(“EN”,RIGHT(“STUDENT”,4))的執(zhí)行結果是
。
2
2.3常用函數3.日期函數
DATE() 返回當前日期。TIME() 返回當前時間字符串“hh:mm:ss”。DATETIME()返回當前日期時間。
YEAR(d) 返回日期d年的數值。MONTH(d)返回日期d月的數值。
DAY(d) 返回日期d日的數值。
HOUR(t) 返回日期時間t的小時部分(24小時制)。
MINUTE(t)返回日期時間t的分鐘部分。
SEC(t)返回日期時間t的秒數部分。2.3常用函數4.數據類型轉換函數CTOD(s) 將日期字符串s轉換為日期。CTOT(s) 將時間字符串s轉換為時間。
DTOC(d) 將日期d轉換為日期字符串。
TTOC(t) 將時間t轉換為時間字符串。
&<字符型變量>[.] 替換出字符型變量的內容。6.(2006年4月真題)在VisualFoxPro中,宏替換可以從變量中替換出()。
A)字符串 B)數值
C)命令 D)以上三種都可能7.(2005年9月真題)依次執(zhí)行下列命令后的輸出結果是
SETDATETOYMD()。
SETCENTURYON SETCENTURYTO19ROLLOVER10 SETMARKTO"." ?CTOD("49-05-01") A)49.05.01 B)1949.05.01 C)2049.05.01 D)出錯DB2.3常用函數5.測試函數
BETWEEN(<表達式T>,<表達式L>,<表達式H>)
判斷<表達式T>是否在<表達式L>和<表達式H>之間。ISNULL(<表達式>)
判斷表達式的結果是否為NULL值。EMPTY(<表達式>)
判斷表達式的結果是否為“空”值。IIF(<條件表達式>,<表達式1>,<表達式2>)
當條件表達式為.T.時,函數取表達式1的值;當條件表達式為.F.時,函數取表達式2的值。VARTYPE(<表達式>[,<邏輯表達式>])
測試表達式的類型,返回一個大寫字母。8.(2006年4月真題)在下列的VisualFoxPro表達式中,運算結果不為邏輯真的是()。
A)EMPTY(SPACE(0)) B)LIKE(′xy*′,′xyz′) C)AT(′xy′,′abcxyz′) D)ISNULL(.NULL.)9.(2005年9月真題)下列VisualFoxPro表達式中,運算結果為邏輯真的是()。
A)EMPTY(.NULL.) B)LIKE(′xy?′、′xyz′) C)AT(′xy′、′abcxyz′) D)ISNULL(SPACE(0))CB10.(2007年9月真題)命令?VARTYPE(TIME())的結果是()。
A)C B)D C)T D)出錯11.(2006年9月真題)設X=6<5,命令?VARTYPE(X)的輸出是()。
A)N B)C C)L D)出錯ACVisualFoxPro程序文件,是一個以(.PRG)為擴展名的文本文件。任何可以建立、編輯文本文件的工具,都可以創(chuàng)建和編輯VisualFoxPro程序文件。這些文本編輯工具,可以是VisualFoxPro系統(tǒng)提供的內部編輯器,也可以是其它常用文本編輯軟件。2.4程序與程序文件2.4.1程序的概念建立、編輯程序文件有兩種方式:1.命令方式
MODIFYCOMMAND〈程序文件名〉2.菜單方式打開“文件”菜單,選擇“新建”;在“新建”窗口,選擇“程序”,再選擇“新建文件”;在“程序文件”編輯窗口,輸入程序文件,并保存,此時建立程序文件的操作結束。2.4.2程序文件的建立與執(zhí)行
調用程序文件,即運行程序文件,是程序文件建立的最終目的。在VisualFoxPro系統(tǒng)中,調用程序文件有很多方法,在這里僅介紹其中兩種方法。1.命令方式 在Command窗口中,輸入如下命令,則程序文件被調用。
DO〈程序文件名〉2.菜單方式 以菜單方式調用程序文件,操作方法如下:
(1)在VisualFoxPro系統(tǒng)主菜單下,打開“程序”菜單,選擇“運行”。(2)在“運行”窗口,輸入被調用的程序文件名即可。2.4.2程序文件的建立與執(zhí)行
1.(2008年9月真題)ModifyCommand命令建立的文件的默認擴展名是()。 A)prg B)app C)cmd D)exe2.(2008年9月真題)欲執(zhí)行程序temp.prg,應該執(zhí)行的命令是()。 A)DOPRGtemp.prg B)DOtemp.prg
C)DOCMDtemp.prg D)DOFORMtemp.prg
ABInput<提示信息>to<內存變量>從鍵盤上接受輸入,但不能不輸入任何內容;<提示信息>為字符表達式,起提示說明作用;可接受的數據類型:字符型、數值型、邏輯型、日期型、日期時間型輸入字符常量必須加定界符,邏輯型常量必須用圓點定界,日期型和日期時間型要用嚴格的日期格式。2.4.3
簡單的輸入輸出命令
2.4.3
簡單的輸入輸出命令例:clearinput"請輸一個字符數據"toa?"a的數據類型是"??vartype(a)ifvartype(a)<>"C"waitwindows"數據類型錯誤"at10,10endif
2.4.3
簡單的輸入輸出命令accept
<提示信息>to<內存變量>只能接受字符串,輸入時不需要加定界符如果不輸入任何內容而直接按回車鍵,系統(tǒng)會把空串賦給指定的內存變量。例:accept"輸入字符數據"toa?"a的數據類型是"??vartype(a)2.4.3
簡單的輸入輸出命令wait<提示信息>to<內存變量>不指定提示信息,則默認為“按任意鍵繼續(xù)…”如果指定了window子句,則出現一個提示框使用timeout子句設定等待時間2.4.3
簡單的輸入輸出命令例:clearwaitwait"你好!"waitwindowswaitwindows"你好!"waitwindowsat5,5waitwindowsat5,50nowaitwaitwindowsat5,5timeout5waittoswindowat10,10timeout5順序結構由一系列語句組成,程序運行時按順序執(zhí)行語句?!纠?.5】一個簡單的求ax2+bx+c=0的方程的解程序。a=2b=1c=-1TEMP=b*b-4*a*cx1=(-b+SQRT(TEMP))/(2*a)x2=(-b-SQRT(TEMP))/(2*a)?x1,x2 &&顯示-0.5000-1.0000
建立程序文件123.PRG:
MODICOMM1232.5程序的基本結構簡單的求ax2+bx+c=0方程解程序
執(zhí)行程序文件123.PRGDO123主窗口顯示:-1.0000 -4.00002.5.1選擇結構
選擇結構就是如果條件成立,執(zhí)行指定的語句序列。選擇結構語句包括IF分支和CASE分支。
1.簡單形式的條件語句語法格式:
IF<條件表達式> <語句序列1>ENDIF功能:若條件表達式為.T.,則執(zhí)行語句序列1,然后轉向ENDIF的下一條語句;否則直接轉向ENDIF的下一條語句去執(zhí)行。if條件語句序列1endif語句序列2假真例:從鍵盤上輸入兩個數,按從小到大的順序輸出。開始輸出a,ba>b第一個數->a第二個數->b不成立成立輸出b,aInput“輸入第一個數:”toaInput“輸入第二個數:”tobIf(a>b)?b,aendif?a,b語法格式:
IF<條件表達式> <語句序列1> ELSE <語句序列2> ENDIF
2.5.1選擇結構2.一般形式的條件語句功能:若條件表達式為.T.,執(zhí)行語句序列1,否則執(zhí)行語句序列2。if條件語句序列1endif語句序列3語句序列2
假
真1.(2005年9月真題)下列程序段的輸出結果是(
)。
ACCEPTTOA IFA=[123456]
S=0 ENDIF S=1 ?S RETURN A)0 B)1 C)由A的值決定 D)程序出錯B2.下面程序的運行結果是()。(2008年4月真題)
SETEXACTON s="ni"+SPACE(2) IFs="ni" IFs="ni" ?"one" ELSE ?"two"ENDIF ELSE IFs="ni" ?"three" ELSE ?"four" ENDIF ENDIF RETURN A)one B)two C)three D)fourC先在較短字符串尾部加上若干空格3.多分支語句DOCASE...ENDCASE語法格式:
DOCASE CASE<條件1><語句行序列1> CASE<條件2><語句行序列2>
…………… CASE<條件n><語句行序列n> [OTHERWISE<語句行序列>] ENDCASE2.5.1選擇結構真endcase后的語句語句序列1語句序列2語句序列n條件1條件2條件notherwise語句序列假假假真真有2.5.2循環(huán)結構循環(huán)結構是在指程序執(zhí)行過程中,其中的某段代碼被重復執(zhí)行若干次。1.DOWHILE—ENDDO語句語句格式:dowhile<條件><命令序列>enddo語句序列中遇到退出循環(huán)語句EXIT,退出循環(huán)體,執(zhí)行ENDDO后面的語句。這些規(guī)則也適用FOR循環(huán)和SCAN循環(huán)。dowhile條件enddo后面的語句循環(huán)體真假例:求S=1+2+…+100clears=0i=1dowhilei<=100s=s+ii=i+1enddo?“S=“,sreturnYi=i+1NY開始打印ss=0i=1結束s=s+ii<=1001.下列程序顯示的結果是
。(2005年4月真題)
s=1 i=0 dowhilei<8 s=s+i
i=i+2
enddo ?s132.(2008年9月真題)(2006年9月真題)下列程序段執(zhí)行以后,內存變量y的值是()。
x=76543 y=0 DOWHILEx>0 y=x%10+y*10 x=int(x/10) ENDDO A)3456 B)34567C)7654D)765433.(2008年4月真題)下列程序段執(zhí)行以后,內存變量y的值是()。
CLEAR x=12345 y=0 DOWHILEx>0 y=y+x%10 x=int(x/10) ENDDO ?y A)54321 B)12345C)51D)15BD4.(2007年9月真題)下面程序計算一個整數的各位數字之和,在下劃線處應填寫的語句是()。
SETTALKOFF INPUT"x="TOx s=0 DOWHILEx!=0 s=s+MOD(x,10)
ENDDO
?s SETTALKON A)x=int(x/10) B)x=int(x%10) C)x=x-int(x/10) D)x=x-int(x%10)A顯示VFP命令執(zhí)行的狀態(tài)。不顯示VFP命令執(zhí)行的狀態(tài)。5.(2007年4月真題)執(zhí)行下列程序,顯示的結果是
。
one="WORK" two="" a=LEN(one) i=a DOWHILEi>=1 two=two+SUBSTR(one,i,1) i=i-1 ENDDO ?twoKROW
2.5.2循環(huán)結構2.FOR—ENDFOR語句語句格式:
for<循環(huán)變量>=<初值>to<終值>step<步長>
<循環(huán)體>
endfor|next只要變量的值小于等于終值,重復執(zhí)行循環(huán)體中的語句序列。具體執(zhí)行步驟如下:(1)給變量賦初值;(2)判斷循環(huán)變量的值是否小于等于終值;(3)若不是,則循環(huán)結束;(4)若是,則執(zhí)行語句序列;(5)變量=變量+步長,(若省略STEP,則步長=1);(6)轉(2)。2.5.2循環(huán)結構循環(huán)變量加步長循環(huán)變量和終值比較endfor后面的語句循環(huán)體給循環(huán)變量賦初值假真2.5.2循環(huán)結構3.SCAN—ENDSCAN語句scan[<范圍>][for<條件1>][where<條件2>]<循環(huán)體>
endsacn<范圍>的默認值為ALL。1.(2005年4月)在VisualFoxPro中,如果希望跳出SCAN…ENDSCAN循環(huán)體,執(zhí)行ENDSCAN后面的語句,應使用()。A)LOOP語句B)EXIT語句C)BREAK語句D)RETURN語句2.(2005年9月)在VisualFoxPro中,可以使用
語句跳出SCAN...ENDSCAN循環(huán)體外執(zhí)行ENDSCAN后面的語句。BEXIT
2.6多模塊程序設計
程序模塊語句1211232232程序由語句和模塊組成模塊是一個獨立的程序段,可以被其他模塊和程序調用,也可以調用其他模塊2.6.1模塊的定義和調用模塊可以是子程序,也可以是過程。子程序和前面講的程序一樣是一個獨立的.PRG文件??梢员恢鞒绦蚝推渌映绦蛘{用。過程是能夠完成某項功能的一段程序代碼,可以放在程序代碼的后面,也可以保存在單獨文件里,叫做過程文件其擴展名也是.PRG。procedure<過程名>……endprocfunction<過程名>……endfunc必須以字母和下劃線開頭1.模塊及其定義2.模塊的調用格式1:
DO<文件名>|<過程名>
格式2:
在名字后面加一對小括號
<文件名>|<過程名>()2.6.1模塊的定義和調用過程可存放在下列位置:(1)一個獨立的程序的結束語句后面可同時存放多個過程,包含該過程的程序可直接調用該過程。
(2)在一個過程文件中,集中存放多個過程。要調用過程文件中的過程,首先要打開過程文件,一旦過程文件被打開,那么其中的所有過程都可以被調用。格式:SETPROCEDURETO[過程文件名表][ADDITIVE]系統(tǒng)可同時打開多個過程。選ADDITIVE,在打開當前過程文件時原先的過程不關閉。不再使用過程文件時用RELEASEPROCEDURE命令關閉指定過程文件。2.6.1模塊的定義和調用格式1:PARAMETERS變量名表格式2:LPARAMETERS變量名表VFP中,參數傳遞有下列兩種方法:(1)按引用方式傳遞調用程序通過引用方式向過程傳送變量和數組。如果在被調用的過程中一個值被改變,則新的值被送回調用程序的相關的變量或數組中。(2)按賦值方式傳遞如果要通過賦值方式向過程傳送變量或數組,被調用的過程中任何參數的改變都不會傳送到調用程序相關的變量或數組中。2.6.2參數傳遞傳遞參數的語句(用在主程序中)do
文件名或過程名with
實參文件名或過程名(實參)接受參數的語句(與傳遞參數的do語句配合使用,放在被調用模塊中作為第一條執(zhí)行語句)parameters
形參2.6.2參數傳遞clearm=1n=2doAA?m,nprocedureAAm=100n=200returnendprocclearm=1n=2doAAwithmc=AA(n)?m,n,cprocedureAAparametersxx=100returnxendproc格式1格式2如果采用格式1,則:如果
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年消防工程維保及消防安全教育培訓合同2篇
- 二零二五版美發(fā)沙龍與發(fā)型師勞動合同范本(含職業(yè)規(guī)劃)3篇
- 2025年度特種車輛租賃及操作培訓服務合同3篇
- 二零二四南通國際會展中心場地租賃及配套設施合同3篇
- 二零二五版電商數據分析與優(yōu)化代運營合同3篇
- 年度客運用車市場分析及競爭策略分析報告
- 2024-2025學年高中歷史第二單元中國古代文藝長廊第7課漢字與書法課時作業(yè)含解析岳麓版必修3
- 2024-2025學年高中歷史第6單元辛亥革命與中華民國的建立第20課北洋軍閥統(tǒng)治時期的政治經濟與文化經典題集錦含解析新人教版必修中外歷史綱要上
- 2024音樂人授權影視作品使用其音樂合同
- 二零二四年度4S店租賃期內合同解除與違約金協(xié)議
- 氣管切開患者氣道濕化的護理進展資料 氣管切開患者氣道濕化
- 管理模板:某跨境電商企業(yè)組織結構及部門職責
- 底架總組裝工藝指導書
- 簡單臨時工勞動合同模板(3篇)
- 聚酯合成反應動力學
- 自動控制原理全套課件
- 上海科技大學,面試
- 《五年級奧數總復習》精編課件
- TS2011-16 帶式輸送機封閉棧橋圖集
- 礦區(qū)道路工程施工組織設計方案
- 多聯機的施工方案與技術措施
評論
0/150
提交評論