




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2025年2月16日第1頁第10章菜單設(shè)計(jì)10.1菜單系統(tǒng)概述10.2創(chuàng)建快速菜單10.3使用菜單設(shè)計(jì)器創(chuàng)建菜單10.4在頂層表單中設(shè)計(jì)菜單10.5創(chuàng)建快捷菜單本章小結(jié)習(xí)題102025年2月16日第2頁本章要點(diǎn)VisualFoxPro菜單系統(tǒng)概述,使用菜單設(shè)計(jì)器創(chuàng)建菜單、下拉菜單的設(shè)計(jì)、創(chuàng)建快速菜單、快捷菜單的設(shè)計(jì)、在頂層表單中設(shè)計(jì)菜單。2025年2月16日第3頁在應(yīng)用程序中,菜單往往是最常用的人機(jī)交互界面,它可以將大量的用戶命令和程序功能集成到若干個(gè)菜單項(xiàng)中。一個(gè)好的菜單不僅反映了應(yīng)用程序中功能模塊組織的水平,也體現(xiàn)了應(yīng)用程序操作界面的友好性。在可視化應(yīng)用程序中,用戶要執(zhí)行命令或運(yùn)行程序,最常見的就是通過應(yīng)用程序的菜單來實(shí)現(xiàn)。在應(yīng)用系統(tǒng)中用菜單系統(tǒng)組織各功能模塊,從而實(shí)現(xiàn)友好的用戶界面。在結(jié)構(gòu)化程序設(shè)計(jì)中,要編寫一個(gè)菜單程序是很麻煩的事,而VisualFoxPro提供的“菜單設(shè)計(jì)器”使建立菜單系統(tǒng)變的很簡單,它可以幫助用戶快速建立實(shí)用且高質(zhì)量的菜單系統(tǒng)。2025年2月16日第4頁10.1菜單系統(tǒng)概述10.1.1菜單系統(tǒng)的基本結(jié)構(gòu)VisualFoxPro的菜單分為下拉菜單和快捷菜單兩種。1.下拉菜單各個(gè)應(yīng)用程序菜單的具體內(nèi)容可能是不同的,但其基本結(jié)構(gòu)是相同的。菜單一般由主菜單(包括菜單欄和菜單標(biāo)題)、子菜單(包括彈出菜單和菜單選項(xiàng))等組成。如果需要,還可以設(shè)計(jì)多級(jí)子菜單。菜單的基本組成如圖10-1所示。2025年2月16日第5頁分組線子菜單子菜單項(xiàng)快捷鍵下拉菜單菜單名稱主菜單項(xiàng)菜單標(biāo)題圖10-1下拉菜單的基本結(jié)構(gòu)2025年2月16日第6頁(1)菜單欄:菜單欄也稱為主菜單,一般在屏幕的頂部。菜單欄上包含若干可供選擇的項(xiàng)目,即菜單標(biāo)題。應(yīng)該對(duì)每個(gè)菜單欄定義一個(gè)名稱以便在程序中進(jìn)行引用。例如,VFP6.0系統(tǒng)菜單的名稱為_MSYSMENU。(2)菜單標(biāo)題:菜單標(biāo)題是位于菜單欄上的可選項(xiàng)目,可以認(rèn)為菜單標(biāo)題是菜單欄的選項(xiàng)。通常,菜單標(biāo)題選中后,將下拉菜單(也可稱為彈出菜單)。(3)下拉菜單:點(diǎn)擊主菜單項(xiàng)可以打開一個(gè)下拉菜單,下拉菜單中包含若干菜單項(xiàng)。菜單項(xiàng)既可以對(duì)應(yīng)一個(gè)命令或程序,也可以對(duì)應(yīng)一個(gè)子菜單。(4)子菜單:在下拉菜單中用鼠標(biāo)或鍵盤移動(dòng)到帶右向箭頭“?”的下拉菜單項(xiàng)時(shí),會(huì)自動(dòng)彈出子菜單。子菜單可以對(duì)應(yīng)一個(gè)命令或程序,還可以是子菜單,從而形成多級(jí)菜單系統(tǒng)。(5)菜單分組線:特殊的菜單選項(xiàng),在下拉菜單中,可以用分組線對(duì)邏輯或功能緊密相關(guān)的菜單項(xiàng)分組,使之層次分明。2025年2月16日第7頁2.快捷菜單快捷菜單就是右鍵彈出式菜單,一般屬于某個(gè)界面對(duì)象(如表單或表單上的控件),當(dāng)用鼠標(biāo)右擊該對(duì)象時(shí),就會(huì)在單擊處彈出快捷菜單??旖莶藛瓮ǔA谐雠c處理對(duì)象有關(guān)的一些功能命令,如圖10-2所示。2025年2月16日第8頁圖10-2快捷菜單2025年2月16日第9頁10.1.2菜單系統(tǒng)的設(shè)計(jì)步驟不管應(yīng)用程序的規(guī)模多大,打算使用的菜單多么復(fù)雜,創(chuàng)建一個(gè)完整的菜單系統(tǒng)都需以下步驟:(1)規(guī)劃系統(tǒng),確定需要哪些菜單、菜單出現(xiàn)在界面中的位置,以及哪幾個(gè)菜單要有子菜單等。(2)利用“菜單設(shè)計(jì)器”創(chuàng)建菜單及子菜單。(3)指定菜單所要執(zhí)行的任務(wù),例如顯示表單或?qū)υ捒虻?。?)選擇“預(yù)覽”按鈕預(yù)覽整個(gè)菜單系統(tǒng)。(5)從“菜單”菜單上選擇“生成”命令,生成菜單程序以及運(yùn)行某菜單程序,對(duì)菜單系統(tǒng)進(jìn)行測試。(6)從“程序”菜單中選擇“執(zhí)行”命令,然后執(zhí)行已生成的MPR程序。2025年2月16日第10頁1.菜單系統(tǒng)的規(guī)劃2.使用菜單設(shè)計(jì)器3.預(yù)覽4.生成菜單程序文件(.MPR)5.執(zhí)行菜單2025年2月16日第11頁10.2創(chuàng)建快速菜單使用快速菜單創(chuàng)建菜單系統(tǒng)的步驟如下:(1)從“項(xiàng)目管理器”中選擇“其他”選項(xiàng)卡,再選擇“菜單”,然后單擊“新建”按鈕,彈出如圖10-4所示的“新建菜單”對(duì)話框。(2)單擊“菜單”按鈕,出現(xiàn)“菜單設(shè)計(jì)器”對(duì)話框。選擇“菜單”項(xiàng)中的“快速菜單”命令,這時(shí),“菜單設(shè)計(jì)器”中包含了關(guān)于VisualFoxPro主菜單的信息,如圖10-5所示。用戶通過添加或更改菜單項(xiàng)就可定制出自己的菜單系統(tǒng)。2025年2月16日第12頁圖10-4“新建菜單”對(duì)話框圖10-5快捷菜單設(shè)計(jì)器
2025年2月16日第13頁10.3使用菜單設(shè)計(jì)器創(chuàng)建菜單VisualFoxPro系統(tǒng)提供了創(chuàng)建應(yīng)用系統(tǒng)菜單的工具,用戶利用菜單設(shè)計(jì)器可以設(shè)計(jì)與VisualFoxPro系統(tǒng)菜單相媲美的面向具體問題的應(yīng)用系統(tǒng)菜單。10.3.1創(chuàng)建主菜單主菜單實(shí)際上是菜單文件的一部分,是建立菜單文件的最初操作,它包含菜單文件中各菜單選項(xiàng)的名稱。2025年2月16日第14頁創(chuàng)建主菜單,可以通過CREATEMENU<菜單名>命令創(chuàng)建,也可以通過“菜單設(shè)計(jì)器”來完成。操作步驟如下:(1)打開“文件”菜單,選擇“新建”,進(jìn)入“新建”窗口。(2)在“新建”窗口,單擊“菜單”,再按“新建文件”按鈕,進(jìn)入“新建菜單”窗口。(3)在“新建菜單”窗口,選擇“菜單”,進(jìn)入“菜單設(shè)計(jì)器”窗口。(4)在“菜單設(shè)計(jì)器”窗口,定義主菜單中各菜單選項(xiàng)名。(5)保存菜單文件。2025年2月16日第15頁10.3.2創(chuàng)建子菜單項(xiàng)10.3.3定義菜單項(xiàng)功能10.3.4定義快捷鍵10.3.5添加系統(tǒng)菜單項(xiàng)10.3.6菜單項(xiàng)的相關(guān)設(shè)計(jì)1.菜單項(xiàng)分組2025年2月16日第16頁將菜單項(xiàng)分組(即顯示一條分隔線)的方法是:(1)在一空的“菜單名稱”欄中鍵入符號(hào)“\-”便可以創(chuàng)建一條分隔線。(2)拖動(dòng)“\-”提示符左側(cè)的按鈕,將分隔線移動(dòng)到正確的位置即可。也可以在要插入分隔線的位置“插入”一個(gè)新的菜單項(xiàng),然后直接輸入符號(hào)“\-”。2025年2月16日第17頁2.指定訪問鍵如果需要定義訪問鍵,只需要在菜單項(xiàng)名稱的任意位置鍵入“\<”,然后鍵入作為訪問鍵的字母。比如,對(duì)菜單項(xiàng)“打印”希望定義字母P為訪問鍵則輸入“打印\<p”。3.指定鍵盤快捷鍵為菜單項(xiàng)指定快捷鍵的方法是:(1)選擇或?qū)⒐鈽?biāo)定位在要定義快捷鍵的菜單標(biāo)題或菜單項(xiàng)。2025年2月16日第18頁(2)用鼠標(biāo)單擊“選項(xiàng)”欄中的按鈕,則打開如圖10-23所示的“提示選項(xiàng)”對(duì)話框。(3)在“鍵標(biāo)簽”框中按下組合鍵(沒有定義快捷鍵時(shí)該框顯示“按下要定義的鍵”),則立刻可創(chuàng)建快捷鍵(注意是直接按組合鍵,而不是逐個(gè)鍵入字符)。(4)在“鍵說明”框中,輸入希望在菜單項(xiàng)旁邊出現(xiàn)的文本(默認(rèn)是快捷鍵標(biāo)記,建議不要更改)。(5)最后單擊“確定”命令按鈕,快捷鍵定義生效。2025年2月16日第19頁圖10-23提示選項(xiàng)對(duì)話框2025年2月16日第20頁4.啟用和廢止菜單項(xiàng)5.指定提示信息10.3.7顯示菜單中選項(xiàng)設(shè)置當(dāng)菜單設(shè)計(jì)窗口處于活動(dòng)狀態(tài)時(shí),在系統(tǒng)“顯示”菜單中新增加兩個(gè)選項(xiàng),常規(guī)選項(xiàng)與菜單選項(xiàng)。1.常規(guī)選項(xiàng)2.菜單選項(xiàng)3.引入系統(tǒng)菜單2025年2月16日第21頁【例10-5】創(chuàng)建一個(gè)下拉式菜單mymenu.MNX,運(yùn)行該菜單程序時(shí)會(huì)在當(dāng)前VFP系統(tǒng)菜單的末尾追加一個(gè)“考試”子菜單,子菜單中包括統(tǒng)計(jì)和返回兩個(gè)子菜單項(xiàng),要求菜單命令“返回”的功能是返回標(biāo)準(zhǔn)的系統(tǒng)菜單。如圖10-26所示。2025年2月16日第22頁圖10-26引入“常規(guī)選項(xiàng)”中的追加的用戶菜單2025年2月16日第23頁10.4在頂層表單中設(shè)計(jì)菜單在頂層表單中設(shè)計(jì)菜單的步驟為:1.創(chuàng)建菜單及子菜單(1)在菜單設(shè)計(jì)器中,創(chuàng)建菜單結(jié)構(gòu)。(2)在菜單設(shè)計(jì)器方式下,選擇“顯示”菜單中的“常規(guī)選項(xiàng)”命令,將出現(xiàn)“常規(guī)選項(xiàng)”對(duì)話框,在對(duì)話框中選中“頂層表單”復(fù)選框,將菜單定位于頂層表單之中。如圖10-27所示。(3)將表單的ShowWindow屬性值設(shè)置為2,使其成為頂層表單。2025年2月16日第24頁圖10-27選中“頂層表單”復(fù)選框2025年2月16日第25頁(4)在表單的Init事件代碼中添加調(diào)用菜單程序的命令,格式如下:DO<文件名>WITHThis[,"<菜單名>"]<文件名>指定被調(diào)用的菜單程序文件,其中的擴(kuò)展名.MPR不能省略。This表示當(dāng)前表單對(duì)象的引用。通過<菜單名>可以為被添加的下拉式菜單的條形菜單指定一個(gè)內(nèi)部名字。(5)在表單的Destory事件代碼中添加清除菜單的命令,使得在關(guān)閉表單時(shí)能同時(shí)清除菜單,釋放其所占用的內(nèi)存空間。命令格式如下:RELEASEMENU〈菜單名>[EXTENDED]其中的EXTENDED表示在清除條形菜單時(shí)一起清除其下屬的所有子菜單。2025年2月16日第26頁10.5創(chuàng)建快捷菜單在VisualFoxPro中,當(dāng)在某一控件或?qū)ο笊蠁螕羰髽?biāo)右鍵時(shí),會(huì)彈出快捷菜單,以便對(duì)該對(duì)象進(jìn)行快速操作。【例10-7】設(shè)計(jì)一個(gè)包含有“新建”、“打開”、“保存”、“另存為”、“頁面設(shè)置”、“打印預(yù)覽”、“打印”和“退出”共8個(gè)菜單項(xiàng)的快捷菜單。2025年2月16日第27頁本章小結(jié)菜單為用戶提供了一個(gè)結(jié)構(gòu)化的、可訪問的途徑,便于使用程序中的命令和工具。本章介紹了菜單的基本結(jié)構(gòu)和“菜單設(shè)計(jì)器”的使用方法,在此基礎(chǔ)上以“學(xué)生成績”的菜單設(shè)計(jì)為例詳細(xì)講述了創(chuàng)建菜單的過程和應(yīng)用菜單的方法,最后介紹工具欄的設(shè)計(jì)和應(yīng)用的相關(guān)知識(shí)。2025年2月16日第28頁第11章報(bào)表設(shè)計(jì)11.1計(jì)劃報(bào)表布局11.2創(chuàng)建報(bào)表布局11.3修改報(bào)表布局11.4預(yù)覽和打印報(bào)表本章小結(jié)習(xí)題112025年2月16日第29頁本章要點(diǎn)報(bào)表與數(shù)據(jù)源,報(bào)表的設(shè)計(jì)方法與設(shè)計(jì)步驟,報(bào)表設(shè)計(jì)器的使用,域控件、報(bào)表變量的概念與使用,記錄數(shù)據(jù)的分組統(tǒng)計(jì),報(bào)表的打印輸出命令。2025年2月16日第30頁VFP常用兩種方式輸出應(yīng)用程序處理的數(shù)據(jù):一種是以表單方式在屏幕上輸出,另一種方式就是以報(bào)表方式在紙張介質(zhì)上打印輸出。一個(gè)有一定規(guī)模的數(shù)據(jù)庫應(yīng)用系統(tǒng)會(huì)涉及各種類型的大量數(shù)據(jù),要求打印輸出的報(bào)表種類和樣式也多種多樣,因此報(bào)表文件的設(shè)計(jì)是開發(fā)應(yīng)用程序中的一項(xiàng)重要工作。報(bào)表包括兩個(gè)基本組成部分:數(shù)據(jù)源和布局。數(shù)據(jù)源通常是數(shù)據(jù)庫中的表,也可以是視圖、查詢或臨時(shí)表。視圖和查詢篩選、排序、分組數(shù)據(jù)庫中的數(shù)據(jù),而報(bào)表布局則定義了報(bào)表的打印格式。在定義了一個(gè)表、一個(gè)視圖或查詢后,便可以創(chuàng)建報(bào)表。2025年2月16日第31頁11.1計(jì)劃報(bào)表布局通過設(shè)計(jì)報(bào)表,可以用各種方式在打印頁面上顯示數(shù)據(jù)。使用“報(bào)表設(shè)計(jì)器”可以設(shè)計(jì)復(fù)雜的列表、總結(jié)摘要或數(shù)據(jù)的特定子集,如發(fā)票。設(shè)計(jì)報(bào)表有4個(gè)主要步驟,第一步:決定要?jiǎng)?chuàng)建的報(bào)表類型;第二步:創(chuàng)建報(bào)表布局文件;第三步:修改和定制布局文件;第四步:預(yù)覽和打印報(bào)表。2025年2月16日第32頁11.1.1報(bào)表的常規(guī)布局創(chuàng)建報(bào)表之前,應(yīng)該確定所需報(bào)表的常規(guī)格式。報(bào)表可能同基于單表的電話號(hào)碼列表一樣簡單,也可能復(fù)雜得像基于多表的發(fā)票那樣。另外還可以創(chuàng)建特殊種類的報(bào)表。例如,郵件標(biāo)簽便是一種特殊的報(bào)表,其布局必須滿足專用紙張的要求。創(chuàng)建報(bào)表必須制定報(bào)表的布局格式,常規(guī)的報(bào)表布局有列報(bào)表、行報(bào)表、一對(duì)多報(bào)表和多欄報(bào)表4種形式。常規(guī)報(bào)表布局有如下幾種:2025年2月16日第33頁2025年2月16日第34頁表11-1布局類型布局類型說明用途舉例列每行一條記錄,每條記錄的字段在頁面上按水平方向放置。分組/總計(jì)報(bào)表、財(cái)政報(bào)表、存貨清單、銷售總結(jié)行一列的記錄,每條記錄的字段在一側(cè)豎直放置列表一對(duì)多一條記錄或一對(duì)多關(guān)系發(fā)票、會(huì)計(jì)報(bào)表多列多列的記錄,每條記錄的字段沿左邊緣豎直放置電話號(hào)碼薄、名片標(biāo)簽多列記錄,每條記錄的字段沿左邊緣豎直放置,打印在特殊紙上郵件標(biāo)簽、名字標(biāo)簽2025年2月16日第35頁11.1.2報(bào)表布局文件報(bào)表文件的擴(kuò)展名是.FRX,這種文件存儲(chǔ)報(bào)表的詳細(xì)說明。每個(gè)報(bào)表文件還有擴(kuò)展名是.FRT的相關(guān)文件。報(bào)表文件只存儲(chǔ)一個(gè)特定報(bào)表的位置和格式信息,而不存儲(chǔ)每個(gè)數(shù)據(jù)字段的值。2025年2月16日第36頁11.2創(chuàng)建報(bào)表布局使用“報(bào)表向?qū)А眲?chuàng)建報(bào)表非常簡單快捷,但創(chuàng)建的報(bào)表格式簡單,有時(shí)不能滿足需要;使用“報(bào)表設(shè)計(jì)器”雖然麻煩一些,但可以任意定制報(bào)表。因此,一般的做法是先使用向?qū)Чぞ呖焖賱?chuàng)建一個(gè)簡單的報(bào)表,再使用后一種工具對(duì)這個(gè)報(bào)表進(jìn)行修改完善。2025年2月16日第37頁11.2.1通過“報(bào)表向?qū)А眲?chuàng)建報(bào)表1.報(bào)表向?qū)А纠?1-1】使用報(bào)表向?qū)Ы?bào)表,報(bào)表中包括yy表中的所有字段,按“口語”字段降序排列,報(bào)表標(biāo)題設(shè)置為“英語成績得分情況”,報(bào)表文件名為yy_result。2.一對(duì)多報(bào)表向?qū)?025年2月16日第38頁11.2.2快速報(bào)表使用快速報(bào)表功能可以快速地制作一個(gè)格式簡單的報(bào)表,用戶可以在報(bào)表設(shè)計(jì)器中根據(jù)實(shí)際需要對(duì)報(bào)表進(jìn)行修改,從而快速形成滿足實(shí)際需要的報(bào)表?!纠?1-2】以XSDB.DBF為數(shù)據(jù)環(huán)境創(chuàng)建快速報(bào)表report2.frx。2025年2月16日第39頁11.2.3通過“報(bào)表設(shè)計(jì)器”創(chuàng)建報(bào)表利用報(bào)表設(shè)計(jì)器可以直觀地創(chuàng)建和修改報(bào)表,打開報(bào)表設(shè)計(jì)器的方法有以下幾種。(1)在“項(xiàng)目管理器”窗口中選擇“文檔”選項(xiàng)卡,選中“報(bào)表”組件,單擊“新建”按鈕,在彈出的“新建報(bào)表”對(duì)話框中單擊“新建報(bào)表”按鈕。(2)選擇“文件”菜單中的“新建”命令,在“新建”對(duì)話框中的“文件類型”選擇“報(bào)表”項(xiàng),單擊“新建文件”按鈕。(3)執(zhí)行命令:CREATEREPORT[<報(bào)表文件名>],可以看到“報(bào)表設(shè)計(jì)器”。默認(rèn)情況下,“報(bào)表設(shè)計(jì)器”顯示如圖11-14所示的頁標(biāo)頭、細(xì)節(jié)、頁注腳3個(gè)帶區(qū)。2025年2月16日第40頁圖11-14報(bào)表設(shè)計(jì)器2025年2月16日第41頁①頁標(biāo)頭:是“報(bào)表設(shè)計(jì)器”窗口中的一個(gè)帶區(qū),所包含的信息在每份報(bào)表中只出現(xiàn)一次。一般來講,出現(xiàn)在報(bào)表標(biāo)頭中的項(xiàng)包括報(bào)表標(biāo)題、欄標(biāo)題和當(dāng)前日期。②細(xì)節(jié):報(bào)表中的一塊區(qū)域,一般包含來自表中的一行或多行記錄。③頁注腳:在“報(bào)表設(shè)計(jì)器”窗口中的一個(gè)帶區(qū),包含出現(xiàn)在頁面底部的一些信息(如頁碼、節(jié)等等)。一個(gè)分隔符欄位于每一帶區(qū)的底部。帶區(qū)名稱顯示于靠近藍(lán)箭頭的欄,藍(lán)箭頭指示該帶區(qū)位于欄之上,而不是之下。除此之外,還可以給報(bào)表添加以下帶區(qū)。④列標(biāo)頭:在“報(bào)表設(shè)計(jì)器”窗口中的一個(gè)帶區(qū),所包含的信息在每份報(bào)表中只出現(xiàn)一-次。一般來講,出現(xiàn)在報(bào)表標(biāo)頭中的項(xiàng)包括報(bào)表標(biāo)題、欄標(biāo)題和當(dāng)前日期。2025年2月16日第42頁⑤列注腳:在“報(bào)表設(shè)計(jì)器”窗口中的一個(gè)帶區(qū),所包含的信息在每份報(bào)表中只出現(xiàn)一次。一般來講,包含出現(xiàn)在頁面底部的一些信息(如頁碼、節(jié)等等)。⑥組標(biāo)頭報(bào)表上的一個(gè)帶區(qū),可在其上定義對(duì)象,每當(dāng)分組表達(dá)式的值改變時(shí),打印此對(duì)象。組標(biāo)頭通常包含一些說明后續(xù)數(shù)據(jù)的信息,即數(shù)據(jù)前面的文本。⑦組注腳:報(bào)表上的一個(gè)帶區(qū),可在其上定義對(duì)象,每當(dāng)分組表達(dá)式的值改變時(shí),可打印此對(duì)象。組注腳通常包含組數(shù)據(jù)的計(jì)算結(jié)果值。⑧標(biāo)題:報(bào)表中的標(biāo)題區(qū)域,一般在報(bào)表開頭打印一次。標(biāo)題通常包含標(biāo)題、日期或頁碼、公司徽標(biāo)、標(biāo)題周圍的框。⑨總結(jié):報(bào)表中的一塊區(qū)域,一般在報(bào)表的最后出現(xiàn)一次。2025年2月16日第43頁(4)可用如下方法將標(biāo)尺刻度的英寸改為像素。①從“格式”菜單中選擇“設(shè)置網(wǎng)格刻度”。顯示“設(shè)置網(wǎng)格刻度”對(duì)話框。②在“設(shè)置網(wǎng)格刻度”對(duì)話框中選定“像素”并選擇“確定”選項(xiàng)。標(biāo)尺的刻度設(shè)置為像素,并且狀態(tài)欄中的位置指示器(如果在“顯示”菜單上選中了“顯示位置”)也以像素為單位顯示??梢韵壤谩皥?bào)表設(shè)計(jì)器”方式創(chuàng)建一個(gè)空白報(bào)表,以后再對(duì)這個(gè)報(bào)表進(jìn)行修改以滿足實(shí)際需要。2025年2月16日第44頁11.3修改報(bào)表布局設(shè)計(jì)報(bào)表利用前面介紹的兩種方法創(chuàng)建的報(bào)表文件,可能是空白報(bào)表,或者是布局很簡單的報(bào)表。要想得到滿意的報(bào)表,還需要在報(bào)表設(shè)計(jì)器中進(jìn)行修改,設(shè)置報(bào)表的數(shù)據(jù)源,更改布局,添加控件或設(shè)計(jì)數(shù)據(jù)分組。11.3.1規(guī)劃數(shù)據(jù)的位置使用“報(bào)表設(shè)計(jì)器”內(nèi)的帶區(qū),可以控制數(shù)據(jù)在頁面上的打印位置。報(bào)表布局可以有幾個(gè)帶區(qū)。規(guī)劃好報(bào)表中可能包含的一些帶區(qū)以及每個(gè)帶區(qū)的內(nèi)容。注意每個(gè)帶區(qū)下的欄標(biāo)識(shí)了該帶區(qū)。2025年2月16日第45頁如圖11-15所示,已經(jīng)給出了“報(bào)表設(shè)計(jì)器”窗口中可能出現(xiàn)的各種帶區(qū),以及每種帶區(qū)放置的典型內(nèi)容。報(bào)表中要用的數(shù)據(jù)以及各數(shù)據(jù)在報(bào)表的什么位置顯示和打印,需要做精心地安排。將數(shù)據(jù)對(duì)象放在報(bào)表的不同帶區(qū),會(huì)有不同的顯示結(jié)果。例如,將某數(shù)據(jù)對(duì)象放置在“標(biāo)題”帶區(qū)中,則此數(shù)據(jù)在本報(bào)表的打印結(jié)果中只會(huì)出現(xiàn)一次;若放置在報(bào)表的“細(xì)節(jié)”帶區(qū)中,則打印的每條記錄中都會(huì)出現(xiàn)此數(shù)據(jù)。2025年2月16日第46頁圖11-15“報(bào)表設(shè)計(jì)器”窗口2025年2月16日第47頁11.3.2調(diào)整報(bào)表帶區(qū)的大小和布局在“報(bào)表設(shè)計(jì)器”中,可以修改每個(gè)帶區(qū)的大小和特征。方法是用鼠標(biāo)左鍵按住相應(yīng)的隔符欄,將帶區(qū)欄拖動(dòng)到適當(dāng)高度。使用左側(cè)標(biāo)尺作為指導(dǎo)。標(biāo)尺量度僅指帶區(qū)高度,不表示頁邊距。注意:不能使帶區(qū)高度小于布局中控件的高度??梢园芽丶七M(jìn)帶區(qū)內(nèi),然后減少帶區(qū)高度。2025年2月16日第48頁1.位置調(diào)整一種方法是對(duì)需調(diào)整位置的控件采用選中后拖放的方法。為了準(zhǔn)確地定位,調(diào)整前先將“顯示”菜單下的“網(wǎng)絡(luò)線”和“顯示位置”打開,這樣,拖動(dòng)操作就有了直觀的參考坐標(biāo),并在下邊的狀態(tài)欄顯示準(zhǔn)確位置。另一種更快速有效的方法是使用“布局工具欄”所提供的各種布局命令。單擊“報(bào)表設(shè)計(jì)器”工具欄中的“布局”工具欄按鈕,彈出如圖11-16所示的“布局”工具欄。2025年2月16日第49頁圖11-16布局工具欄2025年2月16日第50頁2.大小調(diào)整使用鼠標(biāo)單擊所選控件(對(duì)象),可以通過拖動(dòng)其縮放點(diǎn)來調(diào)整大?。灰部梢噪p擊帶區(qū)標(biāo)識(shí)欄,在彈出對(duì)話框中直接調(diào)整帶區(qū)的高度,“頁標(biāo)頭”對(duì)話框如圖11-17所示。在“頁標(biāo)頭”對(duì)話框中,選擇“帶區(qū)高度保持不變”復(fù)選框,可防止帶區(qū)的移動(dòng)??稍O(shè)置“入口處”和“出口處”的運(yùn)行表達(dá)式,它們分別在打印該帶區(qū)的內(nèi)容之前和之后計(jì)算。2025年2月16日第51頁圖11-17“頁標(biāo)頭”對(duì)話框2025年2月16日第52頁11.3.3設(shè)置報(bào)表數(shù)據(jù)源設(shè)計(jì)報(bào)表時(shí),必須首先確定報(bào)表的數(shù)據(jù)源,可以在數(shù)據(jù)環(huán)境中簡單地定義報(bào)表的數(shù)據(jù)源,用它們來填充報(bào)表中的控件。數(shù)據(jù)環(huán)境可以在打開后運(yùn)行報(bào)表時(shí)打開表或視圖,基于相關(guān)表或視圖收集報(bào)表所需數(shù)據(jù)集合,并在關(guān)閉或釋放報(bào)表時(shí)關(guān)閉表??梢蕴砑颖砘蛞晥D并使用一個(gè)表或視圖的索引來排序數(shù)據(jù)。2025年2月16日第53頁利用“報(bào)表設(shè)計(jì)器”設(shè)計(jì)的空白報(bào)表設(shè)置報(bào)表數(shù)據(jù)源的步驟如下。(1)打開報(bào)表文件??梢允褂萌缦旅畲蜷_報(bào)表文件:MODIFYREPORT<報(bào)表文件名>。(2)單擊“報(bào)表設(shè)計(jì)器”工具欄中的“數(shù)據(jù)環(huán)境”按鈕,出現(xiàn)“數(shù)據(jù)環(huán)境設(shè)計(jì)器”窗口。(3)選擇執(zhí)行系統(tǒng)菜單中的“數(shù)據(jù)環(huán)境/添加”命令,彈出“添加表或視圖”對(duì)話框,從中選擇作為數(shù)據(jù)源的表或視圖,單擊“關(guān)閉”按鈕,如圖11-18所示。2025年2月16日第54頁圖11-18“數(shù)據(jù)環(huán)境設(shè)計(jì)器”對(duì)話框2025年2月16日第55頁11.3.4增添報(bào)表控件1.添加域控件向帶區(qū)添加域控件的方法有兩種。一種是從數(shù)據(jù)環(huán)境中添加,另一種是從“報(bào)表控件”工具欄添加。(1)從數(shù)據(jù)環(huán)境中添加字段的方法打開報(bào)表的數(shù)據(jù)環(huán)境,選擇表或視圖。在“數(shù)據(jù)環(huán)境設(shè)計(jì)器”中用左鍵按住選定字段(如出生年月),拖到報(bào)表設(shè)計(jì)器的相應(yīng)帶區(qū)(細(xì)節(jié)帶區(qū))放開。這樣該字段就被拖放到布局上了,如圖11-19所示。2.添加標(biāo)簽控件3.添加圖片/ActiveX綁定控件2025年2月16日第56頁按住左鍵拖放圖11-19報(bào)表列布局2025年2月16日第57頁4.插入日期插入日期的操作與添加域控件的操作類似,區(qū)別僅在于在彈出“表達(dá)式生成器”對(duì)話框后,通過“函數(shù)”框的“日期”列表框選擇所需的日期函數(shù)。如輸入DTOC(DATE())),其中DATE()是取當(dāng)前日期的函數(shù),DTOC()是將日期型數(shù)據(jù)轉(zhuǎn)化成字符型數(shù)據(jù)的函數(shù)。單擊“標(biāo)簽”按鈕,在“日期”后單擊輸入“制表”項(xiàng)。2025年2月16日第58頁這時(shí),通過預(yù)覽會(huì)發(fā)現(xiàn)在頁注腳處出現(xiàn)“04/19/08制表”。這不太符合日常的習(xí)慣,為此改動(dòng)一下,利用3個(gè)日期函數(shù),分別返回當(dāng)前的年、月、日。選定上面的日期函數(shù)域控件,選擇快捷菜單中的“復(fù)制”命令,復(fù)制兩個(gè)日期函數(shù)控件,分別將這兩個(gè)日期域控件改為“YEAR(DATE())”、“MONTH(DATE())”、“DAY(DATE())”,然后在每個(gè)控件之后分別加入一個(gè)標(biāo)簽控件,分別輸入“年”、“月”、“日”。注意:也可以只用一個(gè)“域控件”,并在其中輸入ALLT(STR(DATE()))+“年”+ALLT(STR(DATE()))+“月”+ALLT(STR(DATE()))+“日”+“制表”。表達(dá)式中的“”也可以用[]代替。2025年2月16日第59頁5.插入頁碼插入頁碼的操作與添加域控件的操作類似,區(qū)別僅在于在彈出“表達(dá)式生成器”對(duì)話框后,通過“變量”列表框選擇系統(tǒng)變量pageno。6.線條、矩形和圓角矩形通過“報(bào)表控件”工具欄上提供的“線條”、“矩形”和“圓角矩形”這3個(gè)按鈕可以為報(bào)表添加相應(yīng)的圖形。單擊所要選擇的圖形按鈕,直接在報(bào)表中的帶區(qū)進(jìn)行光標(biāo)拖曳,就可生成相應(yīng)的圖形。在添加的圖形控件上單擊鼠標(biāo)左鍵,通過圖形控件上出現(xiàn)的控點(diǎn)對(duì)控件大小進(jìn)行設(shè)置。在添加的圖形控件上雙擊鼠標(biāo)左鍵,可以打開相應(yīng)的屬性對(duì)話框?qū)μ砑拥膱D形進(jìn)行屬性設(shè)置。如圖11-23所示是“圓角矩形”對(duì)話框。2025年2月16日第60頁圖11-23“圓角矩形”對(duì)話框2025年2月16日第61頁11.4預(yù)覽和打印報(bào)表
可以通過兩種途徑預(yù)覽和打印報(bào)表。
1.通過系統(tǒng)菜單操作選擇“文件”菜單中的“打開”命令,在彈出的“打開”對(duì)話框中輸入報(bào)表的文件名,將報(bào)表文件打開。若要預(yù)覽報(bào)表,則從工具欄中單擊“打印預(yù)覽”按鈕(或者選擇“文件”菜單中的“打印預(yù)覽”命令);若要打印報(bào)表,則從工具欄中單擊“打印”按鈕(或者選擇文件菜單中的“打印”命令)。2.命令方式打印報(bào)表。 命令格式:REPORTFORM<報(bào)表文件名>[PREVIEW][TOPRINTER][TOFILE<文件名>]功能:打印或預(yù)覽報(bào)表。2025年2月16日第62頁上述格式中并未包括所有子句。以下對(duì)主要子句作簡要說明:TOPRINTER——輸出到打印機(jī)。PREVIEW——指定報(bào)表以預(yù)覽方式輸出,不進(jìn)行打??;并可指定進(jìn)行預(yù)覽的窗口。TOFILE——輸出到文件。例如:將XSDB.FRX報(bào)表以預(yù)覽模式顯示。REPORTFORMXSDB.FRXPREVIEW &&預(yù)覽REPORTFORMXSDB.FRXTOPRINTER &&打印2025年2月16日第63頁11.4.1預(yù)覽結(jié)果通過預(yù)覽報(bào)表,不用打印就能看到它的頁面外觀。例如,可以檢查數(shù)據(jù)列的對(duì)齊和間隔,或者查看報(bào)表是否返回所需的數(shù)據(jù)。有兩個(gè)選擇:顯示整個(gè)頁面或者縮小到一部分頁面。“預(yù)覽”窗口有它自己的工具欄,使用其中的按鈕可以一頁一頁地進(jìn)行預(yù)覽。操作步驟如下:(1)從快捷菜單或“顯示”菜單中,選擇“預(yù)覽”。報(bào)表預(yù)覽窗口如圖11-24所示。2025年2月16日第64頁縮放控制前一頁第一頁選擇頁碼下一頁最后一頁在頁面上單擊切換兩種不同的縮放狀態(tài)返回設(shè)計(jì)模式圖11-24“報(bào)表預(yù)覽”對(duì)話框2025年2月16日第65頁(2)在打印預(yù)覽工具欄中,選擇“上一頁”或“前一頁”來切換頁面。(3)若要更改報(bào)表圖像的大小,選擇“縮放”列表。(4)若要打印報(bào)表,選擇“打印報(bào)表”按鈕。(5)若想要返回到設(shè)計(jì)狀態(tài),選擇“關(guān)閉預(yù)覽”按鈕。11.4.2打印報(bào)表使用“報(bào)表設(shè)計(jì)器”創(chuàng)建的報(bào)表布局文件只是一個(gè)外殼,它按數(shù)據(jù)源中記錄出現(xiàn)的順序處理記錄。在打印一個(gè)報(bào)表文件之前,應(yīng)該確認(rèn)數(shù)據(jù)源中已對(duì)數(shù)據(jù)進(jìn)行了正確的排序。2025年2月16日第66頁如果表是數(shù)據(jù)庫的一部分,則可用視圖排序數(shù)據(jù),即創(chuàng)建視圖并且把它添加到報(bào)表的數(shù)據(jù)環(huán)境中。如果數(shù)據(jù)源是一個(gè)自由表,可創(chuàng)建并運(yùn)行查詢,并將查詢結(jié)果輸出到報(bào)表中。下面介紹如何從“報(bào)表設(shè)計(jì)器”中打印報(bào)表。(1)從快捷菜單或從“文件”菜單中,選擇“打印”命令。打開Windows的打印對(duì)話框,如圖11-25所示。(2)在其中設(shè)置合適的打印機(jī)、打印范圍、打印份數(shù)等項(xiàng)目。(3)選擇“確定”按鈕。VisualFoxPro就會(huì)把報(bào)表發(fā)送到打印機(jī)上。2025年2月16日第67頁圖11-25“打印”對(duì)話框2025年2月16日第68頁本章小結(jié)本章從報(bào)表向?qū)Ш蛨?bào)表設(shè)計(jì)器開始制作報(bào)表,如何進(jìn)一步在“報(bào)表設(shè)計(jì)器”中設(shè)計(jì)報(bào)表。報(bào)表設(shè)計(jì)器提供了豐富多樣的制作報(bào)表功能,使得用戶不用編程就能輕輕松松地設(shè)計(jì)出漂亮的報(bào)表。我們介紹了報(bào)表設(shè)計(jì)器的帶區(qū),報(bào)表設(shè)計(jì)器工具欄、報(bào)表控件工具欄、布局工具欄及報(bào)表菜單等相關(guān)的工具欄和菜單。報(bào)表的設(shè)計(jì)包含兩方面的內(nèi)容:報(bào)表數(shù)據(jù)源的選定和報(bào)表布局的設(shè)計(jì)。重點(diǎn)討論了報(bào)表布局的設(shè)計(jì)和定義。創(chuàng)建一個(gè)報(bào)表,一般有如下步驟:根據(jù)需要計(jì)劃布局,添加數(shù)據(jù)環(huán)境,必要時(shí)進(jìn)行數(shù)據(jù)分組,加入域控件、標(biāo)簽控件、OLE控件等內(nèi)容并設(shè)置其格式,加入線條、矩形、圓角矩形等控件及顏色用以美化報(bào)表,對(duì)報(bào)表進(jìn)行預(yù)覽,根據(jù)預(yù)覽效果再對(duì)報(bào)表加以修改完善,打印報(bào)表。當(dāng)然,如果利用報(bào)表向?qū)Чδ埽瑒t可以更快地生成報(bào)表布局,雖然比較簡單、粗糙,但在此基礎(chǔ)上應(yīng)用報(bào)表設(shè)計(jì)器進(jìn)行修改完善就方便多了。
2025年2月16日第69頁第12章應(yīng)用程序的生成和發(fā)布12.1建立幫助文件12.2編譯應(yīng)用程序12.3安裝向?qū)?2.4學(xué)生成績管理系統(tǒng)開發(fā)實(shí)例本章小結(jié)習(xí)題122025年2月16日第70頁本章要點(diǎn)建立幫助文件,以“學(xué)生成績管理系統(tǒng)”的開發(fā)為例,闡述了綜合運(yùn)用前面各章所講述的知識(shí),設(shè)計(jì)、開發(fā)、發(fā)布一個(gè)VisualFoxPro應(yīng)用系統(tǒng)的過程。2025年2月16日第71頁12.1建立幫助文件
如果用戶最終不能理解和使用前面創(chuàng)建的應(yīng)用程序,那么在編程上花費(fèi)的工夫就白費(fèi)了。幫助文件對(duì)使用應(yīng)用程序的用戶來說是很有價(jià)值的信息來源,所以需要為應(yīng)用程序設(shè)計(jì)恰當(dāng)?shù)穆?lián)機(jī)幫助。2025年2月16日第72頁12.1.1建立HTML幫助HTML的幫助是目前VisualFoxPro普遍采用的幫助形式,這種幫助提供如下特性:支持HTML。支持ActiveX、Java和書寫腳本。提供幫助主題跳轉(zhuǎn)到Internet站點(diǎn)的功能。提供查看幫助主題的HTML代碼的功能。2025年2月16日第73頁HTML幫助由MicrosoftHTMLHelpWorkshop創(chuàng)建,此軟件包含在\MicrosoftVisualStudio.NET\VisualStudioSDKs\HTMLHelp1.3SDK\Workshop目錄下,文件名為HHW.EXE。此軟件提供了完整的HTML幫助創(chuàng)建系統(tǒng),并且能夠從已有的WinHelp項(xiàng)目文件中創(chuàng)建HTML幫助。在創(chuàng)建HTML的幫助時(shí),可能會(huì)需要如表所示文件類型的文件,如表12-1所示。2025年2月16日第74頁表12-1HTML樣式幫助涉及到的文件類型文件類型說明.chm已編譯的幫助文件.hhp項(xiàng)目文件,該文件將所有構(gòu)成幫助項(xiàng)目的元素和包含有編譯后幫助文件的顯示方式的信息組合一起.hhk索引文件,該文件中包含索引關(guān)鍵字.hhc目錄文件表.ali用于支持上下文相關(guān)幫助的別名文件,將ProductID映射為主題.hh用于支持上下文幫助的頭文件,包括ProductID.chi當(dāng)用戶希望訪問仍然保留在CD-ROM上的.CHM文件時(shí),就需要用于該索引文件。這種情況和MSDNLibrary的情況相同。為了節(jié)省硬盤空間,.chi文件允許將一定的定位信息安裝在硬盤上,而將主要的內(nèi)容留在CD-ROM上。.css級(jí)聯(lián)樣式表.htm源內(nèi)容文件.gif源圖像文件2025年2月16日第75頁12.1.2建立圖形方式的幫助WinHelp幫助支持在幫助中顯示圖形,因此可以為幫助文件添加圖形。在幫助中添加常用的圖形很方便,只需要在.RTF文件插入需要的圖形,然后在HelpWorkshop中再重新編譯一些項(xiàng)目文件就可以了。如果需要在幫助文件中插入帶有熱點(diǎn)的圖形,以便在單擊圖形中的相應(yīng)位置時(shí),可以打開彈出式窗口或者跳轉(zhuǎn)到其他窗口,這時(shí)候可以使用HotspotEditor(熱點(diǎn)編輯器)來完成該功能。2025年2月16日第76頁12.1.3設(shè)計(jì).DBF幫助由于.DBF樣式的幫助文件實(shí)質(zhì)上是一個(gè)VFP表格,因此可以通過復(fù)制并更改示例表的方法創(chuàng)建自己的幫助文件。在應(yīng)用程序中調(diào)用該幫助文件時(shí),只需要使用SETHELPTO命令就可以了。2025年2月16日第77頁12.2編譯應(yīng)用程序項(xiàng)目管理器是VFP提供的一種有效的管理工具。在應(yīng)用程序的開發(fā)過程中,無論程序、菜單、表單、報(bào)表以及數(shù)據(jù)庫與數(shù)據(jù)庫表,都可在項(xiàng)目管理器中新建、添加、修改、運(yùn)行和移去。項(xiàng)目管理器提供了一個(gè)管理應(yīng)用系統(tǒng)的集成環(huán)境,不但是一個(gè)維護(hù)工具,也給軟件開發(fā)提供了方便。2025年2月16日第78頁12.2.1建立項(xiàng)目MODIFYPROFECT命令用于打開項(xiàng)目管理器,若在命令窗口鍵入命令MODIFYPROFECT學(xué)生成績管理,就會(huì)出現(xiàn)一個(gè)“學(xué)生成績管理”項(xiàng)目管理器窗口,如圖12-1所示。命令中的“學(xué)生成績管理”是項(xiàng)目文件名,其默認(rèn)擴(kuò)展名為.PJX。項(xiàng)目文件還有一個(gè)備注文件,其主名與項(xiàng)目文件相同,擴(kuò)展名為.PJT。12.2.2建立主控文件若項(xiàng)目中包含程序、菜單或表單,則其中必有一個(gè)是主文件。項(xiàng)目管理器中的主文件具有如下特點(diǎn):(1)主文件以粗體顯示,如圖12-2所示的學(xué)生成績.PRG程序便是主文件。2025年2月16日第79頁
圖12-1“項(xiàng)目管理器-學(xué)生成績管理”窗口圖12-2“項(xiàng)目管理器”對(duì)話框2025年2月16日第80頁(2)主文件一旦確定,項(xiàng)目連編時(shí)會(huì)自動(dòng)將各級(jí)被調(diào)用文件添入項(xiàng)目管理器窗口,但數(shù)據(jù)庫、表、視圖文件等數(shù)據(jù)文件不會(huì)自動(dòng)添入。圖12-2中顯示了以學(xué)生成績.PRG為主文件進(jìn)行項(xiàng)目連編的全部文件,但其中的“學(xué)生單表”則是用添加按鈕另行添入的。(3)VFP默認(rèn)添加到項(xiàng)目管理器中的第一個(gè)程序、菜單或表單為主文件,通常將應(yīng)用程序中最上層的文件設(shè)置為主文件。更改主文件的方法很簡單:在項(xiàng)目管理器中選定一個(gè)程序(或菜單,或表單)作為主文件,然后選定項(xiàng)目菜單的“設(shè)置主文件”命令,該文件便變成以粗體顯示。2025年2月16日第81頁12.2.3在項(xiàng)目中運(yùn)行應(yīng)用程序若要運(yùn)行應(yīng)用程序,可以在“項(xiàng)目管理器”中,選中主程序,然后選擇“運(yùn)行”項(xiàng)。也可以在命令窗口中,輸入DO<應(yīng)用程序文件名>。如果程序運(yùn)行正確,可以開始連編成一個(gè)應(yīng)用程序文件,該文件會(huì)包括項(xiàng)目中所有“包含”文件。2025年2月16日第82頁12.2.4項(xiàng)目的連編當(dāng)一個(gè)項(xiàng)目建立好各個(gè)模塊文件后,在項(xiàng)目運(yùn)行前還須對(duì)它們“連編”。在項(xiàng)目管理器中選定連編按鈕會(huì)顯示一個(gè)如圖12-3所示的連編選項(xiàng)對(duì)話框,該對(duì)話框允許創(chuàng)建一個(gè)自定義應(yīng)用程序或者刷新現(xiàn)有項(xiàng)目。2025年2月16日第83頁圖12-3連編選項(xiàng)對(duì)話框2025年2月16日第84頁12.3安裝向?qū)isualFoxPro編譯生成的.EXE文件不能直接在另外一臺(tái)計(jì)算機(jī)上運(yùn)行,除非該計(jì)算機(jī)已經(jīng)安裝了VisualFoxPro系統(tǒng)。因?yàn)?EXE文件的運(yùn)行需要運(yùn)行時(shí)刻庫,因此要為該軟件制作一套安裝盤。所謂發(fā)布應(yīng)用程序,就是指為所開發(fā)的應(yīng)用程序制作一套應(yīng)用程序安裝,才能方便地安裝到其他電腦上使用。2025年2月16日第85頁12.3.1發(fā)布樹1.發(fā)布應(yīng)用程序準(zhǔn)備(1)生成一個(gè).EXE可執(zhí)行程序應(yīng)用程序開發(fā)完成后,首先在“項(xiàng)目管理器”中生成一個(gè).EXE可執(zhí)行程序。(2)創(chuàng)建發(fā)布樹用來存放用戶運(yùn)行應(yīng)用程序所需的全部文件,最好在VisualFoxPro目錄外另建一個(gè)專用目錄,并且將必須的文件放進(jìn)去,這些文件包括:①.EXE程序;②連編時(shí)未自動(dòng)加入“項(xiàng)目管理器”的文件;③設(shè)置為“排除”類型的文件;④支持庫vfp6r.DLL、特定地區(qū)資源文件vfp6rchs.DLL(中文版)或vfp6rrennu.DLL(英文版)。2025年2月16日第86頁2.創(chuàng)建發(fā)布磁盤VisualFoxPro提供的“安裝向?qū)А笨捎脕戆l(fā)布磁盤并預(yù)置磁盤的安裝路徑。安裝向?qū)б笥脩糁付òl(fā)布樹,指定在硬盤上建立磁盤映像的目錄,以及指定應(yīng)用程序安裝時(shí)使用的默認(rèn)目標(biāo)目錄。(1)在開發(fā)的軟件的目錄下建立一個(gè)子目錄。例如“學(xué)生成績管理”。(2)將該軟件所要用到的數(shù)據(jù)庫(.DBC)、數(shù)據(jù)庫備注(.DCT)、表(.DBF)、表的索引(.CDX、.IDX)等等,以及編譯后的.EXE文件全部復(fù)制到上面所建的目錄中,然后將復(fù)制的數(shù)據(jù)表中試運(yùn)行時(shí)用的記錄刪除。(3)動(dòng)VisualFoxPro系統(tǒng),如果已經(jīng)啟動(dòng),最好關(guān)閉所有打開的文件。然后選擇系統(tǒng)菜單上的“工具”、“向?qū)А?、“安裝”選項(xiàng)。2025年2月16日第87頁(4)單擊“發(fā)布樹目錄”后面的按鈕,選擇在步驟1中間的那個(gè)目錄,單擊“下一步”按鈕,如圖12-4所示。(5)選擇“VisualFoxPro運(yùn)行庫”,單擊“下一步”按鈕,如圖12-5所示。(6)選擇安裝文件存入的目錄,一般可在軟件目錄中(本例安裝在D:\學(xué)生成績管理下的),選擇安裝方式:“1.44軟盤”、“網(wǎng)絡(luò)安裝”或“Web安裝”,可以選其中的一個(gè)、二個(gè)或都選,單擊“下一步”按鈕,如圖12-6所示。(7)在安裝對(duì)話框和版權(quán)信息中輸入適當(dāng)內(nèi)容。安裝對(duì)話框主要使用在安裝軟件時(shí)顯示的信息,版權(quán)信息中一定要輸入內(nèi)容,接著再單擊“下一步”按鈕,如圖12-7所示。2025年2月16日第88頁
圖12-6“步驟3-磁盤映像”圖12-7“步驟4-安裝選項(xiàng)”2025年2月16日第89頁(8)輸入默認(rèn)的安裝目錄在“開始”菜單中的程序管理器組的名稱,以及確定用戶安裝時(shí)只能更改目錄,還是目錄與程序管理器組都可以更改,然后單擊“下一步”按鈕,如圖12-8所示。(9)在文件列表中找到編譯的學(xué)生成績.EXE文件,選擇它后面的“程序管理器”項(xiàng)的復(fù)選框。在說明中輸入開始菜單中顯示的該軟件的圖標(biāo)說明;在命令行中輸入學(xué)生成績文件名,前面需要加上“%s\”(這是為了軟件安裝在不同目錄中也能正常運(yùn)行),然后單擊“確定”按鈕,再單擊“下一步”按鈕,如圖12-9所示。2025年2月16日第90頁
圖12-8“步驟5-默認(rèn)目標(biāo)目錄”圖12-9“步驟6-改變文件設(shè)置”2025年2月16日第91頁(10)單擊“完成”按鈕,如圖12-10所示。一旦單擊“完成”后就不能再單擊“上一步”按鈕了,系統(tǒng)開始制作安裝盤,制作完成后有一個(gè)報(bào)告,按“完成”按鈕,安裝盤就制作完成,如圖12-11、圖12-12所示。2025年2月16日第92頁
圖12-10“步驟7-完成”圖12-11“安裝向?qū)нM(jìn)展”2025年2月16日第93頁圖12-12“安裝向?qū)Т疟P統(tǒng)計(jì)信息”2025年2月16日第94頁12.3.2運(yùn)行安裝向?qū)?發(fā)布軟盤DISK1中含有應(yīng)用程序的安裝程序SETUP.EXE,只要在Windows中運(yùn)行該程序就可以一步一步地完成應(yīng)用程序安裝。 應(yīng)用程序安裝好后,Windows的“開始”菜單中出現(xiàn)該應(yīng)用程序的程序組及程序項(xiàng),供啟動(dòng)應(yīng)用程序。為方便用戶使用,也可以在“資源管理器”中找出該應(yīng)用程序后,將它拖到桌面上創(chuàng)建一個(gè)應(yīng)用程序的快捷圖標(biāo)。2025年2月16日第95頁12.4系統(tǒng)開發(fā)實(shí)例全面了解和掌握應(yīng)用系統(tǒng)開發(fā)的一般步驟和具體過程?!皩W(xué)生成績管理系統(tǒng)”的主要功能模塊在前面的實(shí)驗(yàn)中大都涉及了,這里按數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)的一般過程將它們連接起來,以便從整體的觀點(diǎn)說明各功能模塊在數(shù)據(jù)庫應(yīng)用系統(tǒng)中的作用。2025年2月16日第96頁1.系統(tǒng)功能分析本系統(tǒng)主要用于學(xué)生成績管理,主要任務(wù)是用計(jì)算機(jī)對(duì)學(xué)生成績進(jìn)行管理,如查詢、修改、增加、刪除,應(yīng)針對(duì)這些要求,設(shè)計(jì)該學(xué)生成績管理系統(tǒng)。該系統(tǒng)主要包括系統(tǒng)管理、數(shù)據(jù)管理、報(bào)表打印和系統(tǒng)幫助4部分。系統(tǒng)管理部分:主要是對(duì)該系統(tǒng)進(jìn)行簡單的介紹及完成退出該系統(tǒng)的功能。數(shù)據(jù)管理部分:主要是完成對(duì)學(xué)生成績信息的操作,包括維護(hù)、瀏覽和查詢。報(bào)表打印部分:主要是完成對(duì)學(xué)生單表報(bào)表、計(jì)算機(jī)成績報(bào)表和英語成績報(bào)表的打印功能。系統(tǒng)幫助部分:主要是顯示該系統(tǒng)的版本號(hào)和版權(quán)的信息。2025年2月16日第97頁2.系統(tǒng)功能模塊設(shè)計(jì)根據(jù)系統(tǒng)功能分析,本系統(tǒng)的功能分為如下5大模塊:(1)主界面模塊該模塊包括系統(tǒng)登錄界面和系統(tǒng)主界面。(2)系統(tǒng)管理模塊該模塊包括系統(tǒng)簡介和退出系統(tǒng)兩部分。(3)數(shù)據(jù)管理模塊該模塊包括數(shù)據(jù)維護(hù)、數(shù)據(jù)瀏覽和數(shù)據(jù)查詢3部分。其中,數(shù)據(jù)維護(hù)包括對(duì)學(xué)生單表的維護(hù);數(shù)據(jù)瀏覽包括對(duì)英語成績信息和計(jì)算機(jī)成績信息的瀏覽;數(shù)據(jù)查詢包括按院系查詢和按學(xué)號(hào)查詢等。2025年2月16日第98頁(4)報(bào)表打印模塊該模塊包括對(duì)學(xué)生單表報(bào)表、計(jì)算機(jī)成績報(bào)表和英語成績報(bào)表的打印3部分。(5)系統(tǒng)幫助模塊該模塊包括關(guān)于系統(tǒng)的版本號(hào)和版權(quán)信息。采用模塊化設(shè)計(jì)思想,可以大大提高設(shè)計(jì)的效率,并且可以最大限度地減少不必要的錯(cuò)誤。其系統(tǒng)功能模塊圖如圖12-13所示。2025年2月16日第99頁系統(tǒng)登錄界面數(shù)據(jù)瀏覽系統(tǒng)簡介學(xué)生單表報(bào)表計(jì)算機(jī)成績報(bào)表數(shù)據(jù)查詢退出系統(tǒng)系統(tǒng)簡介英語瀏覽計(jì)算機(jī)瀏覽學(xué)生單表英語成績報(bào)表數(shù)據(jù)維護(hù)系統(tǒng)主界面系統(tǒng)管理數(shù)據(jù)管理報(bào)表打印系統(tǒng)幫助圖12-13功能模塊圖2025年2月16日第100頁3.系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)在數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)過程中,數(shù)據(jù)庫的設(shè)計(jì)是一個(gè)重要的環(huán)節(jié)。數(shù)據(jù)庫設(shè)計(jì)的好壞直接影響到應(yīng)用程序的設(shè)計(jì)效率和應(yīng)用效果。通過分析,該系統(tǒng)的數(shù)據(jù)庫(成績管理.DBC)包含如下3個(gè)表,每個(gè)表表示在數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)表。學(xué)生登錄表,學(xué)生計(jì)算機(jī)成績表,學(xué)生英語成績表。2025年2月16日第101頁4.系統(tǒng)表單設(shè)計(jì)“學(xué)生成績管理系統(tǒng)”的主要工作窗口是由具有不同功能的表單提供的,主要表單如下。(1)系統(tǒng)主界面的設(shè)計(jì)。系統(tǒng)主界面的主要任務(wù)是引導(dǎo)用戶進(jìn)入系統(tǒng)操作,它由主程序啟動(dòng),當(dāng)表單運(yùn)行5秒鐘、用戶按任意鍵或單擊鼠標(biāo)時(shí),打開系統(tǒng)登錄表單。系統(tǒng)主界面如圖12-14所示。在form1的click代碼中輸入下列命令:thisform.releaseclosealldoform系統(tǒng)登錄.SCX(2)系統(tǒng)登錄表單的設(shè)計(jì)。2025年2月16日第102頁(3)系統(tǒng)簡介表單的設(shè)計(jì)。(4)退出系統(tǒng)的設(shè)計(jì)。(5)關(guān)于系統(tǒng)表單的設(shè)計(jì)。(6)數(shù)據(jù)維護(hù)表單的設(shè)計(jì)。(7)數(shù)據(jù)瀏覽表單的設(shè)計(jì)。(8)數(shù)據(jù)查詢表單的設(shè)計(jì)。(9)數(shù)據(jù)報(bào)表設(shè)計(jì)5.系統(tǒng)主菜單的設(shè)計(jì)系統(tǒng)主菜單是用來控制數(shù)據(jù)庫應(yīng)用系統(tǒng)的各功能模塊的操作。“學(xué)生成績管理系統(tǒng)”的主菜單是通過系統(tǒng)登錄表單調(diào)用的,其調(diào)用方法如下:do學(xué)生成績.FRX2025年2月16日第103頁6.系統(tǒng)主程序設(shè)計(jì)主程序是一個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)的總控部分,是系統(tǒng)首先要執(zhí)行的程序?!皩W(xué)生成績管理系統(tǒng)”的主程序(學(xué)生成績.PRG)如下:settalkoffsetdefatod:\學(xué)生成績管理 &&設(shè)置文件默認(rèn)路徑closealldoformforms\系統(tǒng)界面modiwindscreentitl'學(xué)生成績管理系統(tǒng)'cleado學(xué)生成績.mpr &&菜單文件名定為學(xué)生成績管理菜單readevents &&建立事件循環(huán)quit &&退出VFP2025年2月16日第104頁9.創(chuàng)建發(fā)布磁盤8.系統(tǒng)運(yùn)行7.系統(tǒng)部件組裝2025年2月16日第105頁本章小結(jié)本章先后討論了VisualFoxPro系統(tǒng)開發(fā)的一般步驟和一個(gè)簡單的實(shí)例——“學(xué)生成績管理系統(tǒng)”的具體開發(fā)過程。接著介紹了應(yīng)用程序的管理和發(fā)布。為了幫助讀者更好地理解這些內(nèi)容,本節(jié)將對(duì)前幾節(jié)講述的內(nèi)容歸納如下:(1)開發(fā)應(yīng)用系統(tǒng)的一般步驟(2)數(shù)據(jù)庫設(shè)計(jì)(3)應(yīng)用程序設(shè)計(jì)(4)軟件的測試(5)應(yīng)用程序的發(fā)布2025年2月16日第106頁
普通高等教育“十二五”規(guī)劃教材VisualFoxPro數(shù)據(jù)庫程序設(shè)計(jì)教程(第三版)
2025年2月16日第107頁內(nèi)容簡介本書以VisualFoxPro6.0中文版為平臺(tái),結(jié)合普通高校非計(jì)算機(jī)專業(yè)數(shù)據(jù)庫程序設(shè)計(jì)課程的具體要求,深入淺出地介紹VisualFoxPro數(shù)據(jù)庫程序設(shè)計(jì)的有關(guān)知識(shí)、方法和具體的實(shí)例。本教材共12章。分別介紹數(shù)據(jù)庫系統(tǒng)及VisualFoxPro概述、項(xiàng)目管理器及其操作、數(shù)據(jù)表的基本操作、數(shù)據(jù)庫的設(shè)計(jì)與操作、程序設(shè)計(jì)基礎(chǔ)、面向?qū)ο蟪绦蛟O(shè)計(jì)、表單的建立與使用、結(jié)構(gòu)化查詢語言——SQL、查詢與視圖、報(bào)表設(shè)計(jì)、菜單設(shè)計(jì)、應(yīng)用程序的生成和發(fā)布等。本書突出案例教學(xué)并配套有《VisualFoxPro數(shù)據(jù)庫程序設(shè)計(jì)習(xí)題解答與實(shí)驗(yàn)指導(dǎo)》實(shí)驗(yàn)教材。在理論講解過程中,配有大量實(shí)例,通過一個(gè)個(gè)實(shí)例的分析和操作,使讀者在理解所學(xué)知識(shí)的基礎(chǔ)上,掌握數(shù)據(jù)庫應(yīng)用系統(tǒng)的開發(fā)方法。各章后均附有豐富的習(xí)題與上機(jī)操作題供讀者練習(xí),并在配套的實(shí)驗(yàn)教材中對(duì)各章習(xí)題提供了參考答案與上機(jī)指導(dǎo)以及全國計(jì)算機(jī)等考試筆試題和上機(jī)操作題。本書可作為普通高等學(xué)校各專業(yè)(含高職、高專)計(jì)算機(jī)公共課,數(shù)據(jù)庫應(yīng)用課程的教材,也可作為計(jì)算機(jī)等級(jí)考試培訓(xùn)教材,也可供從事數(shù)據(jù)庫開發(fā)的人員學(xué)習(xí)、參考。2025年2月16日第108頁目錄第1章數(shù)據(jù)庫系統(tǒng)及VisualFoxPro6.0概述第2章項(xiàng)目管理器及其操作第3章數(shù)據(jù)表的基本操作第4章數(shù)據(jù)庫的設(shè)計(jì)與操作第5章面向?qū)ο蟮某绦蛟O(shè)計(jì)第6章表單的創(chuàng)建與使用2025年2月16日第109頁第7章程序設(shè)計(jì)基礎(chǔ)第8章結(jié)構(gòu)化查詢語言——SQL第9章查詢與視圖第10章菜單設(shè)計(jì)第11章報(bào)表設(shè)計(jì)第12章應(yīng)用程序的生成和發(fā)布2025年2月16日第110頁第1章數(shù)據(jù)庫系統(tǒng)及VisualFoxPro6.0概述1.1數(shù)據(jù)、信息與數(shù)據(jù)處理1.2計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展1.3數(shù)據(jù)庫系統(tǒng)基本概念1.4數(shù)據(jù)模型1.5關(guān)系數(shù)據(jù)庫概述1.6VisualFoxPro6.0及其界面1.7VisualFoxPro6.0語法基礎(chǔ)本章小結(jié)習(xí)題12025年2月16日第111頁本章要點(diǎn)介紹與數(shù)據(jù)庫有關(guān)的基本概念和知識(shí),包括數(shù)據(jù)、信息和數(shù)據(jù)處理、數(shù)據(jù)管理技術(shù)的發(fā)展、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)模型以及關(guān)系數(shù)據(jù)庫等。VisualFoxPro的語法基礎(chǔ),包括常量、字段變量、內(nèi)存變量、函數(shù)、表達(dá)式的概念及其使用規(guī)則。VisualFoxPro作為一門數(shù)據(jù)庫編程語言,和其他編程語言一樣,所編寫的程序都是由常量、變量、函數(shù)、表達(dá)式等基本語法組成的。而作為一門數(shù)據(jù)庫語言,VisualFoxPro突出了數(shù)據(jù)庫管理的特點(diǎn),其中一些數(shù)據(jù)元素不僅在程序中使用,也被包含在數(shù)據(jù)庫文件中。這些基本概念和知識(shí)是學(xué)習(xí)和使用VisualFoxPro的基礎(chǔ)。2025年2月16日第112頁近年來,計(jì)算機(jī)的數(shù)據(jù)庫技術(shù)和網(wǎng)絡(luò)技術(shù)相互結(jié)合和滲透,已成為計(jì)算機(jī)方面發(fā)展最迅速和應(yīng)用最廣泛的兩大領(lǐng)域。對(duì)于在日常生活、生產(chǎn)經(jīng)營、金融證券、事務(wù)管理等活動(dòng)中產(chǎn)生的大量數(shù)據(jù),數(shù)據(jù)庫管理系統(tǒng)以數(shù)據(jù)庫的方式進(jìn)行組織和存儲(chǔ),并編寫數(shù)據(jù)庫應(yīng)用程序以實(shí)現(xiàn)數(shù)據(jù)的共享和高效處理,從而滿足人們對(duì)數(shù)據(jù)管理的各種需要。目前流行的開發(fā)數(shù)據(jù)庫系統(tǒng)的編程語言有多種,如VisualFoxPro、SQL、Delphi、Oracle、Java等,它們各有其功能和特點(diǎn)。2025年2月16日第113頁本書介紹的VisualFoxPro(縮寫為VFP)數(shù)據(jù)庫語言由于具有簡單易學(xué)、使用方便、開發(fā)成本低等特點(diǎn),在我國有著廣泛的應(yīng)用基礎(chǔ),適合初學(xué)者用來掌握數(shù)據(jù)庫語言的基本結(jié)構(gòu)和特點(diǎn),并很容易通過它來開發(fā)一些實(shí)用的中小型數(shù)據(jù)庫系統(tǒng)。本章介紹數(shù)據(jù)與數(shù)據(jù)處理的基本概念和數(shù)據(jù)庫的概念、相關(guān)術(shù)語、基本運(yùn)算及VisualFoxPro的語法基礎(chǔ)等,為進(jìn)一步學(xué)習(xí)和應(yīng)用VisualFoxPro數(shù)據(jù)庫語言準(zhǔn)備好基礎(chǔ)知識(shí)。2025年2月16日第114頁1.1數(shù)據(jù)、信息與數(shù)據(jù)處理1.1.1數(shù)據(jù)與信息1.?dāng)?shù)據(jù)數(shù)據(jù)是客觀事物屬性的取值,是信息的具體描述和表現(xiàn)形式,是信息的載體。在計(jì)算機(jī)系統(tǒng)中,凡是能為計(jì)算機(jī)所接受和處理的各種字符、數(shù)字、圖形、圖像及聲音等都可稱為數(shù)據(jù)。因此,數(shù)據(jù)泛指一切可被計(jì)算機(jī)接受和處理的符號(hào)。數(shù)據(jù)可分為數(shù)值型數(shù)據(jù)(如工資、成績等)和非數(shù)值型數(shù)據(jù)(如姓名、日期、聲音、圖形、圖像等)。數(shù)據(jù)可以被收集、存儲(chǔ)、處理(加工、分類、計(jì)算等)、傳播和使用。2025年2月16日第115頁2.信息信息是事物狀態(tài)及運(yùn)動(dòng)方式的反映(表現(xiàn)形式),需經(jīng)過加工、處理后才能進(jìn)行交流和使用。人們往往用數(shù)據(jù)去記載、描述和傳播信息,因此數(shù)據(jù)是描述或表達(dá)信息的具體表現(xiàn)形式,是信息的載體。信息與數(shù)據(jù)既有聯(lián)系又有區(qū)別,它們之間的關(guān)系可描述為:信息是對(duì)客觀現(xiàn)實(shí)世界的反映,數(shù)據(jù)是信息的具體表現(xiàn)形式。注意,可以用不同的數(shù)據(jù)形式表示同樣的信息,信息不隨它的數(shù)據(jù)形式的不同而改變。例如,某個(gè)部門要召開會(huì)議,可以把“開會(huì)”這樣一個(gè)信息通過廣播(聲音形式的數(shù)據(jù))、文件(文字形式的數(shù)據(jù))等方式通知給有關(guān)單位,在這里,聲音或文字是不同的反映方式(表現(xiàn)形式),可以表示同一個(gè)信息。2025年2月16日第116頁1.1.2數(shù)據(jù)處理數(shù)據(jù)處理也稱為信息處理。所謂數(shù)據(jù)處理,是指利用計(jì)算機(jī)將各種類型的數(shù)據(jù)轉(zhuǎn)換成信息的過程。它包括對(duì)數(shù)據(jù)的采集、整理、存儲(chǔ)、分類、排序、加工、檢索、維護(hù)、統(tǒng)計(jì)和傳輸?shù)纫幌盗刑幚磉^程。數(shù)據(jù)處理的目的是從大量的、原始的數(shù)據(jù)中獲得人們所需要的資料并提取有用的數(shù)據(jù)成分,從而為人們的工作和決策提供必要的數(shù)據(jù)基礎(chǔ)和決策依據(jù)。2025年2月16日第117頁在敘述了數(shù)據(jù)、信息和數(shù)據(jù)處理的概念之后,這里簡單介紹一下它們之間的聯(lián)系。首先,信息和數(shù)據(jù)是有區(qū)別的。數(shù)據(jù)是一種符號(hào)象征它本身是沒有意義的,而信息是有意義的知識(shí)。但數(shù)據(jù)經(jīng)過加工處理就能成為有意義的信息,也就是說數(shù)據(jù)處理把數(shù)據(jù)和信息聯(lián)系在了一起。下式可以簡單明確地表明三者的關(guān)系:信息=數(shù)據(jù)+數(shù)據(jù)處理再舉例說明,如計(jì)算機(jī)中日期數(shù)據(jù)的符號(hào)表示“04/12/82”,不加以解釋就不知道它明確的意義,究竟是人的出生日期還是商品的銷售日期。通過以后的學(xué)習(xí)可以知道,在數(shù)據(jù)庫中可以給它一個(gè)標(biāo)識(shí),解釋這是一個(gè)人的出生日期,再用當(dāng)前日期減去這個(gè)出生日期來進(jìn)行數(shù)據(jù)處理,就可以獲得這個(gè)人年齡的信息。2025年2月16日第118頁1.2計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展數(shù)據(jù)處理的內(nèi)容首先是數(shù)據(jù)的管理。計(jì)算機(jī)發(fā)明以后,人們一直在努力尋求如何用計(jì)算機(jī)更有效地管理數(shù)據(jù)。隨著計(jì)算機(jī)硬件和軟件技術(shù)的發(fā)展,計(jì)算機(jī)數(shù)據(jù)管理技術(shù)也經(jīng)歷了從低級(jí)階段發(fā)展到高級(jí)階段的過程,技術(shù)上也越來越成熟。按照一般文獻(xiàn)劃分,計(jì)算機(jī)數(shù)據(jù)管理的發(fā)展有如下幾個(gè)階段。1.2.1人工管理階段20世紀(jì)50年代是第一代計(jì)算機(jī)應(yīng)用階段。當(dāng)時(shí),計(jì)算機(jī)沒有磁盤這樣的能長期保存數(shù)據(jù)的存儲(chǔ)設(shè)備,這個(gè)時(shí)期的數(shù)據(jù)管理是用人工方式把數(shù)據(jù)保存在卡片、紙帶這類的介質(zhì)上,所以稱為人工管理階段。這個(gè)階段數(shù)據(jù)管理的最大特征是數(shù)據(jù)由計(jì)算數(shù)據(jù)的程序攜帶,二者混合在一起,因此具有以下特點(diǎn)。2025年2月16日第119頁1.?dāng)?shù)據(jù)不能獨(dú)立由于數(shù)據(jù)和程序混合在一起,這樣就不能處理大量的數(shù)據(jù),更談不上數(shù)據(jù)的獨(dú)立與共享,一組數(shù)據(jù)只能被一個(gè)程序?qū)S?。此外,?dāng)程序中的數(shù)據(jù)類型、格式發(fā)生變化時(shí),相應(yīng)程序也必須進(jìn)行修改。2.?dāng)?shù)據(jù)不能長期保存這個(gè)階段計(jì)算機(jī)的主要任務(wù)是科學(xué)計(jì)算。計(jì)算機(jī)運(yùn)行時(shí),程序和數(shù)據(jù)在計(jì)算機(jī)中,程序運(yùn)行結(jié)束后,數(shù)據(jù)即從計(jì)算機(jī)中釋放出來。2025年2月16日第120頁3.?dāng)?shù)據(jù)沒有專門的管理軟件由于計(jì)算機(jī)系統(tǒng)沒有數(shù)據(jù)管理軟件管理數(shù)據(jù),也就沒有數(shù)據(jù)的統(tǒng)一存取規(guī)則。數(shù)據(jù)的存取、輸入輸出方式就由編寫程序的程序員自己確定,這就增加了程序編寫的負(fù)擔(dān)。1.2.2文件系統(tǒng)階段隨著計(jì)算機(jī)對(duì)數(shù)據(jù)處理要求的不斷增加,人們對(duì)數(shù)據(jù)處理的重要性越來越重視。20世紀(jì)50年代末至60年代,計(jì)算機(jī)操作系統(tǒng)中專門設(shè)置了文件系統(tǒng)來管理數(shù)據(jù),計(jì)算機(jī)的數(shù)據(jù)管理進(jìn)入了文件系統(tǒng)階段。這個(gè)階段的主要特征是數(shù)據(jù)文件和處理數(shù)據(jù)的程序文件分離,數(shù)據(jù)文件由文件系統(tǒng)管理,它確立數(shù)據(jù)文件和程序文件的接口,保證文件能被正確地調(diào)用。與人工階段相比,文件系統(tǒng)階段是有所進(jìn)步,但還是存在以下缺點(diǎn)。2025年2月16日第121頁1.?dāng)?shù)據(jù)獨(dú)立性差,不能共享數(shù)據(jù)雖然從程序文件中分離了出來,但文件系統(tǒng)管理的數(shù)據(jù)文件只能簡單地存放數(shù)據(jù),且一個(gè)數(shù)據(jù)文件一般只能被相應(yīng)的程序文件專用,相同的數(shù)據(jù)要被另外的程序使用,必須再產(chǎn)生數(shù)據(jù)文件,這樣就出現(xiàn)了數(shù)據(jù)的重復(fù)存儲(chǔ)問題,即數(shù)據(jù)冗余。2.?dāng)?shù)據(jù)文件不能集中管理由于這階段的數(shù)據(jù)文件沒有合理和規(guī)范的結(jié)構(gòu),數(shù)據(jù)文件之間不能建立聯(lián)系,使得數(shù)據(jù)文件不能集中管理,數(shù)據(jù)使用的安全性和完整性都得不到保證。2025年2月16日第122頁1.2.3數(shù)據(jù)庫系統(tǒng)階段20世紀(jì)60年代末,計(jì)算機(jī)的數(shù)據(jù)管理進(jìn)入數(shù)據(jù)庫系統(tǒng)階段。這時(shí),由于計(jì)算機(jī)的數(shù)據(jù)處理量迅速增長,其數(shù)據(jù)管理得到了人們的高度重視,隨后在美國產(chǎn)生了技術(shù)成熟、具有商業(yè)價(jià)值的數(shù)據(jù)庫管理系統(tǒng)。數(shù)據(jù)庫系統(tǒng)不僅有效地實(shí)現(xiàn)了程序和數(shù)據(jù)的分離,而且它把大量的數(shù)據(jù)組織在一種特定結(jié)構(gòu)的數(shù)據(jù)庫文件中,多個(gè)不同程序都可以調(diào)用數(shù)據(jù)庫中相同的數(shù)據(jù),從而實(shí)現(xiàn)了數(shù)據(jù)的統(tǒng)一管理及數(shù)據(jù)共享。與文件系統(tǒng)相比,數(shù)據(jù)庫系統(tǒng)具有以下特點(diǎn)。1.實(shí)現(xiàn)數(shù)據(jù)共享,減少數(shù)據(jù)冗余度由于數(shù)據(jù)庫文件不僅與程序文件相互獨(dú)立,而且具有合理規(guī)范的結(jié)構(gòu),使得不同的程序可以同時(shí)使用數(shù)據(jù)庫中相同的數(shù)據(jù),這樣就大大節(jié)省了存儲(chǔ)資源,減少了數(shù)據(jù)的冗余度。2025年2月16日第123頁2.實(shí)現(xiàn)數(shù)據(jù)獨(dú)立數(shù)據(jù)獨(dú)立包括物理數(shù)據(jù)獨(dú)立和邏輯數(shù)據(jù)獨(dú)立。物理數(shù)據(jù)是指數(shù)據(jù)在硬件上的存儲(chǔ)形式,其獨(dú)立性是指當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)發(fā)生變化時(shí),不影響數(shù)據(jù)的邏輯結(jié)構(gòu),也就不會(huì)影響程序的運(yùn)行。邏輯數(shù)據(jù)是指數(shù)據(jù)在用戶面前的表現(xiàn)形式,當(dāng)邏輯數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時(shí)也不影響應(yīng)用程序,這就是邏輯數(shù)據(jù)的獨(dú)立性。這兩種數(shù)據(jù)的獨(dú)立性有效地保證了數(shù)據(jù)庫運(yùn)行的穩(wěn)定性。3.采用合理的數(shù)據(jù)結(jié)構(gòu)加強(qiáng)了數(shù)據(jù)的聯(lián)系數(shù)據(jù)庫采用了合理的結(jié)構(gòu)來安排其中的數(shù)據(jù),不僅同一數(shù)據(jù)文件中的數(shù)據(jù)之間存在特定的聯(lián)系,各數(shù)據(jù)文件之間也可以建立關(guān)系,這是文件系統(tǒng)不能做到的。4.加強(qiáng)數(shù)據(jù)保護(hù)2025年2月16日第124頁
圖1-1客戶機(jī)/服務(wù)器數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)圖服務(wù)器網(wǎng)絡(luò)客戶機(jī)1客戶機(jī)2客戶機(jī)3數(shù)據(jù)庫數(shù)據(jù)庫數(shù)據(jù)庫2025年2月16日第125頁1.3數(shù)據(jù)庫系統(tǒng)基本概念在數(shù)據(jù)庫技術(shù)中,人們常常接觸到數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫應(yīng)用系統(tǒng)這些名詞,它們之間有著一定的聯(lián)系和區(qū)別。1.3.1數(shù)據(jù)庫數(shù)據(jù)庫(DataBase,DB)就是按一定的組織形式存儲(chǔ)在一起的相互關(guān)聯(lián)的數(shù)據(jù)的集合。實(shí)際上,數(shù)據(jù)庫就是一個(gè)存放大量業(yè)務(wù)數(shù)據(jù)的場所,其中的數(shù)據(jù)具有特定的組織結(jié)構(gòu)。所謂“組織結(jié)構(gòu)”,是指數(shù)據(jù)庫中的數(shù)據(jù)不是分散的、孤立的,而是按照某種數(shù)據(jù)模型組織起來的,不僅數(shù)據(jù)記錄內(nèi)的數(shù)據(jù)之間是彼此相關(guān)的,而且數(shù)據(jù)記錄之間在結(jié)構(gòu)上也是有機(jī)地聯(lián)系在一起的。數(shù)據(jù)庫具有數(shù)據(jù)的結(jié)構(gòu)化、獨(dú)立性、共享性、冗余量小、安全性、完整性和并發(fā)控制等基本特點(diǎn)。在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)庫已成為各類管理系統(tǒng)的核心基礎(chǔ),為用戶和應(yīng)用程序提供了共享的資源。2025年2月16日第126頁1.3.2數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,DBMS)是負(fù)責(zé)數(shù)據(jù)庫的定義、建立、操縱、管理和維護(hù)的一種計(jì)算機(jī)軟件,是數(shù)據(jù)庫系統(tǒng)的核心部分。數(shù)據(jù)庫管理系統(tǒng)是在特定操作系統(tǒng)的支持下進(jìn)行工作的,它提供了對(duì)數(shù)據(jù)庫資源進(jìn)行統(tǒng)一管理和控制的功能,使數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)存儲(chǔ)具有一定的規(guī)范性,提高了數(shù)據(jù)庫應(yīng)用的簡明性和方便性。DBMS是一種系統(tǒng)軟件,也就是數(shù)據(jù)庫語言本身,常用的有VFP、SQL、Oracle等數(shù)據(jù)庫語言。DBMS為用戶管理數(shù)據(jù)提供了一整套命令,利用這些命令可以實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的各種操作,如數(shù)據(jù)結(jié)構(gòu)的定義,數(shù)據(jù)的輸入、輸出、編輯、刪除、更新、統(tǒng)計(jì)和瀏覽等。具體歸納為以下四大功能。2025年2月16日第127頁1.?dāng)?shù)據(jù)定義功能數(shù)據(jù)庫管理系統(tǒng)定義和描述數(shù)據(jù)庫的結(jié)構(gòu)使用數(shù)據(jù)庫定義語言DDL(DataDescriptionLanguage),這就需要用相應(yīng)的解釋和編譯程序來實(shí)現(xiàn)該功能,如VFP數(shù)據(jù)庫管理系統(tǒng)中的CREATESTRUCTURE,該命令可創(chuàng)建一個(gè)數(shù)據(jù)庫并設(shè)計(jì)數(shù)據(jù)庫中數(shù)據(jù)的結(jié)構(gòu)。2.?dāng)?shù)據(jù)操作功能DBMS提供的數(shù)據(jù)操作語言DML(DataManipulationLanguage)用于實(shí)現(xiàn)數(shù)據(jù)的追加、插入、修改、輸出、檢索等功能。不同的數(shù)據(jù)庫語言提供的功能命令的格式不同,但這些功能對(duì)數(shù)據(jù)庫管理來說是最基本的,是構(gòu)成應(yīng)用程序必不可少的元素。2025年2月16日第128頁3.?dāng)?shù)據(jù)控制功能為保障數(shù)據(jù)庫中數(shù)據(jù)使用的安全性和可靠性,DBMS要提供一定的手段保護(hù)數(shù)據(jù),這就是數(shù)據(jù)控制的概念,包括:數(shù)據(jù)完整性控制、并發(fā)控制、安全性控制、數(shù)據(jù)恢復(fù)控制等。4.?dāng)?shù)據(jù)字典(DataDictionary)數(shù)據(jù)字典是以數(shù)據(jù)文件的方式存放關(guān)于數(shù)據(jù)庫的結(jié)構(gòu)描述和說明信息,是一種特殊的數(shù)據(jù)庫。軟件開發(fā)者可以通過數(shù)據(jù)字典的查閱來方便數(shù)據(jù)庫的使用和操作,這對(duì)數(shù)據(jù)量大的應(yīng)用程序是很有幫助的。大型數(shù)據(jù)庫管理系統(tǒng)有專門創(chuàng)建數(shù)據(jù)字典的功能,而VFP則需較多的人工操作才能創(chuàng)建數(shù)據(jù)字典庫。2025年2月16日第129頁1.3.3數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,DBS)是由計(jì)算機(jī)系統(tǒng)引入數(shù)據(jù)庫后的系統(tǒng)構(gòu)成,它是一個(gè)具有管理數(shù)據(jù)庫功能的計(jì)算機(jī)軟硬件綜合系統(tǒng)。具體地說,它主要包括計(jì)算機(jī)硬件、操作系統(tǒng)、數(shù)據(jù)庫(DB)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)和相關(guān)軟件、數(shù)據(jù)庫管理員及用戶等組成部分。數(shù)據(jù)庫系統(tǒng)具有數(shù)據(jù)的結(jié)構(gòu)化、共享性、獨(dú)立性、可控冗余度以及數(shù)據(jù)的安全性、完整性和并發(fā)控制等特點(diǎn)?!び布到y(tǒng):是數(shù)據(jù)庫系統(tǒng)的物理支持,包括主機(jī)、外部存儲(chǔ)器、輸入/輸出設(shè)備等。2025年2月16日第130頁·軟件系統(tǒng):包括系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件包括支持?jǐn)?shù)據(jù)庫管理系統(tǒng)運(yùn)行的操作系統(tǒng)(如Windows2000)、數(shù)據(jù)庫管理系統(tǒng)(如VisualFoxPro6.0)、開發(fā)應(yīng)用系統(tǒng)的高級(jí)語言及其編譯系統(tǒng)等;應(yīng)用軟件是指在數(shù)據(jù)庫管理系統(tǒng)基礎(chǔ)上,用戶根據(jù)實(shí)際問題自行開發(fā)的應(yīng)用程序?!?shù)據(jù)庫:是數(shù)據(jù)庫系統(tǒng)的管理對(duì)象,為用戶提供數(shù)據(jù)的信息源?!?shù)據(jù)庫管理員(DBA):是負(fù)責(zé)管理和控制數(shù)據(jù)庫系統(tǒng)的主要維護(hù)管理人員。·用戶:是數(shù)據(jù)庫的使用者,利用數(shù)據(jù)庫管理系統(tǒng)軟件提供的命令訪問數(shù)據(jù)庫并進(jìn)行各種操作。用戶包括專業(yè)用戶和最終用戶。專業(yè)用戶即程序員,是負(fù)責(zé)開發(fā)應(yīng)用程序的設(shè)計(jì)人員。最終用戶是對(duì)數(shù)據(jù)庫進(jìn)行查詢或通過數(shù)據(jù)庫應(yīng)用系統(tǒng)提供的界面使用數(shù)據(jù)庫的人員。2025年2月16日第131頁數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)和用戶的應(yīng)用程序是構(gòu)成數(shù)據(jù)庫系統(tǒng)的三要素。三者之間的關(guān)系是:用戶為了有效地處理和使用數(shù)據(jù)而建立數(shù)據(jù)庫,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的管理者,它是一個(gè)軟件,其職能是維護(hù)數(shù)據(jù)庫中的數(shù)據(jù),響應(yīng)和完成用戶應(yīng)用程序或命令提出的訪問數(shù)據(jù)的各種請(qǐng)求。數(shù)據(jù)庫系統(tǒng)三要素之間的關(guān)系如圖1-2所示。用戶用戶用戶數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫2025年2月16日第132頁圖1-2數(shù)據(jù)庫系統(tǒng)三要素之間的關(guān)系用戶用戶用戶數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫2025年2月16日第133頁1.3.4數(shù)據(jù)庫應(yīng)用系統(tǒng)數(shù)據(jù)庫應(yīng)用系統(tǒng)(DataBaseApplicationSystem,DBAS)是在DBMS支持下根據(jù)實(shí)際問題開發(fā)出來的數(shù)據(jù)庫應(yīng)用軟件。一個(gè)DBAS通常由數(shù)據(jù)庫和應(yīng)用程序兩部分組成,它們都需要在DBMS支持下開發(fā)。由于數(shù)據(jù)庫的數(shù)據(jù)要供不同的應(yīng)用程序共享,因此在設(shè)計(jì)應(yīng)用程序之前首先要對(duì)數(shù)據(jù)庫進(jìn)行設(shè)計(jì)。數(shù)據(jù)庫的設(shè)計(jì)是以“關(guān)系規(guī)范化”理論為指導(dǎo),按照實(shí)際應(yīng)用的報(bào)表數(shù)據(jù),首先定義數(shù)據(jù)的結(jié)構(gòu),包括邏輯結(jié)構(gòu)和物理結(jié)構(gòu),然后輸入數(shù)據(jù)形成數(shù)據(jù)庫。開發(fā)應(yīng)用程序也可采用功能分析,總體設(shè)計(jì),模塊設(shè)計(jì),編碼調(diào)試等步驟來實(shí)現(xiàn)。2025年2月16日第134頁1.3.5數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)模式從數(shù)據(jù)庫管理系統(tǒng)的角度看,數(shù)據(jù)庫系統(tǒng)可分為三級(jí)模式,從外到內(nèi)依次為外模式、模式和內(nèi)模式。1.外模式外模式又稱子模式或用戶模式,它是數(shù)據(jù)庫用戶和數(shù)據(jù)庫系統(tǒng)的接口,是數(shù)據(jù)庫用戶看到的數(shù)據(jù)視圖,是對(duì)數(shù)據(jù)庫中局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示。外模式通常是模式的子集。一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式。同一個(gè)外模式可以被某一個(gè)用戶的多個(gè)應(yīng)用程序所使用,但一個(gè)應(yīng)用程序只有一個(gè)外模式。2.模式2025年2月16日第135頁模式也稱邏輯模式或概念模式,它是對(duì)數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。一個(gè)數(shù)據(jù)庫只有一個(gè)模式。數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ)。模式是在數(shù)據(jù)庫模式結(jié)構(gòu)的中間層中,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,也與具體的應(yīng)用程序、應(yīng)用開發(fā)工具以及高級(jí)程序設(shè)計(jì)語言無關(guān)。DBMS提供模式定義語言DDL來描述模式。定義模式時(shí)要定義數(shù)據(jù)的邏輯結(jié)構(gòu),包括記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成;數(shù)據(jù)項(xiàng)的名稱、類型、取值范圍;數(shù)據(jù)之間的聯(lián)系;與數(shù)據(jù)有關(guān)的安全性、完整性要求等。2025年2月16日第136頁3.內(nèi)模式內(nèi)模式又稱為存儲(chǔ)模式,它是對(duì)數(shù)據(jù)庫物理結(jié)構(gòu)和存儲(chǔ)方式的描述,是數(shù)據(jù)在數(shù)據(jù)庫內(nèi)部的表示方式。它規(guī)定了數(shù)據(jù)在存儲(chǔ)介質(zhì)上的物理組織方式,記錄了尋址技術(shù)、物理存儲(chǔ)塊的大小、溢出處理方法等。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。為了實(shí)現(xiàn)三級(jí)模式的聯(lián)系和轉(zhuǎn)換,數(shù)據(jù)庫管理系統(tǒng)在三級(jí)模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。映像是一種對(duì)應(yīng)規(guī)則,指出映像雙方應(yīng)如何進(jìn)行轉(zhuǎn)換。數(shù)據(jù)庫的三級(jí)模式通過這兩層映像聯(lián)結(jié)起來,從而為各類用戶提供操縱數(shù)據(jù)庫的手段。2025年2月16日第137頁1.4數(shù)據(jù)模型1.4.1數(shù)據(jù)模型概述數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,是用來描述數(shù)據(jù)的結(jié)構(gòu)和聯(lián)系的一組概念和定義,是數(shù)據(jù)庫的核心內(nèi)容。由于計(jì)算機(jī)不能直接處理現(xiàn)實(shí)世界中的具體事物,所以必須把具體事物轉(zhuǎn)換成計(jì)算機(jī)能夠處理的數(shù)據(jù)。在數(shù)據(jù)庫系統(tǒng)中,實(shí)現(xiàn)轉(zhuǎn)換的過程通常是先把現(xiàn)實(shí)世界中的客觀事物抽象為概念數(shù)據(jù)模型(簡稱概念模型),然后再把概念數(shù)據(jù)模型轉(zhuǎn)換為某一數(shù)據(jù)庫管理系統(tǒng)所支持的邏輯數(shù)據(jù)模型(簡稱數(shù)據(jù)模型)。2025年2月16日第138頁概念數(shù)據(jù)模型和邏輯數(shù)據(jù)模型是數(shù)據(jù)模型的不同應(yīng)用層次。概念數(shù)據(jù)模型是從現(xiàn)實(shí)世界到數(shù)據(jù)世界的一個(gè)中間層次,是一種面向客觀世界、面向用戶的模型,是數(shù)據(jù)庫設(shè)計(jì)人員進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的重要工具,也是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流的語言,E-R模型、擴(kuò)充的E-R模型等是常用的概念模型。邏輯數(shù)據(jù)模型是一種面向數(shù)據(jù)庫系統(tǒng)的模型,即依賴于某種具體的數(shù)據(jù)庫管理系統(tǒng)DBMS,主要用于DBMS的實(shí)現(xiàn),常見的邏輯數(shù)據(jù)模型包括層次模型、網(wǎng)狀模型和關(guān)系模型等。2025年2月16日第139頁1.4.2E-R數(shù)據(jù)模型E-R數(shù)據(jù)模型(Entity-RelationshipDataModel)即實(shí)體-聯(lián)系數(shù)據(jù)模型,用來描述現(xiàn)實(shí)世界,具有直觀、自然、語義豐富及便于向邏輯數(shù)據(jù)模型轉(zhuǎn)換等優(yōu)點(diǎn)。設(shè)計(jì)E-R模型的目標(biāo)是有效和自然地模擬現(xiàn)實(shí)世界,而不是關(guān)心它在計(jì)算機(jī)中如何實(shí)現(xiàn),因此E-R模型中只應(yīng)包含那些對(duì)描述現(xiàn)實(shí)世界具有普遍意義的抽象概念。E-R模型中的基本概念有實(shí)體、聯(lián)系、屬性等。2025年2月16日第140頁1.實(shí)體(entity)客觀存在并可相互區(qū)分的事物稱為實(shí)體。它是信息世界的基本單位。實(shí)體既可以是人,也可以是物;既可以是實(shí)際對(duì)象,也可以是抽
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蜜柚生產(chǎn)基地可行性實(shí)施報(bào)告
- 古詩詞里賞秋
- 電氣勞務(wù)服務(wù)合同范本
- 危險(xiǎn)品倉儲(chǔ)企業(yè)風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2025年中國薰衣草行業(yè)市場供需格局及投資規(guī)劃建議報(bào)告
- "奶爸"楊大煒:引領(lǐng)孩子探索古建筑之美
- pmma樹脂市場調(diào)研報(bào)告
- 球墨鑄鐵井蓋項(xiàng)目可行性分析報(bào)告參考模板
- 租賃承繼合同范本
- 滑雪襪行業(yè)深度研究報(bào)告
- JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動(dòng)機(jī)技術(shù)規(guī)范(正式版)
- DL-T 572-2021電力變壓器運(yùn)行規(guī)程-PDF解密
- 教科版四下科學(xué)《植物的生長變化》單元解讀(新教材解讀)
- 2024年高考生物考前信息必刷卷02(全國卷新教材)(含答案與解析)
- JB-T 14509-2023 反滲透海水淡化設(shè)備技術(shù)規(guī)范
- GB/T 14799-2024土工合成材料有效孔徑的測定干篩法
- 2024年03月遼寧朝陽市事業(yè)單位定向招考聘用退役士兵100人筆試歷年(2016-2023年)真題薈萃帶答案解析
- 茶葉運(yùn)營方案
- 改變學(xué)習(xí)方式促進(jìn)學(xué)生發(fā)展結(jié)題報(bào)告
- 軟件監(jiān)理報(bào)告
- 09J202-1 坡屋面建筑構(gòu)造(一)-2
評(píng)論
0/150
提交評(píng)論