VF實習(xí)報告(祥細版)——Wizard_第1頁
VF實習(xí)報告(祥細版)——Wizard_第2頁
VF實習(xí)報告(祥細版)——Wizard_第3頁
VF實習(xí)報告(祥細版)——Wizard_第4頁
VF實習(xí)報告(祥細版)——Wizard_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Wizard WongVF實習(xí)報告Visual FoxPro 及其應(yīng)用系統(tǒng)開發(fā)實習(xí)報告 姓名:Wizard Wong 班級:XXXXX 學(xué)號:XXXXX 指導(dǎo)老師:XXXX 學(xué)院:XXXXX目錄一、 第一題 3第一小題第二小題第三小題第四小題二、 第二題 8第一小題第二小題第三小題第四小題三、 第三題 13第一小題第二小題第三小題第四小題四、 第四題 22 - 3 - / 56Wizard WongVF實習(xí)報告一、 第一題1 第一小題: 建立工資表文件gz20131000495.dbf,備注定義為MEMO字段使用命令語句:create gz20131000495然后按要求輸入表格的結(jié)構(gòu),接著輸

2、入相關(guān)數(shù)據(jù)以及添加相關(guān)備注,最后按Ctrl+W鍵存盤即可2 第二小題:添加、插入、刪除、修改操作練習(xí)添加命令:append 插入命令:insert into gz20131000495 () values ()刪除命令:go <數(shù)值表達式>delete &&邏輯刪除命令pack &&物理刪除命令修改命令:use gz20131000495 Browse 然后根據(jù)需要對數(shù)據(jù)進行修改3 第三小題:記錄指針移動、檢索操作練習(xí)記錄指針移動命令:go top go bottom go <數(shù)值表達式>檢索命令: index on <索引關(guān)鍵字&

3、gt; tag <索引標識名> 4 第四小題:排序、索引、統(tǒng)計操作練習(xí)排序操作:sort to <新文件名> on <字段>索引的建立:index on <索引關(guān)鍵字> tag <索引標識名> ascending|descending索引的使用命令: set order to <索引標識>統(tǒng)計命令:sum<數(shù)值表達式><范圍>for<條件1>while <條件2>to<內(nèi)存變量>二、第二題:1. 第一小題:已知半徑R=10,計算周長C=2Rclearinput &

4、quot;請輸入圓的半徑:" to bjC=2*PI()*bjA=STR ( C,5,2)?"周長=",AReturn2. 第二小題:假設(shè)銀行一、二、三年定期存款的年利率分別為5.0%、5.5%、6.2%。若儲戶存款為X元,期末償還本息為Y元,編寫計算各種不同定期存款期末應(yīng)付本息的程序clearinput "請輸入存款額:" to Xinput "請輸入定期年數(shù):" to nsdo case case ns=1 bx=ns*(0.05+1)*X case ns=2 bx=(0.055+1)ns*X case ns=3 bx=

5、(0.062+1)ns*Xendcase ?"存款期末應(yīng)付本息Y=",bx3. 第三小題:求二元一次方程ax2+bx=c=0的根CLEAR?"求解一元二次方程:a*x2+b*x+c=0"input "請輸入?yún)?shù)a=" to ainput "請輸入?yún)?shù)b=" to binput "請輸入?yún)?shù)c=" to cd=b*b-4*a*cDO case CASE a=0 ?"x=",-c/b CASE d<0 ?"此方程組無實根" CASE d=0 ?"

6、;x1=x2=",-b/(2*a) CASE d>0 ?"x1=",(-b-SQRT(d)/(2*a) ?"x2=",(-b+SQRT(d)/(2*a)ENDCASE4. 第四小題:計算自然數(shù)前N項和S=1+2+3+N,設(shè)N=50clear?"計算自然數(shù)前N項和S"input "請輸入項數(shù)N=" to NS=0FOR i=1 to N S=S+iNEXT ? "S=" , S三、第三題1、 第一小題:計算每個人的應(yīng)發(fā)工資及各項工資合計(1) 命令方式:use gz20131000

7、495replace all 應(yīng)發(fā)工資 with 基本工資+獎金-扣款listsum 基本工資,獎金,扣款,應(yīng)發(fā)工資 to a,b,c,dgo 6replace 基本工資 with areplace 獎金 with breplace 扣款 with creplace 應(yīng)發(fā)工資 with dlist(2) 程序方式:cleartext * * 1. 計算個人應(yīng)發(fā)工資 * * 2. 計算各項工資合計 * * 3. 退出此項運行程序 * * endtextdo while .t. 10,0 clear input "請輸入所需操作功能的編號:" to gn do case cas

8、e gn=1 do e1 case gn=2 do e2 case gn=3 wait "系統(tǒng)將關(guān)閉!" window exit endcaseenddoreturnprocedure e1use gz20131000495replace all 應(yīng)發(fā)工資 with 0listinput "請按表格輸入所需計算應(yīng)發(fā)工資職工的記錄號:" to mcgo mcreplace 應(yīng)發(fā)工資 with 基本工資+獎金-扣款displaywaitprocedure e2use gz20131000495go 6replace 基本工資 with 0 獎金 with 0

9、 扣款 with 0 應(yīng)發(fā)工資 with 0listsum 基本工資,獎金,扣款,應(yīng)發(fā)工資 to a,b,c,dgo 6replace 基本工資 with a 獎金 with b 扣款 with c 應(yīng)發(fā)工資 with dlistwait2第二小題:按分廠匯總,生成全廠工資匯總表gzhz?.dbf,其格式如下: 分廠基本工資獎金扣款應(yīng)發(fā)工資1299(1)、命令方式:Create gzhz20131000495use gz20131000495calculate sum(基本工資) for 分廠="1" to gch1calculate sum(獎金) for 分廠=&quo

10、t;1" to gch11calculate sum(扣款) for 分廠="1" to gch12calculate sum(應(yīng)發(fā)工資) for 分廠="1" to gch13use gzhz20131000495go 1replace 基本工資 with gch1 獎金 with gch11 扣款 with gch12 應(yīng)發(fā)工資 with gch13listuse gz20131000495calculate sum(基本工資) for 分廠="2" to gch2calcula sum(獎金) for 分廠="

11、;2" to gch21calcula sum(扣款) for 分廠="2" to gch22calcula sum(應(yīng)發(fā)工資) for 分廠="2" to gch23use gzhz20131000495go 2replace 基本工資 with gch2 獎金 with gch21 扣款 with gch22 應(yīng)發(fā)工資 with gch23listuse gzhz20131000495sum (基本工資) to jbgzhzsum (獎金) to jjhzsum (扣款) to kkhzsum (應(yīng)發(fā)工資) to yfgzhzgo 3rep

12、lace 基本工資 with jbgzhz 獎金 with jjhz 扣款 with kkhz 應(yīng)發(fā)工資 with yfgzhzlist(2)、程序方式:use gz20131000495index on 分廠 tag fchtotal on 分廠 to ause a? "查看完全廠工資匯總表以后請按Ctrl+W存盤!"browse field 分廠,基本工資,獎金,扣款,應(yīng)發(fā)工資 title "全廠工資匯總表gzhz20131000495"return3.第三小題: 根據(jù)需要,打印職工工資表或者全廠工資匯總表clearinput "要打印職工

13、工資表請輸入1,全廠工資匯總表請輸入2:" to shrif shr=1 use gz20131000495 list to printer prompt noconsoleelse use a copy to ab fields 分廠,基本工資,獎金,扣款,應(yīng)發(fā)工資 use ab list to printer prompt noconsoleendifreturn 4.第四小題:利用表單,設(shè)計gz20131000495.dbf的錄入、修改等維護功能 四、第四題1 第一小題:編寫一個主控程序,將第三題中各子程序組裝起來,建成一個工資管理系統(tǒng)1編寫一個主控程序,將第三題中各子程序組裝

14、起來,建成一個工資管理系統(tǒng)clearuse gz20131000495text * * 1.應(yīng)發(fā)工資合計 4.打印工資數(shù)據(jù) * * 2.各項工資合計 5.錄入修改功能 * * 3.按分廠匯總工資 6.退出 * *endtextdo while .t. 6,10 clear 6,10 say "請輸入1 -6:" get hy default space(1) read do case case hy="1" do yfgz1 case hy="2" do gxgz2 case hy="3" do fchz3 cas

15、e hy="4" do dygz4 case hy="5" close all do form 維護.scx case hy="6" wait "系統(tǒng)將關(guān)閉!" window timeout 3 exit endcaseEnddo 2、 利用項目文件重建以上工資管理系統(tǒng),分別編譯成app、exe文件進行運行3、根據(jù)資料,開發(fā)“汽車修理管理信息系統(tǒng)” 一、資料背景:某汽車修理廠準備建立一個“汽車修理管理信息系統(tǒng)”,其目標如下:a) 能對汽車修理有關(guān)數(shù)據(jù)進行錄入、修改和查詢b) 編制月度零件定貨計劃和修理人員工資月報表

16、c) 用戶提車時,及時打印修理汽車發(fā)表軟件開發(fā)人員根據(jù)用戶要求進行了調(diào)查,系統(tǒng)主要數(shù)據(jù)載體為:修車登記表編號:5001 日期:97/01/02修理項目點火線圈汽車牌號A2020203型號S130生產(chǎn)廠南方汽車廠車主姓名李華地址前進路110號電話87878766汽車修理單登記單編號:5005 汽車牌號:A2312318 車主:王平修理項目大修送修日期97/06/02完工日期97/03/30零件號100001100002100005修理小時200零件數(shù)量255修理費零件費總金額零件庫存表盤存:方龍 日期:97/04/30零件號零件名成本數(shù)量價格最低庫存定貨量領(lǐng)料單編號: 日期: 修理工:零件號數(shù)量

17、修理工登記表工號姓名地址電話小時工資零件定貨計劃單日期:97/04/23零件號零件名庫存量最低庫存定貨量修理工工資月報表日期:97/04/30工號姓名修理小時小時工資月工資修理汽車發(fā)表日期:車主姓名汽車牌號備注送修日期修理項目地址修理費零件費總金額具體功能為:(1) 數(shù)據(jù)錄入和修改(2) 數(shù)據(jù)查詢:(3) 每個月編制一次零件定貨計劃單和修理工工資表,其中定貨條件為:零件庫存量<最低庫存(4) 用戶提車時,及時打印發(fā)票。其中修理費=3*修理工時*修理工小時工資零件費=(零件價格*耗用零件數(shù)量)二、數(shù)據(jù)庫設(shè)計1、邏輯設(shè)計根據(jù)季度零件訂貨計劃、汽車修理發(fā)票和工資月報表等輸出單據(jù)的數(shù)據(jù)需求,從修

18、車登記單、汽車修理單、零件入庫單和零件出庫單等輸入單據(jù)中歸納出包含6個表的數(shù)據(jù)庫。這些表的名稱和關(guān)聯(lián)如下:() 修理單:XLD(編號,牌號,工號,修理項目,修理小時,送修日期,完工日期)() 汽車:QC(牌號,型號,生產(chǎn)廠,車主名)() 車主:CZ(車主名,地址,電話)() 修理工:XLG(工號,姓名,地址,電話,出生日期,進廠日期,小時工資)() 零件用量:LJYL(編號,零件號,數(shù)量)() 零件庫存:LJKC(零件號,零件名,成本,價格,庫存量,最低庫存,訂貨量)“汽車修理管理系統(tǒng)”總體模塊圖:QCXLPRG(汽車修理管理系統(tǒng)主文件) SJHJVUE(數(shù)據(jù)環(huán)境視圖文件) FMSCX(封面表

19、單文件) QCXLCDMPR(汽車修理管理系統(tǒng)菜單程序) XCDJSCX(修車登記表單文件) SRXLDHSCX(輸入修理單號表單) QCXLSCX(汽車修理表單文件) LJDHSCX(零件訂貨計劃表單文件:輸入季度號) DYFPSCX(打印發(fā)票表單文件:輸入修理單號) FPFRX(發(fā)票報表文件)2、物理設(shè)計八個表以及表的部分記錄:XLD,QC,CZ,XLG,LJYL,LJKC,LJRK,LJCK三:應(yīng)用程序設(shè)計(一)封面設(shè)計1、主文件(QCXLPRG)*程序文件名:qcxl.prg*功能:調(diào)用QCXLCD(汽車修理菜單)set talk offset defa to c:Wizard Won

20、gVF實習(xí)close allset view to sjhj.vuepublic xldh,ljfxldh=space(4)do form fmkeyb 'ctrl+f4'modi wind screen titl '汽車修理管理系統(tǒng)'cleardo qcxlcd.mprread eventquit(二)單程序結(jié)構(gòu)1、數(shù)據(jù)庫(QCXLSCX)按書上步驟做出數(shù)據(jù)庫:2、建立SJHJ.VUE(數(shù)據(jù)環(huán)境)文件3、菜單程序(QCXLCDMPR)生成菜單生成,運行后呈現(xiàn)如下圖所示:過程如下:5 往命令窗口鍵入 MODIFY FORM XCDJ,使出現(xiàn)標題為XCDJ.SCX

21、的表單設(shè)計器窗口;屬性設(shè)計:FORM1的CAPTION屬性設(shè)置為“修車登記”,AUTOCENTER屬性設(shè)置為.T.;用數(shù)據(jù)環(huán)境把xld 表的編號,送修日期,修理項目和牌號,qc表的型號,生產(chǎn)廠和車主名, cz表的地址和電話等字段拖拽到表單中相應(yīng)位置。2) 分別設(shè)置牌號和車主名兩個文本框valid事件代碼sele qclocate for 牌號=xld.牌號if not found()insert into qc(牌號) values (xld.牌號)endif select czlocate for 車主名=xld.車主名if not found()insert into cz(車主名) va

22、lues (qc.車主名)endif設(shè)置commandgroup1的click事件select xlddo casecase this.value=1 if recn()<recc() skip endifcase this.value=2 if recn()>1skip-1 endifcase this.value=3 go top case this.value=4 go bottomcase this.value=5 do form srxldhcase this.value=6 zy=messagebox('是要增頁么?',1+48+256,'確認增

23、加修理單') if zy=1 go bottom insert into xld(編號) values (str(val(編號)+1,4) endifcase this.value=7 sy=messagebox('是要刪頁么?',1+48+256,'確認刪除修理單') if sy=1 delete pack endifcase this.value=8select qcbrow titl'汽車修改'+space(20)+'單擊行首可打刪除標記,退出就刪去'packcase this.value=9select czbro

24、w titl'車主修改'+space(20)+'單擊行首可打刪除標記,退出就刪去'pack case this.value=10thisform.releaseendcasethisform.refresh 尋頁按鈕gotfocus事件代碼select xldjlh=recn()loca for 編號=trim(xldh)if not found()wait window "無此編號"go jlhendifthisform.refresh汽車修理表單qcxl.scx按照簡歷表的結(jié)構(gòu)用往命令窗口鍵入 MODIFY FORM QCXL,使出現(xiàn)標題

25、為QCXL.SCX的表單設(shè)計器窗口;數(shù)據(jù)環(huán)境把xld表的編號,送修日期,修理項目,牌號,修理小時和完工日期字段拖拽到表單窗口,產(chǎn)生各相應(yīng)的標簽和文本框,創(chuàng)建text1text8等8個文本框;屬性設(shè)置;為XLD表編號、送修日期、修理項目和牌號字段的文本框,text1text8等文本框的READONLY屬性都設(shè)置為.T.;在表單上創(chuàng)建COMBOL1組合框,并設(shè)置屬性,創(chuàng)建COMMANDGROUP1命令按鈕組,并編寫CLICK代碼。1.創(chuàng)建組合框combol,按照課本P330頁設(shè)置屬性 2.Form1的Refresh 事件代碼編寫如下: thisform.text1.value="&quo

26、t;thisform.text2.value=""thisform.text3.value=""thisform.text4.value=""thisform.text5.value=0thisform.text6.value=0thisform.text7.value=0thisform.text8.value=0select ljyllocate for 編號=xld.編號if found() thisform.text1.value=零件號 thisform.text5.value=數(shù)量endifcontif not eof()

27、 thisform.text2.value=零件號 thisform.text6.value=數(shù)量endifcontif not eof() thisform.text3.value=零件號 thisform.text7.value=數(shù)量endifcontif not eof() thisform.text4.value=零件號 thisform.text8.value=數(shù)量endif 1.創(chuàng)建命令按鈕組并編寫如下click代碼。 select xlddo case case this.value=1 if recn()<recc() skip endif case this.value

28、=2 if recn()>1 skip -1 endif case this.value=3 go top case this.value=4 go bott case this.value=5 do form srxldh thisform.release endc thisform.refresh “零件訂貨計劃”表單(LJDH.SCX)往命令窗口鍵入 MODIFY FORM LJDH,使出現(xiàn)標題為LJDH.SCX的表單設(shè)計器窗口;創(chuàng)建LABEL1標簽和LIST1列表框,并設(shè)置屬性;創(chuàng)建變量屬性JD(表示“季度”);為LIST1的INIT事件和DBLCLICK事件編寫代碼。如下:1.LIST1的LNIT事件代碼編寫如下: this.additem("1")this.additem("2")this.additem("3")this.additem("4")(2)LIST1的 DBLCLICK事件代碼編寫如下:select ljkccount for 庫存量<最低庫存 to jlsif jls

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論