實(shí)驗(yàn)五打印成績(jī)表_第1頁(yè)
實(shí)驗(yàn)五打印成績(jī)表_第2頁(yè)
實(shí)驗(yàn)五打印成績(jī)表_第3頁(yè)
實(shí)驗(yàn)五打印成績(jī)表_第4頁(yè)
實(shí)驗(yàn)五打印成績(jī)表_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)五 打印成績(jī)表一、實(shí)驗(yàn)?zāi)康?. 設(shè)計(jì)按不同的需要調(diào)用報(bào)表的表單2. 熟悉打印所需中間表的使用 3. 理解通過(guò)編程由多表產(chǎn)生一個(gè)臨時(shí)表的方法4. 掌握使用報(bào)表設(shè)計(jì)器創(chuàng)建和修改報(bào)表的方法二、實(shí)驗(yàn)內(nèi)容1.設(shè)計(jì)一個(gè)學(xué)生成績(jī)打印表單,在表單上通過(guò)單選按鈕可分別選擇按班級(jí)、按課程打印學(xué)生成績(jī);2.設(shè)計(jì)班級(jí)成績(jī)單、課程成績(jī)單兩個(gè)報(bào)表定義文件,可通過(guò)運(yùn)行表單分別調(diào)用這兩個(gè)文件,輸出所需報(bào)表。三、實(shí)驗(yàn)步驟(一)設(shè)計(jì)表單1.建立表單打開項(xiàng)目管理器“學(xué)生成績(jī)管理系統(tǒng)”,新建一個(gè)表單,將其Caption改為 “學(xué)生成績(jī)打印”,表單上各控件按圖5-1設(shè)計(jì)。 圖5-1其中“學(xué)生成績(jī)表打印”、“班級(jí)簡(jiǎn)稱”、“班級(jí)編號(hào)”

2、、“課程名稱”、“課程編號(hào)”為標(biāo)簽,“Combo1”、“Combo2”為組合框,“Text1”、“Text2”為文本框,“生成”、“預(yù)覽”、“打印”、“退出”為命令按鈕,“按班級(jí)打印”、“按課程打印”為單選按鈕組(單選按鈕組的設(shè)計(jì)見本頁(yè)第2點(diǎn)),可自行設(shè)計(jì)每一控件的字型、字體、字號(hào)、顏色。按Ctrl+ S鍵保存表單,取名為“成績(jī)打印”。2.設(shè)計(jì)單選按鈕 單擊單選按鈕組按鈕,在表單上畫一組單選按鈕組“Optiongroup1”,將其屬性作如下修改:BackStyle 0-透明BorderStyle 0-無(wú)Buttoncount 2然后,右鍵單擊單選按鈕組,在彈出的快捷菜單上選“編輯”,再分別單擊

3、其中任一按鈕Option1或Option2,就可進(jìn)行編輯,將Option1的Caption改為“按班級(jí)打印”,Option2的Caption改為“按課程打印”,其余如字型、字體、字號(hào)、顏色可自行設(shè)計(jì)。3.設(shè)置數(shù)據(jù)環(huán)境在數(shù)據(jù)環(huán)境中添加“班級(jí)號(hào)名”、“課程”。4.設(shè)置各控件主要屬性·Combo1主要屬性為:ControlSource 選“班級(jí)號(hào)名.班級(jí)簡(jiǎn)稱”ColumnCount 輸入1RowSourceType 選6字段RowSource 選“班級(jí)號(hào)名.班級(jí)簡(jiǎn)稱”Style 選2下拉列表框·Combo2主要屬性為:ControlSource 選“課程.課程名稱”ColumnC

4、ount 輸入1RowSourceType 選6字段RowSource 選“課程.課程名稱” Style 選2下拉列表框·Text1主要屬性: ControlSource 選“班級(jí)號(hào)名.班級(jí)編號(hào)” Enabled .F.-假·Text2主要屬性: ControlSource 選“課程.課程編號(hào)” Enabled .F.-假5.事件代碼 (1)單選按鈕組Optiongroup1的Click過(guò)程代碼: public nn=this.valuedo case case n=1 sele 班級(jí)號(hào)名 go top bo1.enabled=.t. bo2.enabled=.f. cas

5、e n=2 sele 課程 go top bo2.enabled=.t. bo1.enabled=.f.endcase thisform.refresh(2)雙擊Combo1,為其Click過(guò)程輸入代碼:Thisform.refresh (3)雙擊Combo2,為其Click過(guò)程輸入代碼:Thisform.refresh (4)雙擊命令按鈕“生成”,為其Click過(guò)程輸入代碼:(注意:這一段程序代碼比較長(zhǎng),實(shí)驗(yàn)過(guò)程中可以先輸入調(diào)試case n=1程序段,再輸入調(diào)試case n=2程序段,以減少調(diào)試的復(fù)雜度。如實(shí)驗(yàn)課時(shí)不夠,也可只輸入case n=1所對(duì)應(yīng)的“按班級(jí)打印”程序段,且后面也只設(shè)計(jì)相

6、應(yīng)的按班級(jí)打印報(bào)表文件。 )public n,kc1,kc2,kc3,bjbh,bjjc && n存放選擇單選按鈕的值,kc1-kc3分別存放課程名,后兩個(gè)變量存放班級(jí)編號(hào)和班級(jí)簡(jiǎn)稱public kcmc,kcbh,xf,rkjs &&kcmc存放課程名,kcbh存放課程編號(hào),xf存放學(xué)分,rkjs存放任課教師set safe offclos datado case case n=1 &&按班級(jí)打印 store space(20) to kc1,kc2,kc3 &&賦初值 if !file("bjlsb.dbf"

7、;) && bjlsb.dbf為按班級(jí)打印所需中間表,是一個(gè)由多個(gè)表產(chǎn)生的臨時(shí)表 create table bjlsb(姓名 c(6),班級(jí)編號(hào) c(9),班級(jí)簡(jiǎn)稱 c(9),kc1 n(3), kc2 n(3),kc3 n(3) else sele F use bjlsb endif sele bjlsb zap appe from 學(xué)生 dele all for 班級(jí)編號(hào)#班級(jí)號(hào)名.班級(jí)編號(hào) pack sele I use 學(xué)生 sele G use 學(xué)生選課 sele 課程 i=1 scan *內(nèi)存變量kci(i=1,2,3)中存放第i門課程的名稱 m="kc&

8、quot;+trim(str(i,1) &m=課程名稱 *第i門課程的成績(jī)寫入bjlsb.dbf sele bjlsb go top scan sele 學(xué)生 loca for 姓名=bjlsb.姓名 sele 學(xué)生選課 loca for 學(xué)號(hào)=學(xué)生.學(xué)號(hào) and 課程編號(hào)=課程.課程編號(hào) sele bjlsb repl &m with 學(xué)生選課.成績(jī) endscan i=i+1 sele 課程 endscan case n=2 &&按課程打印 store space(16) to kcmc,kcbh,rkjs &&賦初值 xf=space(5)

9、 &&賦初值 sele 課程 loca for 課程編號(hào)=kcbh xf=學(xué)分 rkjs=任課教師 if !file("kclsb.dbf") && kclsb.dbf為按課程打印所需中間表,也是一個(gè)由多個(gè)表產(chǎn)生的臨時(shí)表 create table kclsb(學(xué)號(hào) c(12),姓名 c(6),班級(jí)編號(hào) c(9),班級(jí)簡(jiǎn)稱 c(16),課程編號(hào) c(7),成績(jī) n(3), 任課教師 c(6) else sele F use kclsb endif sele kclsb zap appe from 學(xué)生選課 dele all for 課程編號(hào)#課

10、程.課程編號(hào) pack sele I use 學(xué)生 sele kclsb go top scan sele 學(xué)生 loca for 學(xué)號(hào)=kclsb.學(xué)號(hào) sele 班級(jí)號(hào)名 loca for 班級(jí)編號(hào)=學(xué)生.班級(jí)編號(hào) sele kclsb repl 姓名 with 學(xué)生.姓名,班級(jí)編號(hào) with 班級(jí)號(hào)名.班級(jí)編號(hào),班級(jí)簡(jiǎn)稱 with 班級(jí)號(hào)名.班級(jí)簡(jiǎn)稱 endscan endcase(5)雙擊命令按鈕“預(yù)覽”,為其Click過(guò)程輸入代碼:if n=1 report form 班級(jí)成績(jī)表 previewelse report form 課程成績(jī)表 previewendif(6)雙擊命令按鈕“

11、打印”,為其Click過(guò)程輸入代碼:if n=1 report form 班級(jí)成績(jī)表 to printelse report form 課程成績(jī)表 to printendif(7)雙擊命令按鈕“退出”,為其Click過(guò)程輸入代碼:thisform.release6.運(yùn)行表單生成中間表單擊運(yùn)行工具按鈕,·先選擇“按班級(jí)打印”,在“班級(jí)簡(jiǎn)稱”右邊的下拉列表中選擇一個(gè)班級(jí),再單擊“生成”按鈕,可生成表bjlsb.dbf 。·再選擇“按課程打印”,在“課程名稱”右邊的下拉列表中選擇一門課程,再單擊“生成”按鈕,可生成表kclsb.dbf 。這兩個(gè)臨時(shí)表是下面創(chuàng)建報(bào)表定義文件所需要的

12、中間文件。(二)創(chuàng)建報(bào)表定義文件1.使用向?qū)?chuàng)建報(bào)表定義文件“班級(jí)成績(jī)表”·從項(xiàng)目管理器文檔報(bào)表新建報(bào)表向?qū)?bào)表向?qū)?,進(jìn)入圖5-2時(shí),在“數(shù)據(jù)庫(kù)和表”欄選bjlsb,可用字段除“班級(jí)編號(hào)”、“班級(jí)簡(jiǎn)稱”外,其余選中。 圖5-2·按“下一步”按鈕,在接下來(lái)的界面中再按“下一步”按鈕,在“報(bào)表樣式”中選“帳務(wù)式”,單擊 兩次“下一步”,進(jìn)入步驟5時(shí),選字段“姓名”,單擊“添加”,并選“升序”,如圖5-3,可使報(bào)表中記錄按姓名升序排列。·按“下一步”按鈕進(jìn)入步驟6,在報(bào)表標(biāo)題中輸入“班級(jí)成績(jī)表”,然后單擊完成。保圖5-3存的名字也為“班級(jí)成績(jī)表”。如圖5-4。·

13、;在項(xiàng)目管理器中單擊“班級(jí)成績(jī)表”,再單擊右側(cè)的“修改”按鈕,進(jìn)入報(bào)表修改。注意:此時(shí)由于還沒(méi)有建立報(bào)表定義文件,所以運(yùn)行表單時(shí)只能單擊“生成”,以生成臨時(shí)中間文件,暫不能單擊“預(yù)覽”按鈕,否則會(huì)出錯(cuò)。圖5-42.修改報(bào)表定義文件“班級(jí)成績(jī)表”·點(diǎn)住標(biāo)題條上邊緣,向下拖動(dòng),適當(dāng)擴(kuò)大標(biāo)題區(qū)。·單擊最上面的一條粗黑線,再單擊“剪切”按鈕,刪除此黑粗線。·單擊標(biāo)題區(qū) “班級(jí)成績(jī)表”,然后選“格式”菜單中的“字體”,選28號(hào)字,并將其拖到中間位置。·單擊報(bào)表控件中的標(biāo)簽按鈕,再在標(biāo)題區(qū)左下部單擊一下,輸入“班級(jí)編號(hào)”,字號(hào)設(shè)為“小四”。·單擊報(bào)表控件中

14、的域控件 按鈕,在“班級(jí)編號(hào)”標(biāo)簽右側(cè)畫一框,出現(xiàn)圖5-5,再單擊表達(dá)式右側(cè)的 按鈕,出現(xiàn)圖5-6所示表達(dá)式輸入框。圖5-5圖5-6在變量區(qū)雙擊bjbh,則在“報(bào)表字段的表達(dá)式”框中出現(xiàn)bjbh,如果變量區(qū)沒(méi)有bjbh,則直接在“報(bào)表字段的表達(dá)式”框中輸入bjbh。按“確定”按鈕后,得到圖5-7。圖5-7·根據(jù)上述相同的步驟,再在“班級(jí)編號(hào)”右側(cè)制作一標(biāo)簽“班級(jí)簡(jiǎn)稱”,同時(shí)制作一域控件與bjjc聯(lián)系。如圖5-8。·單擊頁(yè)標(biāo)頭區(qū)的kc1,然后單擊“剪切”按鈕刪除,同樣的方法刪除kc2、kc3。·單擊報(bào)表控件中的域控件 按鈕,在kc1處畫一框,框要比較高,在接下來(lái)出現(xiàn)

15、表達(dá)式輸入框中輸入m.kc1.圖5-8圖5-9·同法在原kc2、kc3處分別畫域控件,表達(dá)式框中分別輸入m.kc2、m.kc3,如圖5-9。·刪除頁(yè)標(biāo)頭里的兩條粗線,在上面那條粗線處畫一條細(xì)線代替。再在頁(yè)標(biāo)頭畫幾條豎線隔開各個(gè)部分,同時(shí)調(diào)整細(xì)節(jié)部分的分隔線,使其與頁(yè)標(biāo)頭的分隔線對(duì)齊,如圖5-10圖。圖5-10·單擊工具欄的預(yù)覽按鈕 ,可看到如圖5-11結(jié)果。3.去掉0成績(jī)(0分表示未輸入成績(jī)或未選該門課程)·雙擊細(xì)節(jié)里的kc1,在報(bào)表表達(dá)式對(duì)話框中,單擊格式后面的 按鈕,再選 ,單擊“確定”按鈕即可。·用同樣的方法對(duì)細(xì)節(jié)部分kc2,kc3作定義

16、。定義完后,再預(yù)覽便不再出現(xiàn)0成績(jī)了。·按Ctrl+W保存關(guān)閉報(bào)表設(shè)計(jì)器。(三)調(diào)試報(bào)表·進(jìn)入“成績(jī)打印”表單,運(yùn)行該表單,選“按班級(jí)打印”,任選一班級(jí),單擊“生成”按鈕,再點(diǎn)“預(yù)覽”按鈕,即可看到屏幕預(yù)覽的效果。·“打印”功能與“預(yù)覽”類似,一般學(xué)生機(jī)房沒(méi)有安裝打印機(jī),可不運(yùn)行打印功能。(四)創(chuàng)建與調(diào)試“按課程打印”報(bào)表1.參照前面實(shí)驗(yàn)步驟“(二)1.”創(chuàng)建“按班級(jí)打印”報(bào)表類似的方法,利用報(bào)表向?qū)D5-11圖5-12創(chuàng)建“按課程打印”報(bào)表。·在步驟1按圖5-12選擇字段。·在步驟5選擇按“學(xué)號(hào)”升序排序。·在步驟6,報(bào)表標(biāo)題與保存文件名均輸入為“課程成績(jī)表”。2.修改報(bào)表定義文件“課程成績(jī)表”·參照前面實(shí)驗(yàn)步驟“(二)2.”,再根據(jù)圖5-13,修改報(bào)表定義文件“課程成績(jī)表”。注意在“標(biāo)題”中使用報(bào)表控件中的“標(biāo)簽”控件與“域”控件。·單擊工具欄的預(yù)覽按鈕 ,可看到如圖5-14結(jié)果。·按Ctrl+W保存關(guān)閉報(bào)表設(shè)計(jì)器。3.調(diào)試“按課程打印”報(bào)表參照前面實(shí)驗(yàn)步驟(三)調(diào)試“按班級(jí)打印”報(bào)表的方法,運(yùn)行表單,選擇“按課程打印”,任選一課程,單擊“生成”按鈕,再點(diǎn)“預(yù)覽”按鈕,進(jìn)行打印報(bào)表的預(yù)覽。圖5-13圖5-14四、思考題及注意事項(xiàng)1.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論