版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、VF程序文件的建立與設(shè)計(jì)程序文件的建立與設(shè)計(jì)Visual FoxPro程序文件,是一個(gè)以.PRG為擴(kuò)展名的文本文件。任何可以建立、編輯文本文件的工具,都可以創(chuàng)立和編輯Visual FoxPro程序文件。這些文本編輯工具,可以是Visual FoxPro系統(tǒng)提供的內(nèi)部編輯器,也可以是其它常用文本編輯軟件。在文本編輯環(huán)境下,不僅可以對程序文件進(jìn)行輸入和修改,還可以實(shí)現(xiàn)字符串查找、替換、刪除和編輯功能。 :/程序文件的建立與設(shè)計(jì)建立、編輯程序文件有兩種方式: 1.命令方式 MODIFY COMMAND 程序文件名 2.菜單方式 翻開“文件菜單,選擇“新建;在“新建窗口,選擇“程序,再選擇“新建文件;
2、在“程序文件編輯窗口,輸入程序文件,并保存,此時(shí)建立程序文件的操作結(jié)束。 :/程序文件的調(diào)用調(diào)用程序文件,即運(yùn)行程序文件,是程序文件建立的最終目的。在Visual FoxPro系統(tǒng)中,調(diào)用程序文件有很多方法,在這里僅介紹其中兩種方法。 1.命令方式 在Command 窗口中,輸入如下命令,那么程序文件被調(diào)用。 命令格式: DO 程序文件名 :/程序文件的調(diào)用2.菜單方式 以菜單方式調(diào)用程序文件,操作方法如下: (1在Visual FoxPro系統(tǒng)主菜單下,翻開“程序菜單,選擇“運(yùn)行。 2在“運(yùn)行窗口,輸入被調(diào)用的程序文件名即可。 :/程序的根本結(jié)構(gòu)Visual FoxPro系統(tǒng)提供的命令豐富,
3、且功能強(qiáng)大,把這些命令和程序設(shè)計(jì)語句有效地組織在一起,就形成了實(shí)現(xiàn)某一特定功能的程序。Visual FoxPro系統(tǒng)的程序有兩個(gè)特點(diǎn):一是程序控制流模式,由順序、分支、循環(huán)三種根本結(jié)構(gòu)構(gòu)成。二是面向?qū)ο罂梢暬慕Y(jié)構(gòu)程序模塊,在每個(gè)模塊的內(nèi)部也是由程序控制流組成。 :/程序的根本結(jié)構(gòu)常見的控制結(jié)構(gòu)如下: 1順序結(jié)構(gòu)(第35套 順序結(jié)構(gòu)是在程序執(zhí)行時(shí),根據(jù)程序中語句的書寫順序依次執(zhí)行的命令序列。Visual FoxPro系統(tǒng)中的大多數(shù)命令都可以作為順序結(jié)構(gòu)中的語句。 2分支結(jié)構(gòu) 分支結(jié)構(gòu)是在程序執(zhí)行時(shí),根據(jù)不同的條件,選擇執(zhí)行不同的程序語句,用來解決有選擇、有轉(zhuǎn)移的諸多問題。 :/ 3循環(huán)結(jié)構(gòu) 循
4、環(huán)結(jié)構(gòu)那么能夠使某些語句或程序段重復(fù)執(zhí)行假設(shè)干次。如果某些語句或程序段需要在一個(gè)固定的位置上重復(fù)操作,使用循環(huán)是最好的選擇。 程序的根本結(jié)構(gòu) :/4過程結(jié)構(gòu) 在許多應(yīng)用程序中,有一些程序段需要反復(fù)執(zhí)行屢次,這些程序段不在一個(gè)固定的位置上,而是分散在程序的許多位置上重復(fù)執(zhí)行,可將其與嵌入它的程序分開,形成獨(dú)立的程序序列,待使用時(shí)再調(diào)入程序中,以實(shí)現(xiàn)不同位置上的重復(fù)操作。這樣做增強(qiáng)了程序的可讀性和模塊化。我們稱這種具有獨(dú)立功能而且可以被其它程序調(diào)用的程序序列為過程。程序的根本結(jié)構(gòu) :/分支結(jié)構(gòu)單向分支分支結(jié)構(gòu)形式有如下三種: 1單向分支 單向分支語句,即根據(jù)用戶設(shè)置的條件表達(dá)式的值,決定某一操作是
5、否執(zhí)行。 1語句格式: IF條件表達(dá)式 命令行序列 ENDIF 2語句功能: 該語句首先計(jì)算條件表達(dá)式的值,當(dāng)條件表達(dá)式的值為真時(shí),執(zhí)行命令行序列;否那么,執(zhí)行ENDIF后面的第一條命令。 :/分支結(jié)構(gòu)雙向分支2雙向分支 雙向分支語句,即根據(jù)用戶設(shè)置的條件表達(dá)式的值,選擇兩個(gè)操作中的一個(gè)來執(zhí)行。 1語句格式: IF條件表達(dá)式 命令行序列1 ELSE 命令行序列2 ENDIF :/分支結(jié)構(gòu)雙向分支 2語句功能: 該語句首先計(jì)算條件表達(dá)式的值,當(dāng)條件表達(dá)式的值為真時(shí),執(zhí)行命令行序列1中的命令;否那么,執(zhí)行命令行序列2中的命令;執(zhí)行完命令行序列1或命令行序列2后都將執(zhí)行ENDIF后面的第一條命令。
6、:/分支結(jié)構(gòu)多向分支3多向分支 多向分支語句,即根據(jù)多個(gè)條件表達(dá)式的值,選擇執(zhí)行多個(gè)操作中的一個(gè)對應(yīng)執(zhí)行 。 1語句格式: DO CASE CASE條件表達(dá)式1 命令行序列1 CASE條件表達(dá)式2 命令行序列2 CASE條件表達(dá)式N 命令行序列N OTHERWISE 命令行序列N+1 ENDCASE :/分支結(jié)構(gòu)多向分支 2語句功能: 該語句根據(jù)給出的N個(gè)條件表達(dá)式的值,選擇N+1個(gè)命令行序列中的一個(gè)執(zhí)行。當(dāng)所有CASE中條件表達(dá)式的值都是假時(shí),如果有OTHERWISE項(xiàng),那么執(zhí)行命令行序列N+1,再執(zhí)行ENDCASE后面的第一條命令;否那么,直接執(zhí)行ENDCASE后面的第一條命令。 :/使用
7、分支語句應(yīng)注意的幾點(diǎn): 1IF ENDIF和DO CASE ENDCASE 必須配對使用,DO CASE與第一個(gè)CASE條件表達(dá)式之間不應(yīng)有任何命令。 2條件表達(dá)式可以是各種表達(dá)式或函數(shù)的組合,其值必須是邏輯值。 :/使用分支語句應(yīng)注意的幾點(diǎn): 3命令行序列可以由一個(gè)或多個(gè)命令組成,可以是條件控制語句組成的嵌套結(jié)構(gòu)。 4DO CASE ENDCASE 命令,每次最多只能執(zhí)行一個(gè)命令行序列。在多個(gè)CASE項(xiàng)的條件表達(dá)式值為真時(shí),只執(zhí)行第一個(gè)條件表達(dá)式值為真的命令行序列,然后執(zhí)行ENDCASE的后面的第一條命令。 :/循環(huán)結(jié)構(gòu) “當(dāng)型循環(huán)常用的循環(huán)語句有以下三種形式: 1.“當(dāng)型循環(huán)控制語句 “當(dāng)
8、型循環(huán)控制語句,即根據(jù)條件表達(dá)式的值,決定循環(huán)體內(nèi)語句的執(zhí)行次數(shù)。 1語句格式: DO WHILE 條件表達(dá)式 命令行序列LOOP/EXIT ENDDO :/循環(huán)結(jié)構(gòu) “當(dāng)型循環(huán) 2語句功能: 該語句通過條件表達(dá)式的值來控制循環(huán)。執(zhí)行語句時(shí),反復(fù)判斷條件表達(dá)式的值,當(dāng)條件表達(dá)式的值為“真時(shí),執(zhí)行命令行序列;否那么,結(jié)束循環(huán),并執(zhí)行ENDDO 后面的第一條命令。 :/循環(huán)結(jié)構(gòu) “計(jì)數(shù)型循環(huán)2“計(jì)數(shù)型循環(huán)控制語句 “計(jì)數(shù)型循環(huán)控制語句,即根據(jù)用戶設(shè)置的循環(huán)變量的初值、終值和步長,決定循環(huán)體內(nèi)語句的執(zhí)行次數(shù)據(jù)。 1語句格式:FOR循環(huán)變量循環(huán)變量初值TO循環(huán) 變量終值STEP循環(huán)變量步長 命令行序列
9、 LOOP/EXIT ENDFORNEXT :/循環(huán)結(jié)構(gòu) “計(jì)數(shù)型循環(huán)2語句功能: 該語句用循環(huán)變量來控制命令行序列的執(zhí)行次數(shù)。執(zhí)行語句時(shí),首先將循環(huán)變量初值賦給循環(huán)變量,然后判斷循環(huán)變量是否大于或小于循環(huán)變量終值,假設(shè)結(jié)果為“真,那么結(jié)束循環(huán),執(zhí)行ENDFOR 后面的第一條命令;否那么,執(zhí)行命令行序列,循環(huán)變量自動(dòng)按循環(huán)變量步長增加或減少,再重新判斷循環(huán)變量當(dāng)前的值是否大于或小于循環(huán)變量終值,直到其結(jié)果為真。 :/循環(huán)結(jié)構(gòu) “指針型循環(huán)3“指針型循環(huán)控制語句 “指針型循環(huán)控制語句,即根據(jù)用戶設(shè)置的表中的當(dāng)前記錄指針,決定循環(huán)體內(nèi)語句的執(zhí)行次數(shù)據(jù)。 1語句格式: SCAN范圍FOR條件表達(dá)式命
10、令行序列LOOP/EXIT ENDSCAN :/循環(huán)結(jié)構(gòu) “指針型循環(huán) 2語句功能: 該語句在指定的范圍內(nèi),用數(shù)據(jù)記錄指針來控制循環(huán)次數(shù)。執(zhí)行語句時(shí),首先判斷函數(shù)EOF的值,假設(shè)其值為“真,那么結(jié)束循環(huán),否那么,結(jié)合條件表達(dá)式1或條件表達(dá)式2,執(zhí)行命令行序列,記錄指針移到指定的范圍和條件內(nèi)的下一條記錄,重新判斷函數(shù)EOF的值,直到函數(shù)EOF的值為真時(shí)結(jié)束循環(huán)。 :/使用循環(huán)語句時(shí)應(yīng)注意的幾點(diǎn) 1DO WHILE和ENDDO、FOR和ENDFOR、SCAN和ENDSCAN必須配對使用。 2命令行序列可以是任何FoxPro命令或語句,也可以是循環(huán)語句,即可以為多重循環(huán)。 3循環(huán)變量應(yīng)是數(shù)值型的內(nèi)存
11、變量或數(shù)組元素。 :/4EXIT和LOOP命令嵌入在循環(huán)體內(nèi),可以改變循環(huán)次數(shù),但是不能單獨(dú)使用。EXIT的功能是跳出循環(huán),轉(zhuǎn)去執(zhí)行ENDDO、ENDFOR、ENDSCAN后面的第一條命令;LOOP的功能是轉(zhuǎn)回到循環(huán)的開始處,重新對“條件進(jìn)行判斷,相當(dāng)于執(zhí)行了一次ENDDO、ENDFOR、ENDSCAN命令,它可以改變命令行序列中局部命令的執(zhí)行次數(shù)。EXIT、LOOP可以出現(xiàn)在命令行序列的任意位置。使用循環(huán)語句時(shí)應(yīng)注意的幾點(diǎn) :/過程在Visual FoxPro系統(tǒng)中,程序是獨(dú)立存放在磁盤上的程序文件,使用時(shí)用戶通過文件名調(diào)用并執(zhí)行。為了實(shí)現(xiàn)用戶的某種目的,很可能需要由多個(gè)程序完成。 1.調(diào)用
12、過程語句,即執(zhí)行已有的過程。 (1)語句格式: DO 過程名 (2)語句功能: 執(zhí)行以過程名為名的過程。 :/過程2.過程返回語句,即返回過程的調(diào)用處。 (1)語句格式: RETURNTO MASTERTO過程名(2)語句功能: 將控制返回到調(diào)用程序中調(diào)用命令的下一語句。 :/簡單的輸入輸出命令1ACCEPT命令【格式】:ACCEPT TO 【功能】在程序執(zhí)行過程中,將用戶交互式輸入的內(nèi)容作為字符串賦值給指定內(nèi)存變量。 該命令只接受字符型數(shù)據(jù),輸入的字符串不需要加定界符 :/簡單的輸入輸出命令2INPUT命令 【格式】: INPUT TO 【功能】在程序執(zhí)行過程中,將用戶交互式輸入的內(nèi)容賦值給
13、指定內(nèi)存變量 可以輸入字符型、數(shù)值型、邏輯型、日期型和日期時(shí)間型等類型數(shù)據(jù),而且可以是常量、變量、函數(shù)或表達(dá)式等形式,按回車鍵結(jié)束輸入,系統(tǒng)將輸入的數(shù)據(jù)賦值給。 :/簡單的輸入輸出命令3WAIT命令【格式】: WAIT TO【功能】顯示提示信息,暫停程序執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)執(zhí)行程序。 假設(shè)選擇可選項(xiàng)TO ,將輸入的單個(gè)字符作為字符型數(shù)據(jù)賦給指定的;假設(shè)用戶是按Enter鍵或單擊鼠標(biāo),的值為空串。假設(shè)省略所有可選項(xiàng),屏幕顯示“鍵入任意鍵繼續(xù)默認(rèn)提示信息 :/簡單的輸入輸出命令三條輸入命令的異同ACCEPT命令只能接受字符型數(shù)據(jù),不需定界符,輸入完畢按回車鍵結(jié)束; WAIT命令只
14、能輸入單個(gè)字符,且不需定界符,輸入完畢不需按回車鍵; INPUT命令可接受數(shù)值型、字符型、邏輯型、日期型和日期時(shí)間型數(shù)據(jù),數(shù)據(jù)形式可以是常量、變量、函數(shù)和表達(dá)式,如果是字符串,需用定界符,輸入完畢按回車鍵結(jié)束。 :/簡單的輸入輸出命令4定位輸入命令【命令】:SAY| GET READ【功能】在屏幕指定的行列位置輸入數(shù)據(jù)。 :/簡單的輸入輸出命令【說明】命令中的各選項(xiàng)說明如下:是指屏幕窗口的位置。SAY給出提示信息。GET 取得變量的值。GET子句必須使用命令READ激活。GET 必須先定義再使用。比方先申請為多個(gè)寬度的空格 :/內(nèi)存變量的作用域-全局變量1全局變量 全局變量是指在所有程序模塊中
15、都有效的內(nèi)存變量 在程序或過程中定義全局變量的語句為:【格式】PUBLIC 例:Public X,Y & X、Y被顯示定義為全局變量Z=0 &Z變量被隱式定義?Y,Z & Y=.F. Z=0,變量的初始值為.F. :/內(nèi)存變量的作用域-全局變量【說明】1當(dāng)定義多個(gè)變量時(shí),各變量名之間用逗號隔開;2用PUBLIC語句定義過的內(nèi)存變量,在程序執(zhí)行期間可以在任何層次的程序模塊中使用;3變量定義語句要放在使用此變量的語句之前,否那么會(huì)出錯(cuò); :/圖示:主程序:X=0子程序: ?X 子程序: ?X :/內(nèi)存變量的作用域-局部變量2局部變量 局部變量是指在建立它的程序以及被此程序調(diào)用的子程序中有效的內(nèi)存變
16、量 。在程序中沒有被顯示定義為全局變量的內(nèi)存變量都被看作是局部變量。局部變量可以用PRIVATE說明.命令格式為:【格式】PRIVATE :/內(nèi)存變量的作用域-局部變量【說明】1用PRIVATE語句說明的內(nèi)存變量,只能在本程序及其下屬過程中使用,退出程序時(shí),變量自動(dòng)釋放;2用PRIVATE語句在過程中說明的局部變量,可以與上層調(diào)用程序出現(xiàn)的內(nèi)存變量同名,但它們是不同的變量,在執(zhí)行被調(diào)用過程期間,上層過程中的同名變量將被隱藏。即:在下級程序中再使用PRIVATE顯示定義,就為同名變量, 該變量的值不能返回到主程序。 :/圖示:子程序Private XX=1主程序:X=0?X :/內(nèi)存變量的作用域
17、-本地變量3本地變量 本地變量是指只能在建立它的程序中有效的內(nèi)存變量。即不能將本地變量傳遞到它的上一級或是下一級程序中。命令格式為:【格式】LOCAL :/圖示:子程序Local XX=1主程序:X=0?X :/重要提示 但凡過程中未經(jīng)說明的內(nèi)存變量,系統(tǒng)一律認(rèn)為是局部變量,這種方式叫做隱式定義方式。也可以使用專門命令來定義局部變量,即顯式定義方式。 在同一過程中,用隱式或顯式定義的局部變量的作用域完全相同。在主程序或上級過程中未經(jīng)Private語句定義的局部變量,在下級過程中也未經(jīng)顯式定義,它的新值可以返回主程序或上級過程;假設(shè)在下級過程中進(jìn)行了顯式定義,即定義為同名變量,那么其新值不能返回
18、主程序。 :/習(xí)題&MAIN.PRGPUBLIC AA=1B=2?A,BDO SUB?A,B,C,D&SUB.PRGPRIVATE BPUBLIC CA=11B=12C=13D=14?A,B,C,DRETURNA=11,B=12,C=13,D=14A=11,B=2,C=13,D= :/過程的帶參數(shù)調(diào)用1.帶參數(shù)調(diào)用調(diào)用過程語句,即執(zhí)行已有的過程,并為調(diào)用過程提供過程參數(shù)?!靖袷健浚?DO 子程序名 WITH 語句功能:執(zhí)行以過程名為名的過程。該處的參數(shù)表又稱為實(shí)參表。其中的參數(shù)為常量、已賦值的變量或數(shù)值表達(dá)式。 :/過程的帶參數(shù)調(diào)用2.接收參數(shù)【格式】PARAMETERS 語句功能:該命令必須
19、位于被調(diào)用過程的第一條可執(zhí)行語句處。此處的參數(shù)表稱為形參表,其中的參數(shù)一般為內(nèi)類變量。形參與實(shí)參的個(gè)數(shù)應(yīng)相等、數(shù)據(jù)類型和個(gè)數(shù)要對應(yīng)相同。 :/重要提示1.值傳遞方式分為:變量傳遞與參數(shù)傳遞。2.在參數(shù)傳遞過程中,如果實(shí)參是常量或是表達(dá)式,稱為按值傳遞,即把實(shí)參的值傳給形參,形參不能返回到實(shí)參;如果實(shí)參是變量,稱為按引用傳遞,即把實(shí)參的地址傳給形參,形參可以將值返回給實(shí)參;3.在參數(shù)傳遞過程中,如果實(shí)參不是變量,它將作為變量傳遞到它的下級過程中。4. 假設(shè)形參被顯示定義為局部變量,仍然可以返回到上級程序。帶參數(shù)的過程傳遞是利用參數(shù)將值傳遞到主程序,不是通過變量來傳遞值。 :/讀程序第7題X1=1
20、X2=2DO P1 WITH X1,X2?X1,X2X1=1X2=2DO P1 WITH X1,X1+X2?X1,X2RETURN&程序P1.prgPARA W1,W2W1=W1*3W2=W2*4RETURN X1=1,X2=2X1=1,X1+X2=3W1=3X1=3 X2=2X1=3 X2=8 :/自定義函數(shù)自定義函數(shù)和過程一樣,可以以獨(dú)立的程序文件形式單獨(dú)存儲(chǔ)在磁盤上,也可以放在過程文件或直接放在程序文件中自定義函數(shù)具有如下語法結(jié)構(gòu): FUNCTION PARAMETER RETURN 自定義函數(shù)的調(diào)用語法與系統(tǒng)函數(shù)的調(diào)用相同。 :/例題:【例】計(jì)算圓面積(example.prg)INPUT 請輸入圓的半徑: TO R? 圓的面積為:,AREA(R)SET TALK ONFUNCTION AREA & 計(jì)算面積的函數(shù)PARAMETER X & 形參說明RETURN (3.1416*X*2) :/內(nèi)部過程內(nèi)部過程:把多個(gè)過程組織在一個(gè)文件中(這個(gè)文件稱之為過程文件),或者把過程放在調(diào)用它的程序文件的末尾。Visual FoxPro為了識別過程文件或者程序文件中的不同過程,規(guī)定過程文件或者程序文件中的過程必
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初級會(huì)計(jì)經(jīng)濟(jì)法基礎(chǔ)-2021年5.16上午初級會(huì)計(jì)職稱考試《經(jīng)濟(jì)法基礎(chǔ)》真題
- 基于深度學(xué)習(xí)的大動(dòng)態(tài)信噪比下調(diào)制方式識別方法研究
- 應(yīng)急預(yù)警與預(yù)測方法
- 二零二五年度設(shè)備試用及環(huán)保評估合同3篇
- 二零二五年度綠色能源項(xiàng)目合作意向協(xié)議書范本3篇
- 二零二五年度砂石料開采與環(huán)境保護(hù)合作協(xié)議3篇
- 二零二五年度個(gè)人消費(fèi)分期貸款質(zhì)押擔(dān)保合同書2篇
- 2025版鐵路貨運(yùn)特點(diǎn)與業(yè)務(wù)流程規(guī)范合同3篇
- 香煙店衛(wèi)生標(biāo)準(zhǔn)規(guī)范
- 二零二五年度高??蒲谐晒D(zhuǎn)化委托實(shí)施協(xié)議3篇
- (正式版)FZ∕T 80014-2024 潔凈室服裝 通 用技術(shù)規(guī)范
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- 湖南省長沙市開福區(qū)青竹湖湘一外國語學(xué)校2023-2024學(xué)年九年級下學(xué)期一模歷史試題
- 風(fēng)電場事故案例分析
- 八年級上冊-2024年中考?xì)v史總復(fù)習(xí)核心考點(diǎn)與重難點(diǎn)(部編版)
- 醫(yī)院科室人才建設(shè)規(guī)劃方案
- 護(hù)理飲食指導(dǎo)整改措施及方案
- 全國大學(xué)生英語競賽詞匯大綱
- 胸外科手術(shù)圍手術(shù)期處理
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識點(diǎn)詳解PPT》
- 配網(wǎng)設(shè)備缺陷分類及管理重點(diǎn)標(biāo)準(zhǔn)
評論
0/150
提交評論