版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、茂名職業(yè)技術(shù)學(xué)院 授課授課-15 VFP-15 VFP運(yùn)用運(yùn)用 15.1 15.1 創(chuàng)建主表單創(chuàng)建主表單15.2 15.2 建立菜單建立菜單15.3 15.3 編制程序編制程序15.4 15.4 制造子表單制造子表單15.5 15.5 連編運(yùn)用程序連編運(yùn)用程序 本課經(jīng)過一些運(yùn)用實(shí)例,復(fù)習(xí)穩(wěn)定前面曾經(jīng)學(xué)習(xí)本課經(jīng)過一些運(yùn)用實(shí)例,復(fù)習(xí)穩(wěn)定前面曾經(jīng)學(xué)習(xí)過的內(nèi)容,同時(shí)補(bǔ)充學(xué)習(xí)一些過的內(nèi)容,同時(shí)補(bǔ)充學(xué)習(xí)一些VFPVFP程序的編寫方法。程序的編寫方法。 茂名職業(yè)技術(shù)學(xué)院 【學(xué)習(xí)目的】【學(xué)習(xí)目的】 表單設(shè)計(jì)器的運(yùn)用表單設(shè)計(jì)器的運(yùn)用 生成器的運(yùn)用生成器的運(yùn)用 【關(guān)鍵概念】【關(guān)鍵概念】 表單的屬性設(shè)置表單的屬性設(shè)
2、置茂名職業(yè)技術(shù)學(xué)院 【義務(wù)】【義務(wù)】 上機(jī)上機(jī)F FVFVF高新考試匯編高新考試匯編20192019版的第版的第8.58.5題題 1. 1.創(chuàng)建主表單:創(chuàng)建主表單: 將將E:2019VFPDATA1E:2019VFPDATA1中的表中的表Y8_5.DBFY8_5.DBF復(fù)制到本人的文件夾,重命名為復(fù)制到本人的文件夾,重命名為S8_5.DBF S8_5.DBF ,并將其參與到,并將其參與到“工程工程Y Y的的“自在表中。自在表中。 在在“工程工程Y Y中創(chuàng)建表單用表單設(shè)計(jì)器,以中創(chuàng)建表單用表單設(shè)計(jì)器,以F8_5AF8_5A為名保管。為名保管。 設(shè)置表單設(shè)置表單F8_5AF8_5A中相關(guān)的屬性,使
3、其成為頂層表單。中相關(guān)的屬性,使其成為頂層表單。 按圖按圖8-5A8-5A所示,在表單所示,在表單F8_5AF8_5A中添加中添加“表格控件,將表表格控件,將表Y8_5Y8_5的的fhfh,yssyss,sfsf,ydsyds,dfdf,ymqsymqs,mqfmqf,ysfyysfy字段參與,標(biāo)題用漢字,見圖字段參與,標(biāo)題用漢字,見圖8-5A8-5A,表的,表的款式為款式為“財(cái)務(wù)型。財(cái)務(wù)型。 按圖按圖8-5A8-5A所示,添加三個(gè)按鈕,分別是所示,添加三個(gè)按鈕,分別是“計(jì)費(fèi)、計(jì)費(fèi)、“查詢、查詢、“退出。其中:退出。其中:“計(jì)費(fèi)計(jì)費(fèi)按鈕經(jīng)過調(diào)用按鈕經(jīng)過調(diào)用P8_5A.PRGP8_5A.PRG文
4、件完成計(jì)費(fèi)功文件完成計(jì)費(fèi)功能;能;“查詢按鈕經(jīng)過調(diào)用表單查詢按鈕經(jīng)過調(diào)用表單F8_5B.SCXF8_5B.SCX文件完成個(gè)人收費(fèi)查詢;文件完成個(gè)人收費(fèi)查詢;“退出按鈕可以退出按鈕可以解除事件循環(huán)并退出運(yùn)轉(zhuǎn)的程序。解除事件循環(huán)并退出運(yùn)轉(zhuǎn)的程序。 制造完成的表單外觀,制造完成的表單外觀, 見圖見圖8-5A8-5A。圖圖8-5A茂名職業(yè)技術(shù)學(xué)院 【義務(wù)分析】【義務(wù)分析】1 創(chuàng)建表單創(chuàng)建表單 可以用菜單工具鈕、工程管理器、命令創(chuàng)建。可以用菜單工具鈕、工程管理器、命令創(chuàng)建。2 設(shè)置表單屬性設(shè)置表單屬性下面是一些常用屬性名下面是一些常用屬性名P244 : AlwaysOnTop 能否處于最上層能否處于最上
5、層 AutoCenter 運(yùn)轉(zhuǎn)時(shí)能否自動(dòng)居中運(yùn)轉(zhuǎn)時(shí)能否自動(dòng)居中 Caption 標(biāo)題往往是要修正的標(biāo)題往往是要修正的 Name 稱號(hào)普通不修正稱號(hào)普通不修正 ForeColor 前風(fēng)光前風(fēng)光 ShowWindow 能否頂層能否頂層 Value 值值 Visible 能否可見能否可見3放置按鈕并編寫事件代碼放置按鈕并編寫事件代碼 曾經(jīng)講述過,略。曾經(jīng)講述過,略。注:打注:打“的是本表單的是本表單需求設(shè)置的需求設(shè)置的茂名職業(yè)技術(shù)學(xué)院 4 表格生成器的運(yùn)用表格生成器的運(yùn)用 見以下圖,在見以下圖,在“規(guī)劃選項(xiàng)中,用鼠標(biāo)點(diǎn)擊某一字規(guī)劃選項(xiàng)中,用鼠標(biāo)點(diǎn)擊某一字段的記錄,就可以在標(biāo)題框內(nèi)修正該字段的標(biāo)題了。
6、段的記錄,就可以在標(biāo)題框內(nèi)修正該字段的標(biāo)題了。 茂名職業(yè)技術(shù)學(xué)院 表表1 Visual FoxPro 6.0表單的常用屬性表單的常用屬性屬屬 性性描描 述述默許值默許值A(chǔ)lwaysOnTop指定表單能否總位于其他翻開窗口之上.F.AutoCenter指定表單初始化時(shí)能否自動(dòng)在系統(tǒng)主菜單中居中顯示指定表單初始化時(shí)能否自動(dòng)在系統(tǒng)主菜單中居中顯示.F.BackColor指定表單窗口顏色255,255,255BorderStyle指定表單邊框的風(fēng)格。默以為系統(tǒng)邊框3Caption指定顯示在表單標(biāo)題欄上的文本Form1Closable指定能否經(jīng)過封鎖按鈕或封鎖框來封鎖表單指定能否經(jīng)過封鎖按鈕或封鎖框來封
7、鎖表單.T.DataSession指定表單里的表是在全局訪問的任務(wù)區(qū)翻開(默許值1),還是在表單本人的任務(wù)區(qū)翻開(值2)1MaxButton確定表單能否有最大化按鈕.T.MinButton確定表單能否有最小化按鈕.T.Movable確定表單能否能挪動(dòng).T.ShowWindows控制表單能否在屏幕中控制表單能否在屏幕中0WindowState指定表單的形狀0Visible指定表單是顯示還是隱藏指定表單是顯示還是隱藏.T.茂名職業(yè)技術(shù)學(xué)院 表表2 Visual FoxPro 6.0常用事件常用事件事件稱號(hào)事件稱號(hào)產(chǎn)生闡明產(chǎn)生闡明Init在對象建立時(shí)引發(fā)在對象建立時(shí)引發(fā)Destroy在對象釋放時(shí)引發(fā)
8、在對象釋放時(shí)引發(fā)Error當(dāng)對象方法或時(shí)間代碼在運(yùn)轉(zhuǎn)過程中產(chǎn)生錯(cuò)誤時(shí)引發(fā)當(dāng)對象方法或時(shí)間代碼在運(yùn)轉(zhuǎn)過程中產(chǎn)生錯(cuò)誤時(shí)引發(fā)Load在表單對象建立之前引發(fā)在表單對象建立之前引發(fā)Unload在表單對象釋放時(shí)引發(fā),是表單對象釋放時(shí)最后一個(gè)引發(fā)的在表單對象釋放時(shí)引發(fā),是表單對象釋放時(shí)最后一個(gè)引發(fā)的事件事件GotFocus當(dāng)對象獲得焦點(diǎn)時(shí)引發(fā)當(dāng)對象獲得焦點(diǎn)時(shí)引發(fā)Click用鼠標(biāo)單擊對象時(shí)引發(fā)用鼠標(biāo)單擊對象時(shí)引發(fā)DblClick用鼠標(biāo)雙擊對象時(shí)引發(fā)用鼠標(biāo)雙擊對象時(shí)引發(fā)Valid在控件失去焦點(diǎn)前引發(fā)在控件失去焦點(diǎn)前引發(fā)InteractiveChange當(dāng)經(jīng)過鼠標(biāo)或鍵盤交互式改動(dòng)一個(gè)控件的值時(shí)引發(fā)當(dāng)經(jīng)過鼠標(biāo)或鍵盤
9、交互式改動(dòng)一個(gè)控件的值時(shí)引發(fā)茂名職業(yè)技術(shù)學(xué)院 方法稱號(hào)方法稱號(hào)產(chǎn)生闡明產(chǎn)生闡明Release將表單從內(nèi)存中釋放將表單從內(nèi)存中釋放Refresh重新繪制表單或控件重新繪制表單或控件Show顯示表單顯示表單Hide隱藏表單隱藏表單SetFocus讓控件獲得焦點(diǎn),使其成為活動(dòng)對象讓控件獲得焦點(diǎn),使其成為活動(dòng)對象表表3 Visual FoxPro 6.0 常用方法常用方法前往本課菜單前往本課菜單茂名職業(yè)技術(shù)學(xué)院 【學(xué)習(xí)目的】【學(xué)習(xí)目的】 用菜單設(shè)計(jì)器制造菜單用菜單設(shè)計(jì)器制造菜單 主表單調(diào)用菜單的設(shè)置主表單調(diào)用菜單的設(shè)置【關(guān)鍵概念】【關(guān)鍵概念】 菜單的結(jié)果選項(xiàng)菜單的結(jié)果選項(xiàng) 頂層表單頂層表單茂名職業(yè)技術(shù)
10、學(xué)院 【義務(wù)】【義務(wù)】 上機(jī)上機(jī)F F 2. 2. 建立菜單建立菜單 在在“工程工程Y Y中創(chuàng)建菜單,以中創(chuàng)建菜單,以M8_5.MNXM8_5.MNX為名保管。為名保管。 按圖按圖8-5A8-5A所示,建立所示,建立“計(jì)費(fèi)、計(jì)費(fèi)、“查詢、查詢、“退出三個(gè)退出三個(gè)菜單項(xiàng)。其中:菜單項(xiàng)。其中:“計(jì)費(fèi)的結(jié)果為命令,調(diào)用程序計(jì)費(fèi)的結(jié)果為命令,調(diào)用程序P8_5A.PRGP8_5A.PRG;“查詢有查詢有“個(gè)人收費(fèi)查詢和個(gè)人收費(fèi)查詢和“樓層收費(fèi)統(tǒng)計(jì)樓層收費(fèi)統(tǒng)計(jì) 兩個(gè)子項(xiàng),前兩個(gè)子項(xiàng),前一個(gè)子項(xiàng)的結(jié)果為命令,調(diào)用表單一個(gè)子項(xiàng)的結(jié)果為命令,調(diào)用表單F8_5B.SCXF8_5B.SCX,后一個(gè)子項(xiàng)的,后一個(gè)子項(xiàng)
11、的結(jié)果為過程,調(diào)用查詢結(jié)果為過程,調(diào)用查詢Q8_5.QPRQ8_5.QPR和表單和表單F8_5C.SCXF8_5C.SCX;“退出的退出的結(jié)果也是過程,要求使其在退出程序之前發(fā)出訊問,確認(rèn)后再結(jié)果也是過程,要求使其在退出程序之前發(fā)出訊問,確認(rèn)后再退出本系統(tǒng),見圖退出本系統(tǒng),見圖8-5D8-5D。 將將M8_5.MNXM8_5.MNX設(shè)置為由頂層表單設(shè)置為由頂層表單調(diào)用,生成可執(zhí)行菜單文件調(diào)用,生成可執(zhí)行菜單文件M8_5.MPRM8_5.MPR。 制造完成的菜單外觀,見圖制造完成的菜單外觀,見圖8-5A8-5A。 圖圖8-5A茂名職業(yè)技術(shù)學(xué)院 【義務(wù)分析】【義務(wù)分析】1 創(chuàng)建菜單創(chuàng)建菜單 可以用
12、系統(tǒng)菜單或工具鈕、工程管理器創(chuàng)建。可以用系統(tǒng)菜單或工具鈕、工程管理器創(chuàng)建。2 設(shè)置菜單由頂層表單調(diào)用設(shè)置菜單由頂層表單調(diào)用 菜單設(shè)計(jì)時(shí),在菜單設(shè)計(jì)時(shí),在“常規(guī)選項(xiàng)對話框中選擇常規(guī)選項(xiàng)對話框中選擇“頂層表單復(fù)選框。頂層表單復(fù)選框。3 設(shè)計(jì)菜單設(shè)計(jì)菜單 在在“菜單設(shè)計(jì)器窗口中設(shè)計(jì)菜單的方法結(jié)果的菜單設(shè)計(jì)器窗口中設(shè)計(jì)菜單的方法結(jié)果的4種選項(xiàng)的編輯。種選項(xiàng)的編輯。 完成后,先保管,再生成可執(zhí)行菜單程序文件。完成后,先保管,再生成可執(zhí)行菜單程序文件。4 主表單屬性的設(shè)置主表單屬性的設(shè)置 將主表單的將主表單的 ShowWindow 設(shè)置為設(shè)置為 2頂層表單;頂層表單; 將主表單的將主表單的 AutoCen
13、ter 設(shè)置為設(shè)置為 .T.真真 。5 主表單調(diào)用菜單的事件代碼的編寫主表單調(diào)用菜單的事件代碼的編寫 在主表單的在主表單的 Init 事件代碼中添加調(diào)用菜單程序命令:事件代碼中添加調(diào)用菜單程序命令: DO M8_5.MPR WITH THIS, M85 在主表單的在主表單的 Destroy 事件代碼中添加去除菜單的命令,使得封鎖表單事件代碼中添加去除菜單的命令,使得封鎖表單時(shí)同時(shí)去除菜單:時(shí)同時(shí)去除菜單: RELE MENU M85 EXTN茂名職業(yè)技術(shù)學(xué)院 6 6運(yùn)用信息顯示對話框函數(shù)運(yùn)用信息顯示對話框函數(shù) 格式:格式:=MESSAGEBOX(=MESSAGEBOX( ; , ,) 例如例如
14、 運(yùn)轉(zhuǎn)運(yùn)轉(zhuǎn)Messagebox(Messagebox(“您真的要退出本系統(tǒng)嗎您真的要退出本系統(tǒng)嗎? ?, , 4+32, 4+32,“提示信息提示信息) )語句將顯示如上圖所語句將顯示如上圖所 示對話框。示對話框。 圖圖8-5D8-5D的對話框的對話框, ,用用MESSAGEBOX()MESSAGEBOX()函數(shù)制造。函數(shù)制造。前往本課菜單前往本課菜單茂名職業(yè)技術(shù)學(xué)院 【學(xué)習(xí)目的】【學(xué)習(xí)目的】 編制程序編制程序【關(guān)鍵概念】【關(guān)鍵概念】 內(nèi)存變量內(nèi)存變量 程序的順序、分支、循環(huán)三種構(gòu)造程序的順序、分支、循環(huán)三種構(gòu)造茂名職業(yè)技術(shù)學(xué)院 【義務(wù)】【義務(wù)】 上機(jī)上機(jī)F F3. 3. 編制被調(diào)用的程序編制
15、被調(diào)用的程序 編制計(jì)費(fèi)程序編制計(jì)費(fèi)程序P8_5A.PRGP8_5A.PRG。計(jì)算表。計(jì)算表S8_5.DBFS8_5.DBF中的部分中的部分字段的記錄值,計(jì)費(fèi)方法:字段的記錄值,計(jì)費(fèi)方法:sf=ysssf=yss* *sdjsdj,df=ydsdf=yds* *ddj ddj ,mqf=ymqsmqf=ymqs* *mqdj mqdj ,ysfy=sf+df+mqf ysfy=sf+df+mqf 。計(jì)算結(jié)果見圖計(jì)算結(jié)果見圖8-5A8-5A。圖圖8-5A茂名職業(yè)技術(shù)學(xué)院 【相關(guān)知識(shí)】【相關(guān)知識(shí)】 幾個(gè)與內(nèi)存變量有關(guān)的命令幾個(gè)與內(nèi)存變量有關(guān)的命令 定義:定義:publ 全局變量全局變量 local
16、部分變量部分變量 顯示:顯示: 例例 disp memo like ?7_2 保管保管: 例例 save to 7_2A all like ?7_2 恢復(fù)恢復(fù): 例例 rest from 7_2c addi茂名職業(yè)技術(shù)學(xué)院 程序的根本構(gòu)造 1. 順序構(gòu)造 順序構(gòu)造是程序設(shè)計(jì)中最簡單、最常用的根本構(gòu)造。在該構(gòu)造中,程序按語句出現(xiàn)的先后順序依次執(zhí)行。 現(xiàn)實(shí)上,程序中的命令假設(shè)不進(jìn)展特殊闡明,就自動(dòng)按其前后陳列順序執(zhí)行。我們以前引見的幾個(gè)例題都是順序構(gòu)造程序設(shè)計(jì)標(biāo)題。茂名職業(yè)技術(shù)學(xué)院 2. 2. 分支構(gòu)造分支構(gòu)造 單條件選擇語句單條件選擇語句 格式:格式:IF IF 命令序列命令序列11 ELSE
17、ELSE 命令序列命令序列22 ENDIF ENDIF 功能:假設(shè)條件為真功能:假設(shè)條件為真.T.T., ,那么執(zhí)行那么執(zhí)行命令序列命令序列1,1,假設(shè)條件為假假設(shè)條件為假.F.F., ,那么那么執(zhí)行命令序列執(zhí)行命令序列2 2。茂名職業(yè)技術(shù)學(xué)院 例例15-1 15-1 設(shè)出租車不超越設(shè)出租車不超越3 3公里時(shí)一概收費(fèi)公里時(shí)一概收費(fèi)7 7元錢,超越元錢,超越時(shí)那么超越部分每公里加收時(shí)那么超越部分每公里加收2.32.3元。試根據(jù)里程數(shù)編程元。試根據(jù)里程數(shù)編程計(jì)算并顯示出應(yīng)付車費(fèi)。程序如下:計(jì)算并顯示出應(yīng)付車費(fèi)。程序如下: CLEARCLEAR INPUT INPUT 請輸入里程數(shù):請輸入里程數(shù):
18、TO lc TO lc IF lc=3 IF lc=3 cf=7 cf=7 ELSE ELSE cf=7+(lc-3) cf=7+(lc-3)* *2.32.3 ENDIF ENDIF ? ?車費(fèi)為:車費(fèi)為:,cf,cf RETURN RETURN茂名職業(yè)技術(shù)學(xué)院 l多條件選擇語句多條件選擇語句l 格式:格式:DO CASEDO CASEl CASE CASE 1 l 命令序列命令序列11l CASE CASE 2l 命令序列命令序列22l . .l CASE CASE nl 命令序列命令序列nnl OTHERWISE OTHERWISEl 命令序列命令序列n+1n+1l ENDCASE EN
19、DCASE茂名職業(yè)技術(shù)學(xué)院 功能:功能: 系統(tǒng)依次判別各系統(tǒng)依次判別各 能否滿足,假設(shè)某一能否滿足,假設(shè)某一 為為.T.T.,就執(zhí)行該,就執(zhí)行該 下的下的 命令序列命令序列 ,執(zhí)行后不再,執(zhí)行后不再判別其它判別其它 ,而轉(zhuǎn)去執(zhí)行,而轉(zhuǎn)去執(zhí)行ENDCASEENDCASE后面的第一條命后面的第一條命令。令。 假設(shè)沒有一個(gè)假設(shè)沒有一個(gè) 為為.T.T.,就執(zhí)行,就執(zhí)行OTHERWISEOTHERWISE后面后面的的 命令序列命令序列 ,直到,直到ENDCASEENDCASE;假設(shè)沒有;假設(shè)沒有OTHERWISEOTHERWISE,那,那么不作任何操作就轉(zhuǎn)向么不作任何操作就轉(zhuǎn)向ENDCASEENDCAS
20、E之后的第一條命令。之后的第一條命令。茂名職業(yè)技術(shù)學(xué)院 例例15-215-2運(yùn)用多條件選擇語句的例題。給運(yùn)用多條件選擇語句的例題。給GZJ.DBFGZJ.DBF中每位職工添加工資,原中每位職工添加工資,原那么:職稱為教授的根本工資加那么:職稱為教授的根本工資加20%20%,副教授的加,副教授的加15%15%,講師的加,講師的加10%10%,否,否那么,假設(shè)根本工資低于那么,假設(shè)根本工資低于380380的按的按380380計(jì)算。計(jì)算。 set talk off set talk off use gzj use gzj Do while .not. Eof() Do while .not. Eof
21、() Do case Do case case case 職稱職稱= =“教授教授 repl repl 根本工資根本工資 with with 根本工資根本工資* *1.21.2 case case 職稱職稱= =“副教授副教授 repl repl 根本工資根本工資 with with 根本工資根本工資* *1.151.15 case case 職稱職稱= =“講師講師 repl repl 根本工資根本工資 with with 根本工資根本工資* *1.11.1 case case 根本工資根本工資380380 repl repl 根本工資根本工資 with 380 with 380 Endca
22、se Endcase skip skip Enddo Enddo use use set talk on set talk on return return茂名職業(yè)技術(shù)學(xué)院 3. 循環(huán)構(gòu)造 在程序設(shè)計(jì)中,有時(shí)需求從某處開場有規(guī)律地反復(fù)執(zhí)行某些類似的操作,這些類似的操作普通用循環(huán)構(gòu)造程序設(shè)計(jì)來處理。在VFP中,提供了“當(dāng)型、“步長型和“表掃描型循環(huán)構(gòu)造。 當(dāng)型循環(huán) DO WHILE 格式: DO WHILE 命令序列 EXIT LOOP ENDDO 闡明: DO WHILE 和ENDDO 語句應(yīng)配對運(yùn)用,各占一行。茂名職業(yè)技術(shù)學(xué)院 功能:功能: 1 1當(dāng)型循環(huán)執(zhí)行的過程是:根據(jù)當(dāng)型循環(huán)執(zhí)行的過程
23、是:根據(jù) 邏輯值進(jìn)展判別。邏輯值進(jìn)展判別。假設(shè)假設(shè) 為為.T.T.,那么執(zhí)行,那么執(zhí)行 命令序列命令序列 , 命令序列命令序列 執(zhí)行完前往到執(zhí)行完前往到 DO WHILE DO WHILE 語句,每執(zhí)行一遍就判別一次語句,每執(zhí)行一遍就判別一次 DO WHILE DO WHILE 語句中的語句中的 。假設(shè)。假設(shè) 依然為依然為.T.T.,那,那么繼續(xù)執(zhí)行么繼續(xù)執(zhí)行 命令序列命令序列 ,直到,直到 的邏輯值為的邏輯值為.F.F.,那么終了循環(huán),轉(zhuǎn)去執(zhí)行那么終了循環(huán),轉(zhuǎn)去執(zhí)行 ENDDO ENDDO 之后的第一條命令。之后的第一條命令。 2 2在在 命令序列命令序列 的適當(dāng)位置可以放置的適當(dāng)位置可以放
24、置 EXIT EXIT 和和 LOOP LOOP 語句,用以對循環(huán)過程作特殊處置。語句,用以對循環(huán)過程作特殊處置。EXIT EXIT 的功能是:的功能是:無條件終了循環(huán)命令。無條件終了循環(huán)命令。LOOP LOOP 語句的功能是:提早終了語句的功能是:提早終了本次循環(huán)命令。本次循環(huán)命令。茂名職業(yè)技術(shù)學(xué)院 3 3逐個(gè)表中符合條件的記錄逐個(gè)表中符合條件的記錄 先用先用LOCATELOCATE或或FINDFIND或或SEEKSEEK定位到符合條件的第一個(gè)記錄上,定位到符合條件的第一個(gè)記錄上,再用再用NOT EOF()NOT EOF()或或 FOUND() FOUND()作為循環(huán)條件,循環(huán)體內(nèi)必需含有記
25、作為循環(huán)條件,循環(huán)體內(nèi)必需含有記錄指針挪動(dòng)的語句。錄指針挪動(dòng)的語句。 例例15-315-3在在GZJ.DBFGZJ.DBF中給職稱為教授的職工加工資中給職稱為教授的職工加工資20%20%,每加一個(gè)就,每加一個(gè)就顯示該職工的情況。顯示該職工的情況。 set talk off set talk off use gzj use gzj locate for locate for 職稱職稱= =“教授教授 Do while found() Do while found() repl repl 根本工資根本工資 with with 根本工資根本工資* *1.21.2 display display co
26、ntinue continue Enddo Enddo use use茂名職業(yè)技術(shù)學(xué)院 4 4不定次數(shù)的循環(huán)不定次數(shù)的循環(huán) 先用某變量先用某變量=6=6作為循環(huán)條件,在循環(huán)體內(nèi)用對話框函數(shù)作判別條件作為循環(huán)條件,在循環(huán)體內(nèi)用對話框函數(shù)作判別條件, , 判別判別能否繼續(xù)執(zhí)行循環(huán)能否繼續(xù)執(zhí)行循環(huán), ,這是這是DO DO 循環(huán)很典型的用法。循環(huán)很典型的用法。 例例15-415-4根據(jù)輸入的姓名在根據(jù)輸入的姓名在GZJ.DBFGZJ.DBF中查詢工資情況。中查詢工資情況。 set talk offset talk off use gzj use gzj x=6 x=6 Do while x=6 Do
27、while x=6 accept accept 輸入要查的人名輸入要查的人名: to xm: to xm locate for locate for 姓名姓名=xm=xm If found() If found() display display Else Else ? ?查無此人!查無此人! Endif Endif x=messagebox( x=messagebox(還要查嗎還要查嗎?,4+32,?,4+32,提示提示) Endd Endd ? ?再見!再見! Use Use RETU RETU茂名職業(yè)技術(shù)學(xué)院 l步長型循環(huán)步長型循環(huán) FORFORl 格式:格式:l FOR FOR = T
28、O TO STEP STEP l 命令序列命令序列 l EXIT EXITl LOOP LOOPl ENDFOR/NEXT ENDFOR/NEXTl 功能:功能:l 首先將初值賦值給循環(huán)變量,然后判別循環(huán)變量的值能否超越首先將初值賦值給循環(huán)變量,然后判別循環(huán)變量的值能否超越終值,不超越就執(zhí)行循環(huán)體,遇到終值,不超越就執(zhí)行循環(huán)體,遇到ENDFORENDFOR或或NEXTNEXT語句,自動(dòng)使循環(huán)變語句,自動(dòng)使循環(huán)變量添加一個(gè)步長值,再將循環(huán)變量的值與終值比較,假設(shè)循環(huán)變量的量添加一個(gè)步長值,再將循環(huán)變量的值與終值比較,假設(shè)循環(huán)變量的值不超越終值,就再執(zhí)行循環(huán)體,不斷循環(huán)執(zhí)行。假設(shè)循環(huán)變量的值值不超
29、越終值,就再執(zhí)行循環(huán)體,不斷循環(huán)執(zhí)行。假設(shè)循環(huán)變量的值超越終值那么轉(zhuǎn)去執(zhí)行超越終值那么轉(zhuǎn)去執(zhí)行ENDFORENDFOR或或NEXTNEXT語句后面的第一條語句。語句后面的第一條語句。茂名職業(yè)技術(shù)學(xué)院 闡明:闡明: 1 1 、 、 都是數(shù)值表達(dá)式;假設(shè)步都是數(shù)值表達(dá)式;假設(shè)步長為正數(shù),計(jì)數(shù)器添加;假設(shè)步長為負(fù)數(shù),那么計(jì)數(shù)器長為正數(shù),計(jì)數(shù)器添加;假設(shè)步長為負(fù)數(shù),那么計(jì)數(shù)器減少;當(dāng)減少;當(dāng) 是是1 1時(shí),可以省略時(shí),可以省略STEPSTEP子句。子句。 2 2ENDFORENDFOR或或NEXTNEXT語句為循環(huán)終端語句,用以標(biāo)明本循環(huán)語句為循環(huán)終端語句,用以標(biāo)明本循環(huán)構(gòu)造的終點(diǎn)。該語句必需和構(gòu)造的
30、終點(diǎn)。該語句必需和FORFOR語句配對運(yùn)用。語句配對運(yùn)用。 3 3在循環(huán)體內(nèi)的在循環(huán)體內(nèi)的EXITEXIT和和LOOPLOOP語句,作用和用法與當(dāng)型循語句,作用和用法與當(dāng)型循環(huán)構(gòu)造類似。環(huán)構(gòu)造類似。 茂名職業(yè)技術(shù)學(xué)院 例例15-515-5編程求編程求S=1!+2! +n!S=1!+2! +n! set talk off set talk off input input “請輸入終值請輸入終值n3n3 to n to n s=0 s=0 For i=1 to n For i=1 to n t=1 t=1 For j=1 to I For j=1 to I t=t t=t* *j j Endfor
31、 Endfor s=s+t s=s+t Endfor Endfor ? ?“1 1!+2+2!+alltrim(str(n)+alltrim(str(n)+“!= =+alltrim(str(s)+alltrim(str(s)茂名職業(yè)技術(shù)學(xué)院 l表掃描型循環(huán)表掃描型循環(huán) SCANSCANl 針對表記錄、逐條處置表記錄的一種循環(huán)。針對表記錄、逐條處置表記錄的一種循環(huán)。l 格式:格式:l SCAN SCAN 范圍范圍 FOR FOR |WHILE |WHILE 2l 語句序列語句序列 l EXITEXITl LOOP LOOPl ENDSCAN ENDSCANl 功能:功能:l 在當(dāng)前表中給定范圍
32、內(nèi)對符合條件的記錄逐個(gè)在當(dāng)前表中給定范圍內(nèi)對符合條件的記錄逐個(gè)執(zhí)行語句序列,假設(shè)符合條件的記錄處置終了,那么執(zhí)行語句序列,假設(shè)符合條件的記錄處置終了,那么執(zhí)行執(zhí)行ENDSCANENDSCAN后面的語句。后面的語句。茂名職業(yè)技術(shù)學(xué)院 闡明: 1范圍有ALL、NEXT n、REST、RECORD n四種,省略時(shí)默以為ALL。 2EXIT和LOOP語句,功能和用法同其他循環(huán)構(gòu)造類似。 3表掃描型循環(huán)構(gòu)造每循環(huán)一遍,記錄指針自動(dòng)挪動(dòng)到下一條記錄,不需求設(shè)置SKIP語句。例15-6在主窗口中逐個(gè)顯示GZJ.DBF中前5條記錄中男性的記錄。 use gzj Scan for 性別=男 next 5 dis
33、play Endscan ?顯示終了! retu茂名職業(yè)技術(shù)學(xué)院 【循環(huán)的歸納小結(jié)】【循環(huán)的歸納小結(jié)】 DO 循環(huán)的格式循環(huán)的格式 DO WHILE 命令序列命令序列 EXIT LOOP ENDDFOR 循環(huán)的格式循環(huán)的格式 FOR = TO STEP 命令序列命令序列 EXIT LOOP ENDFSCAN 循環(huán)的格式循環(huán)的格式 SCAN 范圍范圍 FOR |WHILE 命令序列命令序列 EXIT LOOP ENDS茂名職業(yè)技術(shù)學(xué)院 【本項(xiàng)義務(wù)的處理】【本項(xiàng)義務(wù)的處理】 由于有數(shù)據(jù)共享的問題,表單中的數(shù)據(jù)更由于有數(shù)據(jù)共享的問題,表單中的數(shù)據(jù)更新計(jì)算普通運(yùn)用新計(jì)算普通運(yùn)用SQL的數(shù)據(jù)更新命令。的
34、數(shù)據(jù)更新命令。 UPDA S8_5 SET SF = SDJ*YSS UPDA S8_5 SET DF = DDJ*YDS UPDA S8_5 SET MQF = MQDJ*YMQS UPDA S8_5 SET YSFY = MQF+SF+DF RETU 可見,這是一個(gè)順序構(gòu)造的編程問題??梢?,這是一個(gè)順序構(gòu)造的編程問題。前往本課菜單前往本課菜單茂名職業(yè)技術(shù)學(xué)院 【學(xué)習(xí)目的】【學(xué)習(xí)目的】 導(dǎo)游、設(shè)計(jì)器、生成器等綜合運(yùn)用制造表單導(dǎo)游、設(shè)計(jì)器、生成器等綜合運(yùn)用制造表單 查詢的方法查詢的方法【關(guān)鍵概念】【關(guān)鍵概念】 控件的類庫控件的類庫 查詢的分組統(tǒng)計(jì)查詢的分組統(tǒng)計(jì)茂名職業(yè)技術(shù)學(xué)院 【義務(wù)】【義務(wù)】
35、 上機(jī)上機(jī)F FVFVF高新考試匯編高新考試匯編20192019版的第版的第8.58.5題題4. 4. 創(chuàng)建兩個(gè)子表單創(chuàng)建兩個(gè)子表單 按圖按圖8-5B8-5B所示,在所示,在“工程工程Y Y中創(chuàng)建個(gè)人收費(fèi)中創(chuàng)建個(gè)人收費(fèi) 查詢子查詢子表單表單( (運(yùn)用表單導(dǎo)游運(yùn)用表單導(dǎo)游) ),表單以,表單以F8_5B.SCXF8_5B.SCX為名保管。表為名保管。表單的數(shù)據(jù)源為表單的數(shù)據(jù)源為表S8_5.DBFS8_5.DBF。 按樓層分組制造樓層收費(fèi)統(tǒng)計(jì)的查詢。查詢的數(shù)據(jù)源按樓層分組制造樓層收費(fèi)統(tǒng)計(jì)的查詢。查詢的數(shù)據(jù)源為表為表S8_5.DBFS8_5.DBF,查詢輸出到表,查詢輸出到表S8_5A.DBFS8_
36、5A.DBF中,保管在中,保管在“工程工程Y Y的的“自在表中。查詢文件以自在表中。查詢文件以Q8_5.QPRQ8_5.QPR為名保為名保管在管在“工程工程Y Y的的“查詢中。查詢中。 按圖按圖8-5C8-5C所示,在所示,在“工程工程Y Y中創(chuàng)建樓層收費(fèi)統(tǒng)計(jì)子表中創(chuàng)建樓層收費(fèi)統(tǒng)計(jì)子表單單( (運(yùn)用表單設(shè)計(jì)器運(yùn)用表單設(shè)計(jì)器) ),以,以F8_5C.SCXF8_5C.SCX為名保管。表單的為名保管。表單的數(shù)據(jù)源為表數(shù)據(jù)源為表S8_5A.DBFS8_5A.DBF。結(jié)果見圖結(jié)果見圖8-5B8-5B、圖、圖8-5C8-5C。圖圖8-5B圖圖8-5C茂名職業(yè)技術(shù)學(xué)院 【義務(wù)分析】【義務(wù)分析】1本義務(wù)的表
37、單本義務(wù)的表單F8_5B可以運(yùn)用表單導(dǎo)游制造,然后用表單設(shè)可以運(yùn)用表單導(dǎo)游制造,然后用表單設(shè)計(jì)器進(jìn)展規(guī)劃方面的修正。計(jì)器進(jìn)展規(guī)劃方面的修正。2本義務(wù)的第本義務(wù)的第2點(diǎn)是要制造一個(gè)查詢,經(jīng)過查詢構(gòu)成一個(gè)樓層點(diǎn)是要制造一個(gè)查詢,經(jīng)過查詢構(gòu)成一個(gè)樓層收費(fèi)表收費(fèi)表S8_5A.DBF。為了完成這個(gè)查詢,需求在表。為了完成這個(gè)查詢,需求在表S8_5.DBF中中添加一個(gè)字段添加一個(gè)字段“l(fā)c,其各記錄的值為,其各記錄的值為“fh的百位數(shù)字。查詢可的百位數(shù)字。查詢可以用查詢設(shè)計(jì)器制造,用以用查詢設(shè)計(jì)器制造,用“l(fā)c作為分組,并運(yùn)用求和函數(shù)完成查作為分組,并運(yùn)用求和函數(shù)完成查詢。詢。3本義務(wù)的表單本義務(wù)的表單F
38、8_5C 運(yùn)用表單設(shè)計(jì)器、生成器制造,數(shù)據(jù)運(yùn)用表單設(shè)計(jì)器、生成器制造,數(shù)據(jù)源為查詢構(gòu)成的表源為查詢構(gòu)成的表S8_5A.DBF。F8_5C的的“ShowWindows屬性屬性要設(shè)置為:要設(shè)置為:“1在頂層表單中。在頂層表單中。茂名職業(yè)技術(shù)學(xué)院 【相關(guān)知識(shí)】 其實(shí),表單F8_5B也可以直接用表單設(shè)計(jì)器制造。 添加控件 點(diǎn)擊表單控件中的某個(gè)控件,再在表單中施放即可。 實(shí)例 添加文本按鈕組的方法: 在“表單控件工具欄中進(jìn)展如下三步操作 單擊“查看類按鈕,選擇“添加命令; 在“翻開對話框中,選擇要加載的通用數(shù)據(jù)支配控制按鈕組類庫文件VFP98WIZARDSWIZBTNS.VCX; 將控件TXTBTNS拖
39、放添加到表單中。茂名職業(yè)技術(shù)學(xué)院 表單對象的規(guī)劃表單對象的規(guī)劃 在表單中施放的各個(gè)對象,能夠會(huì)很散亂,可以用在表單中施放的各個(gè)對象,能夠會(huì)很散亂,可以用鼠標(biāo)先將需求對齊的對象選定,再用規(guī)劃工具欄中的各鼠標(biāo)先將需求對齊的對象選定,再用規(guī)劃工具欄中的各種對齊按鈕使之對齊。種對齊按鈕使之對齊。 圖圖1414茂名職業(yè)技術(shù)學(xué)院 用多種工具制造表單用多種工具制造表單 運(yùn)用多種工具制造表單的普通步驟:運(yùn)用多種工具制造表單的普通步驟:(1) (1) 用表單導(dǎo)游制造表單;用表單導(dǎo)游制造表單;(2) (2) 用表單設(shè)計(jì)器進(jìn)展規(guī)劃修正;用表單設(shè)計(jì)器進(jìn)展規(guī)劃修正;(3) (3) 添加表單控件,用表單生成器進(jìn)展部分修正
40、;添加表單控件,用表單生成器進(jìn)展部分修正;(4) (4) 編寫一些必要的事件代碼;編寫一些必要的事件代碼;(5) (5) 經(jīng)過對控件、表單屬性等的設(shè)置,修飾表單。經(jīng)過對控件、表單屬性等的設(shè)置,修飾表單。 茂名職業(yè)技術(shù)學(xué)院 屬性的設(shè)置屬性的設(shè)置1用屬性窗口用屬性窗口在設(shè)置框鍵入、選擇或運(yùn)用生成器,假設(shè)輸入表達(dá)式,須在設(shè)置框鍵入、選擇或運(yùn)用生成器,假設(shè)輸入表達(dá)式,須先鍵入先鍵入“=。2在運(yùn)轉(zhuǎn)中設(shè)置編寫代碼在運(yùn)轉(zhuǎn)中設(shè)置編寫代碼絕對援用格式:絕對援用格式:容器對象名容器對象名.對象名對象名.屬性名屬性名=屬性值屬性值例:例:Formset1.Text1.Value=DATE Formset1.Text
41、1.Forecolor=RGB128,0,0茂名職業(yè)技術(shù)學(xué)院 控件引見控件引見常用的控件常用的控件P267,21個(gè)個(gè)標(biāo)簽、文本、編輯、按鈕、按鈕組、選項(xiàng)、復(fù)選、組合、列表、標(biāo)簽、文本、編輯、按鈕、按鈕組、選項(xiàng)、復(fù)選、組合、列表、微調(diào)、表格微調(diào)、表格圖像、計(jì)時(shí)器、頁框、圖像、計(jì)時(shí)器、頁框、OLE對象、對象、O綁定、線條、外形、容器、綁定、線條、外形、容器、分隔、鏈接分隔、鏈接經(jīng)過實(shí)例學(xué)習(xí)典型的用法。經(jīng)過實(shí)例學(xué)習(xí)典型的用法。茂名職業(yè)技術(shù)學(xué)院 控件運(yùn)用舉例控件運(yùn)用舉例例例15-7 制造字體能變形的表單制造字體能變形的表單Bd8-1zx.scx。運(yùn)轉(zhuǎn)。運(yùn)轉(zhuǎn)結(jié)果見右圖:結(jié)果見右圖: 內(nèi)有:內(nèi)有:1個(gè)標(biāo)簽
42、框,個(gè)標(biāo)簽框,1個(gè)選項(xiàng)組,個(gè)選項(xiàng)組,3個(gè)復(fù)選組,個(gè)復(fù)選組,1個(gè)組合個(gè)組合框,框,1個(gè)按鈕。個(gè)按鈕。茂名職業(yè)技術(shù)學(xué)院 1.Check1的Click代碼:if this.value=1 thisform.label1.fontbold=.t.else thisform.label1.fontbold=.f.Endif2. Check2的Click代碼:if this.value=1 thisform.label1.fontunderline=.t.3. Check3的Click代碼: if this.value=1 thisform.label1.fontItalic=.t.4.OptionGro
43、up1的Click代碼:n=this.valuedo case case n=1 thisform.label1.fontname=宋體 case n=2 thisform.label1.fontname=楷體_GB2312 case n=3 thisform.label1.fontname=隸書 case n=4 thisform.label1.fontname=華文新魏endc茂名職業(yè)技術(shù)學(xué)院 5bo1的Init代碼:this.additem(15)this.additem(18)this.additem(“20)this.additem(24)6. Combo1的Interactivechang代碼:thisform.label1.fontsize=val(alltrim(this.displayvalue)7mand1的Click代碼:thisform.release8.標(biāo)簽的屬性設(shè)置略 前往本課菜單前往本課菜單茂名職業(yè)技術(shù)學(xué)院 【學(xué)習(xí)目的】【學(xué)習(xí)目的】 用工程管理器連編運(yùn)用程序文件用工程管理器連編運(yùn)用程序文件 【關(guān)鍵概念】【關(guān)鍵概念】 主文件主文件 包含和排除包含和排除 運(yùn)用程序文件運(yùn)用程序文件茂名職業(yè)技術(shù)學(xué)院 【義務(wù)】【義務(wù)】 上機(jī)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《近代燃燒技術(shù)》課件
- 甲下外生骨疣的臨床護(hù)理
- 株紫丁香課件趙秀梅
- 孕期手腳心發(fā)紅的健康宣教
- 《改革進(jìn)入新時(shí)期》課件
- 股份增值合同三篇
- 鐵路機(jī)車車輛修造合同三篇
- 健身運(yùn)動(dòng)APP相關(guān)行業(yè)投資規(guī)劃報(bào)告范本
- ALN-BN復(fù)合陶瓷相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 保障性住房管理服務(wù)相關(guān)行業(yè)投資規(guī)劃報(bào)告
- 出租房屋治安管理責(zé)任書
- 湖南師范大學(xué)法學(xué)院刑事訴訟期末考試
- 江津慈云首屆生態(tài)年豬文化節(jié)活動(dòng)安排
- 2023國家開放大學(xué)《大數(shù)據(jù)技術(shù)導(dǎo)論》實(shí)驗(yàn)報(bào)告1-5
- 廈門市業(yè)主大會(huì)及業(yè)主委員會(huì)服務(wù)手冊
- 梗阻性黃疸的診斷
- 招標(biāo)代理機(jī)構(gòu)優(yōu)惠條件及服務(wù)承諾
- 肩袖損傷病人的護(hù)理查房
- 化工原理課程設(shè)計(jì)-設(shè)計(jì)直管氣流干燥器,以干燥聚氯乙烯樹脂濕物料
- 人教版數(shù)學(xué)五年級上冊全冊校本作業(yè)設(shè)計(jì)
- GB/T 37771-2019煤礦綜采工作面總體配套導(dǎo)則
評論
0/150
提交評論