版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
VFP基本數(shù)據(jù)庫系統(tǒng)開發(fā)實(shí)例(附圖)西南大學(xué)計(jì)信院導(dǎo)學(xué)
在VisualFoxpro中開發(fā)一個(gè)應(yīng)用系統(tǒng)應(yīng)該包括需求分析、項(xiàng)目創(chuàng)建、模塊設(shè)計(jì)、運(yùn)行調(diào)試、保存發(fā)布到建立幫助等,下面介紹如何把各個(gè)模塊集成起來,并創(chuàng)建一個(gè)應(yīng)用程序。
11.1系統(tǒng)需求分析
傳統(tǒng)的學(xué)生成績管理方法不僅浪效率低,而且由于管理不規(guī)范容易導(dǎo)致各種錯(cuò)誤的發(fā)生。因此實(shí)現(xiàn)一個(gè)智能化、系統(tǒng)化的公共計(jì)算機(jī)成績管理系統(tǒng)是十分必要和不可缺少的。它將大大減輕管理者的勞動(dòng)強(qiáng)度,降低出錯(cuò)率,提高管理的效率。該系統(tǒng)可以實(shí)現(xiàn)如下功能:
1.數(shù)據(jù)需求
通過調(diào)查,總結(jié)出該應(yīng)用程序?qū)?shù)據(jù)的需求大致有如下這些:
(1)學(xué)生信息
包括學(xué)號(hào),姓名,性別,出生日期,系科,備注,照片
(2)管理員信息
包括用戶名,密碼,管理員姓名,權(quán)限,說明信息
(3)學(xué)生成績信息
主要包括學(xué)號(hào),課程編號(hào),平時(shí)成績,筆試成績,上機(jī)成績,總評成績,審核否
(4)課程信息
包括課程編號(hào),課程名稱
2.功能需求
功能分析的任務(wù)是了解用戶對數(shù)據(jù)的處理方法和輸出格式。
(1)基本數(shù)據(jù)錄入
基本數(shù)據(jù)包括學(xué)生信息、管理員信息、學(xué)生成績休息和課程信息等。要求系統(tǒng)能夠錄入這些數(shù)據(jù),并且可以進(jìn)行修改。在數(shù)據(jù)錄入和修改過程中應(yīng)保持?jǐn)?shù)據(jù)的參照完整性。
(2)查詢
能夠查詢出學(xué)生成績,和補(bǔ)考人員名單等。
(3)學(xué)生和管理員信息的維護(hù)
要求能夠根據(jù)需要對學(xué)生和管理員信息進(jìn)行維護(hù)修改等。
(4)成績的審核
根據(jù)學(xué)生的總評成績審核學(xué)生的計(jì)算機(jī)成績是否通過。
(5)打印輸出
打印學(xué)生成績表和補(bǔ)考人員名單等。11.2系統(tǒng)設(shè)計(jì)1.程序總體結(jié)構(gòu)設(shè)計(jì)
在開始程序設(shè)計(jì)之前,首先應(yīng)該將程序的總體結(jié)構(gòu)以層次圖的形式表示出來,便于對程序分層設(shè)計(jì)和實(shí)現(xiàn)。圖1所示為公共計(jì)算機(jī)成績管理系統(tǒng)的功能模塊圖。
圖1公共計(jì)算機(jī)成績管理系統(tǒng)功能模塊
2.數(shù)據(jù)庫邏輯設(shè)計(jì)
進(jìn)行數(shù)據(jù)庫設(shè)計(jì)的依據(jù)有三個(gè):第一是在進(jìn)行系統(tǒng)調(diào)查時(shí)由成績管理員提供的各種處理數(shù)據(jù);第二是功能設(shè)計(jì)結(jié)果;第三是數(shù)據(jù)庫設(shè)計(jì)規(guī)范化理論。數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)的一項(xiàng)基本工作,其效果的好壞,對后續(xù)設(shè)計(jì)、調(diào)試、使用、維護(hù)等工作關(guān)系極大,因此,一定要高度重視這一部分工作。當(dāng)然,我們不能簡單地將數(shù)據(jù)庫設(shè)計(jì)理解為在計(jì)算機(jī)上用可視化的方法建立表的過程,其主要工作是建立一種完整、規(guī)范的數(shù)據(jù)模型以支持整個(gè)應(yīng)用系統(tǒng)對數(shù)據(jù)的要求。
根據(jù)對實(shí)際情況進(jìn)行分析建立關(guān)系模型
1)學(xué)生信息表(學(xué)號(hào),姓名,性別,出生日期,系科,備注,照片)
2)管理人員信息表(用戶名,密碼,管理員姓名,權(quán)限,說明信息)
3)學(xué)生成績表(學(xué)號(hào),課程編號(hào),平時(shí)成績,筆試成績,上機(jī)成績,總評成績,審核否)
4)補(bǔ)考名單表(學(xué)號(hào),姓名,總評成績,補(bǔ)考成績)
5)課程表(課程編號(hào),課程名稱)
11.3創(chuàng)建項(xiàng)目VisualFoxpro推薦在項(xiàng)目管理器中開發(fā)應(yīng)用程序,因?yàn)轫?xiàng)目管理器會(huì)為開發(fā)工作帶來很多方便。在項(xiàng)目管理器中創(chuàng)建一個(gè)項(xiàng)目后,應(yīng)用程序就具備了一個(gè)開發(fā)框架,然后在這個(gè)框架中,再利用項(xiàng)目管理器所提供的強(qiáng)大功能,按照需求來實(shí)現(xiàn)應(yīng)用程序的設(shè)計(jì)。
用戶可以啟動(dòng)VisualFoxpro,選擇【文件】|【新建】命令,在打開的對話框中,選擇“項(xiàng)目”單選按鈕,然后單擊“新建文件”按鈕,接著在“創(chuàng)建”對話框中,輸入項(xiàng)目文件名并確定項(xiàng)目路徑(本例使用的路徑為D:\公共計(jì)算機(jī)成績管理系統(tǒng)),然后單擊“保存”按鈕,即可啟動(dòng)項(xiàng)目管理器。
一個(gè)完整的應(yīng)用程序,即使規(guī)模不大,也會(huì)涉及到多種類型文件,如dbc數(shù)據(jù)庫、dbf表以及菜單、表單、報(bào)表、位圖等。為了以后的修改、維護(hù)工作方便進(jìn)行,就需要把這些文件放在不同的文件夾中便于管理維護(hù),例如一般把dbc數(shù)據(jù)庫文件、dbf表文件和cdx索引文件放在DATE目錄,表單、報(bào)表、標(biāo)簽等放在FORMS目錄等。11.4數(shù)據(jù)庫的物理設(shè)計(jì)
a)數(shù)據(jù)庫名為公共計(jì)算機(jī)成績管理.dbc
b)數(shù)據(jù)表
i.學(xué)生信息表.dbf
學(xué)號(hào)/C/10,姓名/C/10,性別/L/1,出生日期/D/8,系科/C/30,備注/M/4,照片/G/4
ii.管理人員信息表.dbf
用戶名/C/10,密碼/C/10,管理員姓名/C/10,權(quán)限/C/4,說明信息/C/20
iii.學(xué)生成績表.
dbf學(xué)號(hào)/C/10,課程編號(hào)/C/2,平時(shí)成績/N/6/2,筆試成績/N/6/2,上機(jī)成績/N/6/2,總評成績/N/6/2,審核否/L/1
iv.補(bǔ)考名單表
學(xué)號(hào)/C/10,姓名/C/10,總評成績/N/6/2,補(bǔ)考成績/N/6/2
v.課程表
課程編號(hào)/C/2,課程名稱/C/14
圖2公共計(jì)算機(jī)成績管理數(shù)據(jù)庫及其表結(jié)構(gòu)11.5界面設(shè)計(jì)
1)創(chuàng)建啟動(dòng)表單
下面設(shè)計(jì)應(yīng)用程序的封面,主要由一個(gè)表單來實(shí)現(xiàn),其效果如圖10.4所示。
在項(xiàng)目管理器中,打開“文檔”選項(xiàng)卡,選擇“表單”選項(xiàng),單擊“新建”按鈕,在打開的對話框中單擊“新建表單”按鈕,這時(shí),將彈出一個(gè)表單設(shè)計(jì)器和表單Form1。單擊表單設(shè)計(jì)器工具欄中的標(biāo)簽和命令按鈕,分別在表單中添加一個(gè)標(biāo)簽控件(采用系統(tǒng)默認(rèn)名稱Labell)和兩個(gè)命令按鈕控件(采用系統(tǒng)默認(rèn)名稱command1和command2)。
下面分別設(shè)置各對象的主要屬性。屬性設(shè)置見表10.6所示。
設(shè)置command1對象的click事件代碼為:
doform密碼.scx
*打開“密碼”表單
設(shè)置command2對象的click事件代碼為:
thisform.release
*釋放本表單
Quit
*清除事務(wù)處理退出VF
2)創(chuàng)建身份驗(yàn)證表單
在項(xiàng)目管理器中,與主表單的創(chuàng)建方法相類似,可以創(chuàng)建“身份驗(yàn)證”表單的界面如圖10.5所示。首先通過表單控件工具欄在表單上添加二個(gè)標(biāo)簽控件、一個(gè)文本框控件及兩個(gè)命令按鈕控件。
其中“密碼”表單中各對象的屬性設(shè)置情況如表10.7所示:
設(shè)置密碼表單的init事件為:
Thisform.text1.SetFocus()
Thisform.text1.passwordchar='*'
設(shè)置密碼表單的load事件為:
SELE1
USE密碼
設(shè)置option1對象的click事件代碼為:
PUBLICM.權(quán)限,M.密碼
sele1
SETEXACON
LOCAFOR密碼=ALLTRIM(Thisform.text1.Value)
IFFOUND()
M.密碼=密碼
M.權(quán)限=權(quán)限
KUAN=1
thisform.release
ELSE
Thisform.text1.passwordchar=''
Thisform.text1.Value='密碼錯(cuò)誤!'
A=INKEY(1)
Thisform.text1.Value=''
THISFORM.OPTIONGROUP1.VALUE=0
Thisform.text1.SetFocus()
Thisform.text1.passwordchar='*'
KUAN=0
ENDIF
設(shè)置option2對象的click事件代碼為:
thisform.release
*釋放本表單
clearevent
11.6主菜單設(shè)計(jì)
下面利用VisualFoxPro的菜單功能設(shè)計(jì)應(yīng)用程序的子系統(tǒng),其結(jié)構(gòu)示意如圖10.8所示。
圖10.8
打開項(xiàng)目管理器中的“其他”選項(xiàng)卡,選中【菜單】項(xiàng),然后單擊“新建”按鈕,在彈出的對話框中
單擊“菜單”按鈕,參照總體結(jié)構(gòu)圖10.8,在打開的菜單設(shè)計(jì)器中,設(shè)計(jì)主菜單,如圖10.9所示。
圖10.9
單擊菜單項(xiàng)后的“創(chuàng)建”按鈕,即可在打開的菜單設(shè)計(jì)器窗口中創(chuàng)建該菜單項(xiàng)的子菜單。如果要設(shè)置命令
的快捷鍵,可以單擊其后的選項(xiàng)按鈕,然后在打開的對話框中,輸入快捷鍵的名稱,如圖10.10所示。
圖10.10
最后單擊確定按鈕,返回到菜單設(shè)計(jì)器窗口,在“退出”菜單項(xiàng)的文本框中,輸入clearevents,然后單擊
關(guān)閉按鈕,將菜單保存為“主菜單.mnx”。運(yùn)行該菜單,其效果如圖10.11所示。
圖10.11
接著,創(chuàng)建應(yīng)用程序的主文件,將其保存為“主程序.prg”。在代碼編輯窗口中,輸入以下代碼:
_screen.windowstate=2
_screen.caption="公共計(jì)算機(jī)成績管理系統(tǒng)"
_screen.closable=.f.
_screen.picture="圖片\news_2003816214445.jpg"
closeall
clearall
clear
setsysmenuoffbr>
setsysmenuto
settalkoff
setsafetyoff
setstatusbaroff
doform封面.scx
DO菜單1.MPX
readevent
setsysmenutodefault
setsysmenuon
setstatusbaron
closeall
clearall
return
圖10.12
如圖10.12所示,在項(xiàng)目管理器中,將“主程序.prg”設(shè)置為主文件,然后選中“主程序.prg”并單擊
“運(yùn)行”按鈕,即可得到如圖10.13所示的效果。
圖10.13運(yùn)行主程序后的效果
11.7表單設(shè)計(jì)
為了實(shí)現(xiàn)和完善“公共計(jì)算機(jī)成績管理系統(tǒng)”應(yīng)用程序的功能,下面通過表單
的調(diào)用來實(shí)現(xiàn)某些特定的底層功能。在此,我們主要介紹“學(xué)生信息輸入”表單、
“成績查詢”表單、“學(xué)生信息維護(hù)”表單的制作過程,其他的表單制作過程與此
類似,讀者可以自己完成。
1)“學(xué)生信息輸入”表單(學(xué)生信息輸入.scx)
“學(xué)生信息輸入”表單主要用于輸入學(xué)生的信息。首先創(chuàng)建“學(xué)生信息輸入”表單,
然后選擇【顯示】|【數(shù)據(jù)環(huán)境】命令,
在打開的“添加表或視圖”對話框中添加“學(xué)生信息表”表到數(shù)據(jù)環(huán)境設(shè)計(jì)器中,如圖10.14所示。
圖10.14
接著,設(shè)置“學(xué)生信息輸入”表單的屬性,見表10.9所示。
然后設(shè)置標(biāo)簽和文本框。從數(shù)據(jù)環(huán)境設(shè)計(jì)器中,將下列字段拖放到表單中規(guī)定的位置,
生成相應(yīng)的標(biāo)簽和文本框:“學(xué)生信息表”表中的學(xué)號(hào)、姓名、性別、系科、出生日期、
備注等字段。從數(shù)據(jù)環(huán)境直接拖動(dòng)到表單中定義標(biāo)簽和文本框不僅速度快,而且標(biāo)簽的
Coption和Name屬性、文本框的Name屬性都會(huì)自動(dòng)設(shè)置與源字段有關(guān)的名字,文本框也會(huì)
自動(dòng)與源表中的源字段綁定,效果如圖10.15所示。
圖10.15
最后,設(shè)置命令按鈕組與事件代碼。從表單控件工具欄中單擊“命令按鈕組”工具,
在窗口的相應(yīng)位置單擊,創(chuàng)建命令按鈕組控件。在屬性窗口,分別設(shè)置各個(gè)command的屬性,并且在
編輯狀態(tài)下,對按鈕命令組中的command進(jìn)行排列與設(shè)定。雙擊該控件,在打開的代碼編輯窗口中,
輸入Click事件的代碼。
Command1的Click事件的代碼:
select學(xué)生信息表
appendblank
thisform.refresh()
Command2的Click事件的代碼:
SETEXACTon
IFALLTRIM(學(xué)號(hào))=''
DELETE
PACK
ENDIF
IFthisform.Optiongroup1.Option1.value=1
REPLACE性別with.t.
ELSE
REPLACE性別with.f.
endif
Command3的Click事件的代碼:
if!bof()
SKIP-1
else
gotop
ENDIF
IF性別
thisform.Optiongroup1.Option1.value=1
thisform.Optiongroup1.Option2.value=0
ELSE
thisform.Optiongroup1.Option1.value=0
thisform.Optiongroup1.Option2.value=1
endif
thisform.refresh()
Command4的Click事件的代碼:
if!eof()
skip
else
gobottom
ENDIF
IF性別
thisform.Optiongroup1.Option1.value=1
thisform.Optiongroup1.Option2.value=0
ELSE
thisform.Optiongroup1.Option1.value=0
thisform.Optiongroup1.Option2.value=1
endif
thisform.refresh()
Command5的Click事件的代碼:
SETEXACTon
GOtop
scan
IFALLTRIM(姓名)=''
DELETE
PACK
ENDIF
endscan
use
releasethisform
關(guān)閉該窗口,保存代碼,然后單擊項(xiàng)目管理器中的運(yùn)行按鈕,可以得到如圖10.16所示的表單效果。
用戶可以通過單擊表單中的相關(guān)按鈕,實(shí)現(xiàn)對圖書信息的相關(guān)操作。
圖10.16
2)“學(xué)生信息查詢”表單(學(xué)生信息查詢.scx)
學(xué)生信息查詢表單用于查詢學(xué)生信息,需要使用學(xué)生信息表。在學(xué)生信息查詢表單的數(shù)據(jù)
環(huán)境中加入這個(gè)表,如圖10.17所示。
圖10.17
和“學(xué)生信息輸入”表單相似,從數(shù)據(jù)環(huán)境中將需要的數(shù)據(jù)拖放到表單窗口的相應(yīng)位置,
創(chuàng)建“學(xué)生信息查詢”表單如圖10.18所示。
圖10.18
屬性窗口的設(shè)置也和“學(xué)生信息輸入”表單類似,其中命令組對象的事件的代碼如下:
Commandgroup1的init事件的代碼如下:
opendatabase公共計(jì)算機(jī)成績管理.dbc
IF學(xué)生信息表.性別
thisform.text5.Value='男'
ELSE
thisform.text5.Value='女'
endif
command1的click事件的代碼如下:
gotop
mand2.enabled=.f.
mand3.enabled=.t.
thisform.refresh()
command2的click事件的代碼如下:
if!bof()
SKIP-1
else
gotop
ENDIF
IF學(xué)生信息表.性別
thisform.text5.Value='男'
ELSE
thisform.text5.Value='女'
endif
mand3.enabled=.t.
thisform.refresh
command3的click事件的代碼如下:
if!eof()
skip
else
gobottom
ENDIF
IF學(xué)生信息表.性別
thisform.text5.Value='男'
ELSE
thisform.text5.Value='女'
endif
mand2.enabled=.t.
thisform.refresh()
command4的click事件的代碼如下:
gobottom
IF學(xué)生信息表.性別
thisform.text5.Value='男'
ELSE
thisform.text5.Value='女'
ENDIF
mand3.enabled=.f.
mand2.enabled=.t.
thisform.refresh()
運(yùn)行該表單,效果如圖10.19所示。
圖10.19
3)“補(bǔ)考查詢”表單(補(bǔ)考查詢.scx)
補(bǔ)考查詢表單用于查詢補(bǔ)考學(xué)生信息,需要使用學(xué)生信息表、學(xué)生成績表和補(bǔ)考名單表。
在補(bǔ)考查詢表單的數(shù)據(jù)環(huán)境中加入這三個(gè)表,同時(shí)建立學(xué)生信息表和學(xué)生成績表之間的關(guān)聯(lián),
學(xué)生成績表和補(bǔ)考名單表之間的關(guān)聯(lián),如圖10.20所示。
圖10.20
和“學(xué)生信息輸入”表單相似,在表單窗口的相應(yīng)位置設(shè)置定義標(biāo)簽“補(bǔ)考名單”、定義顯示成績的
表格控件和三個(gè)按鈕,創(chuàng)建“補(bǔ)考查詢”表單如圖10.21所示。
圖10.21
屬性窗口的設(shè)置和“學(xué)生信息輸入”表單類似,其中表格的設(shè)置可以采用表格生成器完成,如圖10.22所示:
圖10.22
另外“查詢”按鈕的Click事件的代碼如下:
UPDATE學(xué)生成績表set學(xué)生成績表.綜合成績=學(xué)生成績表.筆試成績*0.6+;
學(xué)生成績表.上機(jī)成績*0.3+學(xué)生成績表.平時(shí)成績*0.1
thisform.grid1.recordsource='sele學(xué)生信息表.姓名,學(xué)生成績表.課程編號(hào),;
學(xué)生成績表.筆試成績,學(xué)生成績表.上機(jī)成績,學(xué)生成績表.綜合成績;
from學(xué)生成績表,學(xué)生信息表;
where學(xué)生信息表.學(xué)號(hào)=學(xué)生成績表.學(xué)號(hào)and學(xué)生成績表.綜合成績<60intocursorlsb1'
use
“打印”按鈕的Click事件的代碼如下:
UPDATE學(xué)生成績表set學(xué)生成績表.綜合成績=學(xué)生成績表.筆試成績*0.6+;
學(xué)生成績表.上機(jī)成績*0.3+學(xué)生成績表.平時(shí)成績*0.1
sele學(xué)生信息表.學(xué)號(hào),學(xué)生信息表.姓名,學(xué)生成績表.課程編號(hào),學(xué)生成績表.綜合成績;
from學(xué)生成績表,學(xué)生信息表;
where學(xué)生信息表.學(xué)號(hào)=學(xué)生成績表.學(xué)號(hào)and學(xué)生成績表.綜合成績<60into;
table補(bǔ)考
sele補(bǔ)考名單表
APPENDFROM補(bǔ)考
use
SELECT姓名,課程名稱,綜合成績;
from補(bǔ)考名單表,課程表;
where補(bǔ)考名單表.課程編號(hào)=課程表.課程編號(hào)toprinter
use
“退出”按鈕的Click事件的代碼如下:
thisform.release
運(yùn)行該表單,效果如圖10.13所示。
11.8用項(xiàng)目管理器連編成應(yīng)用程序
在對應(yīng)用程序各個(gè)模塊分別進(jìn)行設(shè)計(jì)并調(diào)試之后,需要對整個(gè)項(xiàng)目進(jìn)行編譯,生成.EXE可執(zhí)行程序,這在VisualFoxpro中稱為連編項(xiàng)目。
1)設(shè)置文件的“排除”與“包含”
剛剛添加的數(shù)據(jù)庫文件左側(cè)有一個(gè)排除符號(hào)?(如圖3所示),表示此項(xiàng)從項(xiàng)目中排除。VisualFoxpro假設(shè)表在應(yīng)用程序中可以被修改,所以默認(rèn)表為“排除”。
(1)文件的“排除”與“包含”
“排除”與“包含”相對。將一個(gè)項(xiàng)目編譯成一個(gè)應(yīng)用程序時(shí),所有項(xiàng)目包含的文件將組合為一個(gè)單一的應(yīng)用程序文件。在項(xiàng)目連編之后,那些在項(xiàng)目中標(biāo)記為“包含”的文件將變?yōu)橹蛔x文件。如果應(yīng)用程序包含需要用戶修改的文件,必須將該文件標(biāo)記為“排除”。排除文件仍然是應(yīng)用程序的一部分,因此VisualFoxpro仍可跟蹤,并將它們看成項(xiàng)目的一部分。但是這些文件沒有在應(yīng)用程序的文件中編譯,所以用戶可以更新它們。
作為通用的準(zhǔn)則,可執(zhí)行程序,例如表單、報(bào)表、查詢、菜單和程序文件應(yīng)該在應(yīng)用程序文件中為“包含”,而數(shù)據(jù)文件則為“排除”。但是,可以根據(jù)應(yīng)用程序的需要包含或排除文件。通常將所有不需要用戶更新的文件設(shè)為包含。但應(yīng)用程序文件(.app)不能設(shè)為包含,對于類庫文件(.ocx、.fll和.dll)可以有選擇地設(shè)為排除。
(2)將標(biāo)記為“排除”的文件設(shè)置成“包含”的操作
在項(xiàng)目管理器中設(shè)置:要將標(biāo)記為“排除”的文件設(shè)置成“包含”,只要在選定文件之后,右擊鼠標(biāo),從快捷菜單上選擇“包含”即可,如圖3所示。
圖3
2)設(shè)置主程序
主程序是整個(gè)應(yīng)用程序的入口點(diǎn),主程序的任務(wù)是設(shè)置應(yīng)用程序的起始點(diǎn)、初始化環(huán)境、顯示初始的用戶界面、控制事件循環(huán),當(dāng)退出應(yīng)用程序時(shí),恢復(fù)原始的開發(fā)環(huán)境。當(dāng)用戶運(yùn)行應(yīng)用程序時(shí),將首先啟動(dòng)主程序文件,然后主文件再依次調(diào)用所需要的應(yīng)用程序及其它組件。所有應(yīng)用程序必須包含一個(gè)主程序文件。
設(shè)置主程序有兩種方法:
(1)在項(xiàng)目管理器中選中要設(shè)置的主程序文件,從“項(xiàng)目”菜單或快捷菜單中選擇“設(shè)置主文件”選項(xiàng)。項(xiàng)目管理器將應(yīng)用程序的主文件自動(dòng)設(shè)置為“包含”,在編譯完應(yīng)用程序之后,該文件作為只讀文件處理。
(2)在“項(xiàng)目信息”的“文件”選項(xiàng)卡中選中要設(shè)置的主程序文件后右擊鼠標(biāo),在彈出的快捷菜單中選擇“設(shè)置主文件”。在這種情況下,只有把文件設(shè)置為“包含”之后才激活“設(shè)置主文件”選項(xiàng)。
由于一個(gè)應(yīng)用系統(tǒng)只有一個(gè)起始點(diǎn),系統(tǒng)的主文件是唯一的,當(dāng)重新設(shè)置主文件時(shí),原來的設(shè)置便自動(dòng)解除。標(biāo)記為主文件的文件不能排除。
3)連編項(xiàng)目
對項(xiàng)目進(jìn)行測試的目的是為了對程序中的引用進(jìn)行校驗(yàn),同時(shí)檢查所有的程序組件是否可用。通過重新連編項(xiàng)目VisualFoxpro會(huì)分析文件的引用,然后重新編譯過期的文件。
連編項(xiàng)目首先是讓VisualFoxpro系統(tǒng)對項(xiàng)目的整體性進(jìn)行測試的方法,此過程的最終結(jié)果是將所有在項(xiàng)目中引用的文件,除了那些標(biāo)記為排除的文件以外,合成為一個(gè)應(yīng)用程序文件。最后需要將應(yīng)用程序軟件、數(shù)據(jù)文件以及其它排除的項(xiàng)目文件一起交給最終用戶使用。
連編項(xiàng)目有以下作用和注意事項(xiàng):
(1)當(dāng)連編項(xiàng)目時(shí),VisualFoxpro將分析對所有文件的引用,并自動(dòng)把所有的隱式文件包含在項(xiàng)目中。如果通過用戶自定義的代碼引用任何一個(gè)其他文件,項(xiàng)目連編也會(huì)分析所有包含及引用的文件。在下一次查看該項(xiàng)目時(shí),引用的文件會(huì)出現(xiàn)在項(xiàng)目管理器中。
(2)“項(xiàng)目管理器”解決不了對圖(.bmp或.msk)文件的引用,因?yàn)樗Q于在代碼中如何使用圖片文件。需要將這些文件手工添加到項(xiàng)目中。
(3)連編項(xiàng)目也不能自動(dòng)包含那些用“宏替換”進(jìn)行引用的文件,因?yàn)樵趹?yīng)用程序運(yùn)行之前,不知道該文件的名字。如果應(yīng)用程序要引用“宏替換”的文件,應(yīng)手工添加并包含這些引用文件。
在項(xiàng)目管理器中進(jìn)行項(xiàng)目連編的具體步驟如下:
(1)在項(xiàng)目管理器中打開相應(yīng)的項(xiàng)目,單擊“連編”按鈕,彈出如圖4所示的“連編選項(xiàng)”對話框。
圖4
(2)在“連編選項(xiàng)”對話框中,選擇“重新連編項(xiàng)目”單選鈕。
(3)如果選擇了“顯示錯(cuò)誤”復(fù)選框,可以立刻查看錯(cuò)誤文件。這些錯(cuò)誤集中收集在當(dāng)前目錄的一個(gè)<項(xiàng)目名稱>.err文件中。編譯錯(cuò)誤的數(shù)量顯示在狀態(tài)欄中。
(4)如果沒有在“連編選項(xiàng)”對話框中選擇“重新編譯全部文件”復(fù)選框,只會(huì)重新編譯上次連編后修改過的文件。當(dāng)向項(xiàng)目中添加組件后,應(yīng)該重復(fù)項(xiàng)目的連編。
(5)選擇了所需的選項(xiàng)后,單擊“確定”按鈕。
該操作等同于通過命令窗口執(zhí)行BUILDPROJECT<項(xiàng)目名>命令。
如果在項(xiàng)目連編過程中發(fā)生錯(cuò)誤,必須糾正或排除錯(cuò)誤,并且反復(fù)進(jìn)行“重新連編項(xiàng)目”,直至連編成功。
4)連編應(yīng)用程序
連編項(xiàng)目獲得成功之后,在建立應(yīng)用程序之前應(yīng)該試著運(yùn)行該項(xiàng)目??梢栽凇绊?xiàng)目管理器”中選中主程序,然后選擇“運(yùn)行”命令?;蛘咴凇懊睢贝翱谥校瑘?zhí)行帶有主程序名字的一個(gè)DO命令,如domain.prg。如果程序運(yùn)行正確,就可以最終連編成一個(gè)應(yīng)用程序文件了。應(yīng)用程序文件包括項(xiàng)目中所有“包含”文件,應(yīng)用程
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國有土地租賃協(xié)議合同(新型城鎮(zhèn)化建設(shè)項(xiàng)目)3篇
- 二零二五年度公司環(huán)保材料銷售業(yè)務(wù)員環(huán)保承諾合同3篇
- 二零二五年度農(nóng)村堰塘水利設(shè)施建設(shè)與承包合同
- 2025年度農(nóng)村土地經(jīng)營權(quán)轉(zhuǎn)讓與農(nóng)業(yè)科技成果轉(zhuǎn)化合同
- 2025年度水泥行業(yè)環(huán)保設(shè)施運(yùn)營合同范本大全3篇
- 2025年度洗車行車用配件銷售與售后服務(wù)合同范本3篇
- 2025年度物流倉儲(chǔ)用地租賃合同書(含冷鏈設(shè)施)3篇
- 二零二五年度智能制造企業(yè)整體收購合同2篇
- 2025年度醫(yī)療健康企業(yè)監(jiān)事聘用合同模板3篇
- 二零二五年度養(yǎng)老院與老人生活服務(wù)及社區(qū)資源共享服務(wù)合同3篇
- 術(shù)中獲得性壓力性損傷預(yù)防
- 新課標(biāo)人教版五年級(jí)數(shù)學(xué)上冊總復(fù)習(xí)(全冊)
- 電氣接線工藝培訓(xùn)
- 土木工程管理與工程造價(jià)的有效控制探析獲獎(jiǎng)科研報(bào)告
- 基層版創(chuàng)傷中心建設(shè)指南(試行)
- 全過程造價(jià)咨詢服務(wù)實(shí)施方案
- 插圖幻燈片制作PPT3D小人圖標(biāo)幻燈素材(精)
- 室內(nèi)設(shè)計(jì)裝飾材料案例分析課件
- 四年級(jí)上冊道德與法治第10課《我們所了解的環(huán)境污染》教學(xué)反思(部編人教版)
- GB/T 8491-2009高硅耐蝕鑄鐵件
- GB/T 15970.7-2000金屬和合金的腐蝕應(yīng)力腐蝕試驗(yàn)第7部分:慢應(yīng)變速率試驗(yàn)
評論
0/150
提交評論