21程序與程序文件_第1頁
21程序與程序文件_第2頁
21程序與程序文件_第3頁
21程序與程序文件_第4頁
21程序與程序文件_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2.1程序與程序文件2.1程序與程序文件 程序與程序文件 考點(diǎn)1 程序的概念、建立與執(zhí)行 1程序的概念 程序是能夠完成一定任務(wù)的命令集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當(dāng)運(yùn)行程序時(shí),系統(tǒng)會(huì)按照一定的次序自動(dòng)執(zhí)行包含在程序文件中的命令。 2程序文件的建立與修改 程序文件的建立與修改一般是通過調(diào)用系統(tǒng)內(nèi)置的文本編輯器來進(jìn)行的。其建立步驟如下。 (l)打開文本編輯窗口。 (2)在文本編輯窗口中輸入程序內(nèi)容,此處所輸入的程序命令不會(huì)馬上被執(zhí)行。 (3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。 3打開或修改程序文件的方法 (1)從“文件”菜單

2、中選擇“打開”命令,彈出“打開”對(duì)話框。 (2)在“文件類型”列表框中選擇“程序”。 (3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。 (4)編輯修改后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件,若要放棄修改,可直接按Esc鍵,或從“文件”菜單中選擇“還原”命令。 4程序文件的執(zhí)行 程序文件建立后,可使用多種方式、多次執(zhí)行它,常用的以下有兩種方式。 (l)菜單方式。 (2)命令方式。 考點(diǎn)2 簡(jiǎn)單的輸入輸出命令 程序一般都包含數(shù)據(jù)輸入、數(shù)據(jù)處理和數(shù)據(jù)輸出3個(gè)部分。 1 INPUT命令 格式:INPUTTO 功能:該命令等待用戶從鍵盤輸入數(shù)據(jù),當(dāng)用戶回車后,系

3、統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。 注釋:輸入的數(shù)據(jù)可以是常量、變量,也可以是更為一般的表達(dá)式。但不能不輸入任何內(nèi)容直接按回車鍵輸入字符串時(shí)必須加定界符,輸入邏輯型常量時(shí)要用圓點(diǎn)定界(如.T. ,.F.),則輸入日期時(shí)間型常量時(shí)要用大括號(hào)(如2001-03-01)。 2 ACCEPT命令 格式:ACCEPTTO 功能:該命令等待用戶從鍵盤輸入字符串,當(dāng)用戶回車后,系統(tǒng)將表達(dá)式的值存入指定的內(nèi)存變量。 注釋:該命令只能接收字符串。用戶在輸入字符串時(shí)不需要加定界符;否則,系統(tǒng)會(huì)把定界符作為字符串本身的一部分。如果不輸入任何內(nèi)容而直接按回車鍵,系統(tǒng)會(huì)把空串賦給指定的內(nèi)存變量。 3 WAIT命令 格式

4、:WAITTOWINDOWAT, NOWAITCLEARINOCLEARTIMEOUT 功能:該命令顯示字符表達(dá)式的值作為提示信息,暫停程序的執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)程序運(yùn)行。 注釋:用來保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標(biāo),那么中保存的將是空串若不選TO 短語,則輸入的單字符不保留。 小提示: 如果用DO命令執(zhí)行查詢文件、菜單文件,在文件名中必須要包括擴(kuò)展名(QPR、MPR)。 7.2 程序的基本結(jié)構(gòu) 程序結(jié)構(gòu)是指程序中命令或語句執(zhí)行的流程結(jié)構(gòu),包括3種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。 考點(diǎn)3 順序結(jié)構(gòu) 順序結(jié)構(gòu)是最簡(jiǎn)單的程序結(jié)構(gòu),它

5、是按命令在程序中出現(xiàn)的先后次序依次執(zhí)行。 考點(diǎn)4 選擇結(jié)構(gòu) 支持選擇結(jié)構(gòu)的語句包括條件語句和分支語句。 1條件語句 格式: IF ELSE ENDIF 功能:該語句根據(jù)是否成立從兩組代碼中選擇一組執(zhí)行。 語句的執(zhí)行流程圖如圖7-1和圖7-2所示。 圖7-1有ELSE的選擇語句 圖7-2無ELSE的選擇語句 2分支語句 格式:DO CASE CASE CASE CASE OTHERWISE ENDCASE 功能:語句執(zhí)行時(shí),依次判斷CASE后面的條件是否成立。分支語句實(shí)現(xiàn)的是一種擴(kuò)展的選擇結(jié)構(gòu),可以根據(jù)條件從多組代碼中選擇一組執(zhí)行。分支語句的流程如圖7-3所示。 圖7-3 多分支語句 考點(diǎn)5 循

6、環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)也稱為重復(fù)結(jié)構(gòu),是指程序在執(zhí)行的過程中,其中的某段代碼被重復(fù)執(zhí)行若一干珠。被重復(fù)執(zhí)行的代碼段,通常稱為循環(huán)體。Visual FoxPro支持循環(huán)結(jié)構(gòu)的語句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。 1 DO WHILE - ENDDO語句 格式: DO WHILE LOOP EXIT ENDDO 功能:首先判斷循環(huán)條件是否為真,如果成立則執(zhí)行DO WHILE和ENDDO之間的命令序列,如果遇到LOOP語句,則回到DO WHILE處繼續(xù)執(zhí)行,遇到EXIT語句,則退出循環(huán)體;當(dāng)執(zhí)行到ENDDO時(shí),再次返回DO WHILE處判斷循環(huán)條件,一直

7、到條件為假時(shí),退出循環(huán)體,執(zhí)行ENDDO之后的語句。 DO WHILE循環(huán)語句的控制流程如圖7-4和圖7-5所示。 圖7-4基本循環(huán)結(jié)構(gòu)圖 7-5含有LOOP或EXIT的循環(huán) 2 FOR - ENDFOR語句 格式: FOR=TOSTEP ENDFOR 功能:首先將初值賦給循環(huán)變量,然后判斷循環(huán)條件是否成立(若步長為正值,則循環(huán)條件為;若步長為負(fù)值,則循環(huán)條件為)。如果成立,則執(zhí)行循環(huán)體,然后循環(huán)變量增加一個(gè)步長值,并再次判斷循環(huán)條件,一直到條件為假時(shí),退出循環(huán)體。該語句通常用于實(shí)現(xiàn)循環(huán)次數(shù)已知情況下的循環(huán)結(jié)構(gòu) 3 SCAN - ENDSCAN語句 格式: SCANFORWHERE ENDSC

8、AN 功能:該循環(huán)語句一般用于處理表中記錄,語句可指明需要處理的記錄范圍及應(yīng)滿足的條件。執(zhí)行該語句時(shí),記錄指針自動(dòng)、依次地在當(dāng)前表的指定范圍內(nèi)滿足條件的記錄上移動(dòng),對(duì)每一條記錄執(zhí)行循環(huán)體內(nèi)的命令。 7.3 多模塊程序 模塊是一個(gè)相對(duì)獨(dú)立的程序段,它可以被其他模塊調(diào)用,也可以調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱為子程序,把調(diào)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般都是多模塊程序,包含多個(gè)程序模塊。 考點(diǎn)6 模塊的定義和調(diào)用 1模塊的定義 在Visual FoxPro中,模塊可以是命令文件,也可以是過程。過程定義的語句格式為: PROCEDURE|FUNCTION RE

9、TURN ENDPROCIENDFUNC 功能說明如下。 (1) PROCEDURE|FUNCTION命令表示一個(gè)過程的開始,并命名過程。過程名必須以字母或下劃線開頭,可以包含數(shù)字、字母和下劃線。 (2)當(dāng)程序執(zhí)行到RETURN命令時(shí),控制將轉(zhuǎn)回到調(diào)用處(或命令窗口),并返回表達(dá)式的值。若默認(rèn)RETURN命令,系統(tǒng)將在過程結(jié)束處自動(dòng)調(diào)用一條隱含的RETURN命令。 (3)ENDPROC|ENDFUNC命令表示一個(gè)過程的結(jié)束。如果默認(rèn)此語句,那么過程結(jié)束于下一條PROCEDURE|FUNCTION命令或文件尾。 2模塊的調(diào)用 模塊調(diào)用的格式有兩種。 (1)使用DO命令,格式如下。 DO| (2)

10、在名字后加一對(duì)小括號(hào),格式如下。 |() 3打開過程文件 命令格式如下。 SET PROCEDURE TO,ADDITIVE 4關(guān)閉過程文件 命令格式如下。 RELEASE PROCEDURE, 考點(diǎn)7 參數(shù)傳遞 模塊程序可以接收調(diào)用程序傳遞過來的參數(shù)。 (1)PARAMETERS,。 (2) LPARAMETERS,。 說明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無其他區(qū)別。 不管是PARAMETERS或LPARAMETERS,都應(yīng)該是模塊程序的第一條可執(zhí)行命令。 (1)調(diào)用參數(shù)調(diào)用模

11、塊程序參數(shù)的格式如下。 DO|WITH, |(,) 說明:實(shí)參可以是常量、變量或一般表達(dá)式,調(diào)用模塊程序時(shí),形參的數(shù)目不能少于實(shí)參的數(shù)目,當(dāng)形參數(shù)目多于實(shí)參數(shù)目時(shí),多余的形參取初值邏輯假.F.。 (2)參數(shù)的傳遞。模塊中參數(shù)的傳遞分為兩種:按值傳遞(實(shí)參一般為常量和表達(dá)式)和引用傳遞(實(shí)參一般為變量)。參數(shù)的傳遞方式可以重新設(shè)置,格式如下。 SET UDFPARMS TO VALUE|REFERENCE 考點(diǎn)8 變量的作用域 變量的一個(gè)重要屬性是作用域。變量的作用域指的是變量在什么范圍內(nèi)是有效或能夠被訪問的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。 1.公共變量

12、 在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。 PUBLIC 說明:該命令是建立公共的內(nèi)存變量,并賦以初值邏輯假F.。建立好的公共變量一直有效,即使程序結(jié)束返回命令窗口也不會(huì)消失,只有執(zhí)行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。 2私有變量 在程序中直接使用(沒有預(yù)先聲明),而由系統(tǒng)自動(dòng)隱含建立的變量都是私有變量。 私有變量的作用域是建立它的模塊及其下屬的各層模塊。 3局部變量 局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結(jié)束時(shí),自動(dòng)釋放局部變量。格式如下 LOCAL 說明:該變量同樣給建立的內(nèi)存變量賦以初值

13、邏輯假.F.,也必須先定義后使用。當(dāng)子程序中定義的變量名與主程序中同名時(shí),為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時(shí)無效。格式如下。 (1)PRIVATE。 (2)PRIVATE ALLLIKE|EXCEPT。 說明:該命令并不建立內(nèi)存變量,它只是隱藏指定的在上層模塊中可能已經(jīng)存在的內(nèi)存變量,但是當(dāng)模塊程序返回到上層模塊時(shí),被隱藏的變量就自動(dòng)恢復(fù)有效性,保持原值。 7.4 程序調(diào)試 考點(diǎn)9 調(diào)試器環(huán)境 程序調(diào)試是指在發(fā)現(xiàn)程序有錯(cuò)誤的情況下,確定出錯(cuò)位置并糾正錯(cuò)誤。計(jì)算機(jī)一般能夠發(fā)現(xiàn)程序的出錯(cuò)位置,但對(duì)于計(jì)算

14、機(jī)不能發(fā)現(xiàn)的錯(cuò)誤,只能由用戶自己來查錯(cuò)。Visual FoxPro提供的功能強(qiáng)大的調(diào)試工具調(diào)試器,可幫助我們進(jìn)行這項(xiàng)工作。 調(diào)用調(diào)試器的方法一般有兩種。 (l)選擇“工具”菜單中的“調(diào)試器”命令。 (2)在命令窗口中輸入DEBUG命令。 考點(diǎn)10 設(shè)置斷點(diǎn) 可以設(shè)置以下4種類型的斷點(diǎn)。 (1)在定位處中斷:可指定一行代碼,當(dāng)程序調(diào)試執(zhí)行到該行時(shí),中斷程序運(yùn)行。 (2)如果表達(dá)式值為真,則在定位處中斷:指定一行代碼及一個(gè)表達(dá)式,當(dāng)程序調(diào)試執(zhí)行到該行代碼時(shí),如果表達(dá)式值為真,就中斷程序運(yùn)行。 (3)當(dāng)表達(dá)式值為真時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過程中,當(dāng)該表達(dá)式值為邏輯真.T.時(shí),中斷程序運(yùn)行。 (4)當(dāng)表達(dá)式值改變時(shí)中斷:可以指定一個(gè)表達(dá)式,在程序調(diào)試執(zhí)行過程中,當(dāng)該表達(dá)式值改變時(shí),中斷程序運(yùn)行。 考點(diǎn)11 “調(diào)試”菜單 “調(diào)試”菜單包含執(zhí)行程序、選擇執(zhí)行方式、終止程序執(zhí)行、修改程序,以及調(diào)整程序執(zhí)行速度等命令。各命令具體功能如下。 (1)運(yùn)行:執(zhí)行在跟蹤窗口中打開的程序: (2)繼續(xù)執(zhí)行:當(dāng)程序被中斷時(shí),該命令可使程序在中斷處繼續(xù)往下執(zhí)行。 (3)取消:終止程序的調(diào)試執(zhí)行,并關(guān)閉程序。 (4)定位修改:終止程序的調(diào)試執(zhí)行,然后在文本編輯窗口中打開調(diào)試程序。 (5)跳出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論