實(shí)用小型信息系統(tǒng)的開發(fā)-在面向?qū)ο蟪绦蛟O(shè)計(jì)思想指導(dǎo)下用vfp開發(fā)圖書管理系統(tǒng)_第1頁
實(shí)用小型信息系統(tǒng)的開發(fā)-在面向?qū)ο蟪绦蛟O(shè)計(jì)思想指導(dǎo)下用vfp開發(fā)圖書管理系統(tǒng)_第2頁
實(shí)用小型信息系統(tǒng)的開發(fā)-在面向?qū)ο蟪绦蛟O(shè)計(jì)思想指導(dǎo)下用vfp開發(fā)圖書管理系統(tǒng)_第3頁
實(shí)用小型信息系統(tǒng)的開發(fā)-在面向?qū)ο蟪绦蛟O(shè)計(jì)思想指導(dǎo)下用vfp開發(fā)圖書管理系統(tǒng)_第4頁
實(shí)用小型信息系統(tǒng)的開發(fā)-在面向?qū)ο蟪绦蛟O(shè)計(jì)思想指導(dǎo)下用vfp開發(fā)圖書管理系統(tǒng)_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

目錄內(nèi)容提要:引言:一、課題研究的現(xiàn)實(shí)背景1.1課題背景1.2數(shù)據(jù)處理技術(shù)的發(fā)展1.3國內(nèi)外辦公信息發(fā)展概況二、管理信息系統(tǒng)2.1管理信息系統(tǒng)的簡介2.2管理信息系統(tǒng)的開發(fā)三、面向?qū)ο蟪绦蛟O(shè)計(jì)及特點(diǎn)3.1面向?qū)ο蟪绦虻漠a(chǎn)生3.2面向?qū)ο蟪绦蛟O(shè)計(jì)中的對象3.3從類看面向?qū)ο蟪绦蛟O(shè)計(jì)方法的特點(diǎn)3.4面向?qū)ο蟪绦蛟O(shè)計(jì)方法的基本思想四、VFP系統(tǒng)介紹4.1簡介4.2VFP的主界面4.3VFP中的數(shù)據(jù)庫和表五、圖書管理系統(tǒng)的實(shí)現(xiàn)5.1系統(tǒng)總體結(jié)構(gòu)5.2系統(tǒng)的數(shù)據(jù)組成結(jié)構(gòu)5.3錄入模塊5.4查詢模塊5.5借還模塊5.6報(bào)表5.7程序的執(zhí)行5.8不足之處結(jié)束語[參考文獻(xiàn)][附錄]內(nèi)容提要:隨著信息技術(shù)的發(fā)展,人們對于運(yùn)用計(jì)算機(jī)來輔助,協(xié)調(diào)和管理自身工作的需要正在逐步提高。而面向?qū)ο蟮某绦蛟O(shè)計(jì)在當(dāng)今應(yīng)用程序的開發(fā)過程中具有重要的地位,它的最大的優(yōu)點(diǎn)就是能夠提高程序開發(fā)的質(zhì)量和開發(fā)速度。管理類信息系統(tǒng)是日常最為廣泛的計(jì)算機(jī)應(yīng)用,已延伸到社會(huì)的各個(gè)領(lǐng)域。針對現(xiàn)在學(xué)校應(yīng)用計(jì)算機(jī)的一些情況,及本人在計(jì)算機(jī)學(xué)習(xí)使用中碰到的具體問題的,結(jié)合基礎(chǔ)數(shù)據(jù)庫應(yīng)用知識(shí)以及信息系統(tǒng)的相關(guān)內(nèi)容,本文主要介紹利用vfp開發(fā)windows應(yīng)用程序中的一些基本知識(shí),及本系統(tǒng)各部分的實(shí)現(xiàn)情況。關(guān)鍵詞:面向?qū)ο缶幊虜?shù)據(jù)訪問接口ADO編程對象模型Abstract:Followingthedevelopmentoftheinformationtechnology,thenecessityofusingthecomputerstoaccessory,adjustandmanagetheworkisneededmoreanmore.Whiletheobject-orientedprogrammingplaysanimporfantroleinthedevelopmentoftoday’sapplication.Theadvantageisthatitcanimprovethequalifyandpromotethespeedofprocessprogramming.Theinformationsystemofmanagementismostwidelyusedcomputerapplicationindailylife,ithasreachedtoeveryaspectofoursociety.Basingonthesituationinusingcomputersinschoolsandtheproblemsmetinmystudyonusingthecomputers,Icombinetherelativeinformationsystem,tointwthebasicknowledgeinusingVFPtoprogrammerwindows’applicationandhowtomakeeverypartofthesystemaffectinthispassage.Keywords:object-orientedprogrammingdatavisitinginterfaceADOprogrammingobject-oriented引言:人類20世紀(jì)最重大的科技成果之一是數(shù)字計(jì)算機(jī)的發(fā)明。當(dāng)前,它推動(dòng)著幾乎一切科學(xué)技術(shù)的發(fā)展和完善。已成為任何社會(huì)和技術(shù)領(lǐng)域都需要的甚至是不可缺少的智能型工具。其作用和所產(chǎn)生的效果早已超出人們的預(yù)想。在計(jì)算機(jī)的三大應(yīng)用領(lǐng)域(科學(xué)計(jì)算、數(shù)據(jù)處理和過程控制)中數(shù)據(jù)處理約占70%左右的比重。各種應(yīng)用軟件根據(jù)實(shí)際的工作環(huán)境,特定的工作流程,通過對各種數(shù)據(jù)的處理得出人們想要的各種信息。本文使用VFP系統(tǒng)進(jìn)行了一個(gè)簡單圖書管理系統(tǒng)的開發(fā),同時(shí)利用同本系統(tǒng),指明在應(yīng)用次序的總體設(shè)計(jì)階段和模塊設(shè)計(jì)階段,可分別應(yīng)用不同的程序設(shè)計(jì)方法,達(dá)到結(jié)構(gòu)程序設(shè)計(jì)與OOP在系統(tǒng)開發(fā)中的結(jié)合。課題研究的現(xiàn)實(shí)背景1.1課題背景近來,國內(nèi)外興起了一股辦公自動(dòng)化的熱潮,希望能借助相關(guān)的計(jì)算機(jī)技術(shù)實(shí)現(xiàn)對企業(yè)辦公過程的自動(dòng)化管理。目前,辦公自動(dòng)化正朝著多功能,復(fù)合化和系統(tǒng)化的方向發(fā)展,如何有效的實(shí)現(xiàn)作業(yè)流程的自動(dòng)化已經(jīng)提到日程上來。這樣對信息流的有效組織和管理便日益成為衡量一個(gè)辦公自動(dòng)化系統(tǒng)優(yōu)劣的重要標(biāo)志。隨著教育的普及,學(xué)校也在不斷的提高教學(xué)質(zhì)量和學(xué)校管理質(zhì)量,而整理統(tǒng)計(jì)大量又繁雜的數(shù)據(jù)需要用到信息管理系統(tǒng),本文中的圖書管理系統(tǒng)就是其中的一種。現(xiàn)代的社會(huì)中,辦公自動(dòng)化進(jìn)入社會(huì)的每一個(gè)角落已經(jīng)勢不可擋,圖書管理系統(tǒng)作為辦公自動(dòng)化的一個(gè)小小體現(xiàn),將為學(xué)校教學(xué)管理工作中處理大量又繁雜的數(shù)據(jù)提供方便,提高學(xué)校工作的效率,同時(shí)也為辦公自動(dòng)化的普及奠定了基礎(chǔ)。1.2數(shù)據(jù)處理技術(shù)的發(fā)展人們需要處理數(shù)據(jù),從數(shù)據(jù)中抽象出信息。那么,數(shù)據(jù)就不僅僅是物理符號(hào)序列,它還包含了對事物特性的反映。事物不是孤立的而是與另一些事物相關(guān)聯(lián)有某種聯(lián)系的。因此,反映事物特性的數(shù)據(jù)間也是有聯(lián)系的。各種數(shù)據(jù)及它們的集合就構(gòu)成了數(shù)據(jù)庫。目前,數(shù)據(jù)庫技術(shù)已從第一代網(wǎng)狀層次數(shù)據(jù)庫,第二代的關(guān)系數(shù)據(jù)庫,發(fā)展到了今天以面向?qū)ο竽P蜑樘卣鞯牡谌鷶?shù)據(jù)庫系統(tǒng)。引入第三代數(shù)據(jù)庫系統(tǒng)的是更多更復(fù)雜的多媒體數(shù)據(jù)。為了能夠使應(yīng)用程序操縱、存儲(chǔ)、引用及處理這些多媒體數(shù)據(jù),使數(shù)據(jù)庫存儲(chǔ)的信息為人們所充分利用就產(chǎn)生了用對象的概念抽象事物,然后在程序中針對對象編程的方法。這種方法就是面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。目前這種方法是一種較流行的程序設(shè)計(jì)方法。而本文就是討論將面向?qū)ο蟮某绦蛟O(shè)計(jì)方法應(yīng)用與辦公自動(dòng)化的一個(gè)實(shí)例,在接下來的章節(jié)中,我們將對辦公自動(dòng)化進(jìn)行闡述。1.3國內(nèi)外辦公信息發(fā)展概況從國內(nèi)外發(fā)展情況來看,美日等國家的辦公自動(dòng)化技術(shù)發(fā)展較早,辦公自動(dòng)化的水平也較高,而我國起步晚,在技術(shù)開發(fā)和應(yīng)用方面與先進(jìn)的國家還有不少的差距,但是在中國,辦公自動(dòng)化技術(shù)也是在日新月異的發(fā)展著的,有許多的城市已經(jīng)在用辦公自動(dòng)化系統(tǒng)來管理各自的單位和企業(yè)。其中,信息管理型的辦公自動(dòng)化系統(tǒng)是當(dāng)今發(fā)展的主流。但是,目前國內(nèi)基于信息管理的辦公自動(dòng)化系統(tǒng)中仍然存在著不足之處。二、管理信息系統(tǒng)2.1管理信息系統(tǒng)的簡介[1,4]管理信息系統(tǒng)就是我們常說的MIS(ManagementInformationSystem),在強(qiáng)調(diào)管理、強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中它變得越來越普及。MIS是一門新的學(xué)科,它跨越了若干個(gè)領(lǐng)域,比如管理科學(xué)、系統(tǒng)科學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)及計(jì)算機(jī)科學(xué)。在這些學(xué)科的基礎(chǔ)上,形成信息收集和加工的方法,從而形成一個(gè)縱橫交織的系統(tǒng)。1985年,管理信息系統(tǒng)的創(chuàng)始人,明尼蘇達(dá)大學(xué)的管理學(xué)教授GordonB.Davis給了管理信息系統(tǒng)一個(gè)較完整的定義,即“管理信息系統(tǒng)是一個(gè)利用計(jì)算機(jī)軟硬件資源以及數(shù)據(jù)庫的人-機(jī)系統(tǒng)。它能提供信息支持企業(yè)或組織運(yùn)行、管理和決策功能?!边@個(gè)定義全面地說明了管理信息系統(tǒng)的目標(biāo)、功能和組成。管理信息系統(tǒng)起初應(yīng)用于最基礎(chǔ)的工作,如打印報(bào)表、計(jì)算工資、人事管理等,進(jìn)而發(fā)展到企業(yè)財(cái)務(wù)管理、庫存管理等單項(xiàng)業(yè)務(wù)管理,這屬于電子數(shù)據(jù)處理(EDP,ElectronicDataProcessing)系統(tǒng)。當(dāng)建立了企業(yè)數(shù)據(jù)庫,有了計(jì)算機(jī)網(wǎng)絡(luò)從而達(dá)到數(shù)據(jù)共享后,從系統(tǒng)觀點(diǎn)出發(fā),實(shí)施全局規(guī)劃和設(shè)計(jì)信息系統(tǒng)時(shí),就達(dá)到管理信息系統(tǒng)的階段。MIS開發(fā)技術(shù)在20世紀(jì)90年代有了新的發(fā)展。信息綜合集成Internet/Intranet先進(jìn)的軟件開發(fā)工具多媒體技術(shù)2.2管理信息系統(tǒng)的開發(fā)管理信息系統(tǒng)的開發(fā)方式主要有獨(dú)立開發(fā)方式、委托開發(fā)方式、合作開發(fā)方式、購買現(xiàn)成軟件方式等4種。這4種開發(fā)方式各有優(yōu)點(diǎn)和不足,需要根據(jù)使用單位的技術(shù)力量、資金情況、外部環(huán)境等各種因素進(jìn)行綜合考慮和選擇,也可綜合使用各種開發(fā)方式。管理信息系統(tǒng)的開發(fā)是一個(gè)復(fù)雜的系統(tǒng)工程,它涉及到計(jì)算機(jī)處理技術(shù)、系統(tǒng)理論、組織結(jié)構(gòu)、管理功能、管理知識(shí)等各方面的問題。開發(fā)方法主要有:結(jié)構(gòu)化生命周期開發(fā)方法、原型化、面向?qū)ο蟮拈_發(fā)方法等。1、結(jié)構(gòu)化生命周期開發(fā)方法:它是目前較為流行的MIS開發(fā)方法。其基本思想是用系統(tǒng)的思想和系統(tǒng)工程的方法,按用戶至上的原則,結(jié)構(gòu)化、模塊化地自上而下對生命周期進(jìn)行分析與設(shè)計(jì)。2、原型化:它的應(yīng)用使人們對需求有了漸進(jìn)的認(rèn)識(shí),從而使系統(tǒng)開發(fā)更有針對性。其基本思想是系統(tǒng)開發(fā)人員憑借自己對用戶需求的理解,通過強(qiáng)有力的軟件環(huán)境支持,構(gòu)造出一個(gè)實(shí)在的系統(tǒng)原型,然后與用戶協(xié)商,反復(fù)修改原型直到用戶滿意。3、面向?qū)ο箝_發(fā)方法:面向?qū)ο?OO,ObjectOriented)的系統(tǒng)開發(fā)方法,是近年來受到關(guān)注的一種系統(tǒng)開發(fā)方法。其基本思想是將客觀世界抽象地看成是若干相互聯(lián)系的對象,然后根據(jù)對象和方法的特性研制出一套軟件工具,使之能夠影射為計(jì)算機(jī)軟件系統(tǒng)結(jié)構(gòu)模型和進(jìn)程,從而實(shí)現(xiàn)信息系統(tǒng)的開發(fā)。管理信息系統(tǒng)的開發(fā)過程一般包括系統(tǒng)開發(fā)準(zhǔn)備、系統(tǒng)調(diào)查、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)轉(zhuǎn)換、系統(tǒng)運(yùn)行與維護(hù)、系統(tǒng)評(píng)價(jià)等步驟。根據(jù)開發(fā)系統(tǒng)的大小、復(fù)雜、投入、方式、方法等因素的不同,用戶需要根據(jù)實(shí)際情況進(jìn)行取舍和計(jì)劃。面向?qū)ο蟪绦蛟O(shè)計(jì)及特點(diǎn)[2]3.1面向?qū)ο蟪绦虻漠a(chǎn)生隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,其軟硬件之間的差距越來越大,造成了計(jì)算機(jī)發(fā)展的不均衡,當(dāng)系統(tǒng)較為復(fù)雜時(shí),常規(guī)的軟件工具、技術(shù)和概念已不足以應(yīng)付,從而使軟件開發(fā)陷人了困境,即所謂的“軟件危機(jī)”。盡管軟、硬件發(fā)展的這種差距自計(jì)算機(jī)出現(xiàn)以來始終存在,但進(jìn)入90年代后這種差距更加明顯,在這一背景下,面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)逐步興起,隨著它的不斷完善,逐步進(jìn)入實(shí)用階段而受到廣大軟件開發(fā)者的青睞,吸引了眾多的人士去研究、使用它,使之在軟件工程、人工智能等領(lǐng)域得到了十分廣泛的應(yīng)用。人們把面向?qū)ο蟮某绦蛟O(shè)計(jì)語言看作是計(jì)算機(jī)軟件產(chǎn)業(yè)的一次革命。3.2面向?qū)ο蟪绦蛟O(shè)計(jì)中的對象面向?qū)ο蟪绦蛟O(shè)計(jì)方法是一種智能化的程序設(shè)計(jì)方法。它允許抽象化,模塊化的分層結(jié)構(gòu)。這種設(shè)計(jì)方法與編程技術(shù)不同于標(biāo)準(zhǔn)的過程化程序設(shè)計(jì)。程序設(shè)計(jì)人員不再是單純地從代碼的第一行一直編到最后一行,而是考慮如何創(chuàng)建對象,利用對象來簡化程序設(shè)計(jì)提高代碼的可復(fù)用性。對象可以是應(yīng)用程序的自包含組件。一方面具有私有的功能,供自己使用。另一方面又提供公用的功能,供其他用戶使用。用戶是通過對象的屬性、事件、和方法程序來處理對象的。所謂屬性可以看作一個(gè)對象的性質(zhì),也就是說屬性是描述對象某一性質(zhì)的數(shù)據(jù)。例如一部電話機(jī),它有一定的大小和顏色。當(dāng)把它放在辦公室中,它又有了一定的位置。這些大小、顏色、位置等都是用來描述這部電話機(jī)的,可以看作是電話這一對象的屬性。每一個(gè)對象都可以對一個(gè)被稱為“事件”的動(dòng)作進(jìn)行識(shí)別和響應(yīng)。事件是一種預(yù)先定義好的特定的動(dòng)作,被用戶或系統(tǒng)激活。在多數(shù)情況下,事件是通過用戶的交互作用而產(chǎn)生的。就好像當(dāng)一個(gè)用戶拿起電話的聽筒時(shí)就激發(fā)了一個(gè)事件。同樣,當(dāng)用戶撥打電話時(shí)也激發(fā)了若干事件。方法程序是與對象相關(guān)聯(lián)的過程。是對象能夠執(zhí)行的一個(gè)操作。方法程序是預(yù)先編制好的可以通用的過程,在對對象編程時(shí)可以直接調(diào)用這些過程。事件也可以具有與之相關(guān)的方法程序。3.3從類看面向?qū)ο蟪绦蛟O(shè)計(jì)方法的特點(diǎn)所有對象的屬性、事件、方法程序都是在定義類時(shí)指定的。每一對象都是類的一個(gè)實(shí)例。類則是定義了對象外觀和行為的模板。用餅干和餅干模子之間的關(guān)系來做個(gè)比喻,餅干模子就好像是類,它確定了餅干的特征,如大小和形狀。餅干就好像是對象,它由模板創(chuàng)建。對象一旦被建立就可以改變它的屬性,通過一些動(dòng)作來觸發(fā)事件,在事件中調(diào)用方法程序。類有封裝、子類、繼承的特征。這些特征對提高代碼的可重用性和易維護(hù)性很有幫助。類隱藏了不必要的復(fù)雜性。就好像當(dāng)您在辦公室內(nèi)安裝了一部電話后,您并不需要知道電話內(nèi)部的呼叫原理。您只需要知道拿起聽筒撥打您所需的號(hào)碼就可以與您所找的人通話了。在這里建立通話的復(fù)雜性被隱藏了起來。這些都是面向?qū)ο蟪绦蛟O(shè)計(jì)的封裝性的體現(xiàn)。通過對對象的封裝抽象出對象的特性,使得用戶可以忽略對象內(nèi)部的細(xì)節(jié)集中精力于對象的特性。類的下面可以創(chuàng)建子類。一個(gè)子類可以擁有其父類的全部功能,在此基礎(chǔ)上,可以定制其它您所需要的功能。定義子類是減少代碼的一條途徑??梢韵日业脚c自己所需對象最相似的類,然后對其定制形成子類。當(dāng)對一個(gè)類進(jìn)行改動(dòng)時(shí),改動(dòng)將會(huì)反映到其子類中。這種類與子類的關(guān)系是面向?qū)ο蟪绦蛟O(shè)計(jì)方法中繼承性的體現(xiàn)。多態(tài)性是指對不同對象設(shè)置相似屬性和方法的能力。在一些相關(guān)的類中包含有許多同名的方法程序和屬性,但其中的內(nèi)容可以不同??梢岳眠@種相似性。只要使用一個(gè)單獨(dú)的變量或過程就可以管理一組有這種方法程序或?qū)傩缘膶ο?,這種相似性簡化了編程工作??偟目雌饋砻嫦?qū)ο蟮某绦蛟O(shè)計(jì)的特點(diǎn)有:封裝性、繼承性和多態(tài)性。這些特性使得用面向?qū)ο蟮某绦蛟O(shè)計(jì)的方法更為簡潔,可以對更多的對象進(jìn)行操縱。這適應(yīng)了目前數(shù)據(jù)多樣性的要求。這才使得這種程序設(shè)計(jì)方法有如此強(qiáng)大的生命力。3.4面向?qū)ο蟪绦蛟O(shè)計(jì)方法的基本思想(1)認(rèn)為世界由各種對象組成,任何事物都是對象,是某個(gè)對象類的實(shí)例;復(fù)雜的對象可以由比較簡單的對象以某種方式組成。按照這個(gè)觀點(diǎn),整個(gè)世界也可以從一些最原始的對象開始,經(jīng)過層層組合而成。因此,可以說整個(gè)世界就是一個(gè)最復(fù)雜的對象。(2)把所有對象都劃分成各種對象類,每個(gè)對象類都定義了一組方法,所謂方法實(shí)際上是允許施加于該類對象上的各種操作。對象和傳統(tǒng)的數(shù)據(jù)有本質(zhì)區(qū)別,不是被動(dòng)地等待對它執(zhí)行某種操作;相反,它是進(jìn)行處理的主體,必須發(fā)送消息請求對象執(zhí)行它的某個(gè)操作,處理它的私有數(shù)據(jù),而不能從外界直接對它的私有數(shù)據(jù)進(jìn)行操作。(3)對象之間除了互相傳遞消息的聯(lián)系之外再?zèng)]有其它聯(lián)系。一切局部對象的信息和實(shí)現(xiàn)方法,都被封裝于相應(yīng)的對象類的定義之中。在外界是不可見的、是封裝的。(4)對象類將按照類、子類與父類的關(guān)系構(gòu)成一個(gè)層次結(jié)構(gòu)的系統(tǒng)。在這種層次結(jié)構(gòu)中,上層對象類所具有的性質(zhì)可以被下層對象類繼承,除非在下層對象類中又對相應(yīng)的屬性作了重新描述,這時(shí)將以新屬性為準(zhǔn),也就是說,低層的屬性將屏蔽高層的同名屬性,這種特性稱為對象類之間的屬性繼承關(guān)系,它有助于避免信息冗余,也是實(shí)現(xiàn)軟件重用的重要機(jī)制。四、VFP系統(tǒng)介紹4.1簡介VisualFoxPro(簡稱VFP)是Microsoft公司第一個(gè)帶有Window95標(biāo)志的應(yīng)用軟件。它起源于xBase編程語言系列,該系列中包括有dBASEⅡ和Ⅲ、clipper\FoxBase以及FoxPro。VFP是目前微機(jī)上最優(yōu)秀的數(shù)據(jù)庫管理系統(tǒng)軟件,正如其名稱中冠之的"Visual"一樣,它采用了可視化的、面向?qū)ο蟮某绦蛟O(shè)計(jì)方法,大大簡化了應(yīng)用系統(tǒng)的開發(fā)過程,并提高了系統(tǒng)的模塊性和緊湊性。VFP5.0的版本中提供了大量的系統(tǒng)開發(fā)工具和向?qū)Чぞ撸╓izard),使以往費(fèi)時(shí)費(fèi)力的開發(fā)工作變得輕松自如。這些可視化的設(shè)計(jì)工具免除了開發(fā)者編寫大量程序代碼的工作,甚至在不需要學(xué)習(xí)VFP的有關(guān)命令或函數(shù)的情況下,也能設(shè)計(jì)出功能強(qiáng)大的應(yīng)用系統(tǒng)。聞名不如見面,讓我們趕快進(jìn)入到VFP6.0中,看看它的廬山真面目。4.2VFP的主界面[3]當(dāng)啟動(dòng)VFP6.0程序后,我們將直接進(jìn)入進(jìn)入VFP的系統(tǒng)主界面,可以看到如下的畫面:命令窗口是桌面上的一個(gè)重要部件,在該窗口中,可以直接輸入VFP命令,以立即執(zhí)行,盡管大多數(shù)VFP的命令從菜單中可以訪問,簡單地輸入一個(gè)命令還是很有用的。在VFP6.0的菜單系統(tǒng)中,菜單欄里的菜單選項(xiàng)不是一成不變的。在不同的使用環(huán)境中,菜單選項(xiàng)是不一致的。而且,在打開后菜單里的選項(xiàng)也可能不一樣,這種情況稱為上下文敏感。如打開一個(gè)數(shù)據(jù)表時(shí),系統(tǒng)就會(huì)在主菜單上自動(dòng)添加"表"菜單,供用戶對此數(shù)據(jù)表進(jìn)行追加記錄、編輯數(shù)據(jù)等操作選用;打開一個(gè)報(bào)表時(shí),主菜單上就會(huì)自動(dòng)添上報(bào)表項(xiàng),可以通過"報(bào)表"菜單的選項(xiàng)進(jìn)行修改該報(bào)表的內(nèi)容等工作。

工具欄是Microsoft公司流行軟件的共同特色,對于經(jīng)常使用的功能,通過工具欄調(diào)用比通過菜單調(diào)用要方便快捷得多。默認(rèn)情況下,VFP的"常用"工具欄隨系統(tǒng)啟動(dòng)時(shí)一起打開,顯示在菜單欄下面。除了常用工具欄外,VFP還提供有其它10個(gè)工具欄,分別是:"數(shù)據(jù)庫設(shè)計(jì)器"工具"報(bào)表控件"工具欄"表單控件"工具欄"報(bào)表設(shè)計(jì)器"工具欄"打印預(yù)覽"工具欄"布局設(shè)計(jì)器"工具欄"查詢設(shè)計(jì)器"工具欄"調(diào)色板"工具欄"視圖設(shè)計(jì)器"工具欄"報(bào)表控件"工具欄這些工具欄缺省情況下是隨著某一種類型的文件打開后自動(dòng)打開的。還有一個(gè)"項(xiàng)目管理器"窗口,這可是系統(tǒng)的"控制中心"。在使用VFP管理數(shù)據(jù)庫或開發(fā)一個(gè)數(shù)據(jù)庫應(yīng)用系統(tǒng)時(shí),即使一個(gè)規(guī)模不大的應(yīng)用系統(tǒng),也會(huì)有幾十個(gè)多種類型的文件。如通常的PRG命令文件、DBF表文件、CDX索引文件以及菜單、表單、報(bào)表、位圖等文件,如果沒有一個(gè)有效的管理工具,將會(huì)對開發(fā)工作以及以后的系統(tǒng)維護(hù)帶來很大困難。項(xiàng)目管理器是VFP中該了各種數(shù)據(jù)和對象的主要組織工具,一個(gè)項(xiàng)目是文件、數(shù)據(jù)、文檔和對象的集合,項(xiàng)目文件以擴(kuò)展名PJX及PJT保存,使用項(xiàng)目管理器具有以下優(yōu)點(diǎn):1.項(xiàng)目管理器提供了簡便的、可視的方法來組織和處理表、數(shù)據(jù)庫、表單、報(bào)表、查詢和其它一切文件,在項(xiàng)目管理器中用戶不必使用VFP命令,通過單擊鼠標(biāo)就能實(shí)現(xiàn)數(shù)據(jù)庫、表、表單等許多文件的創(chuàng)建、修改、刪除等操作,快捷方便;2.雙擊應(yīng)用程序組件(表單、菜單、程序等)就可以運(yùn)行或進(jìn)行修改。選取菜單"工具/選項(xiàng)…",在"選項(xiàng)"對話框的"項(xiàng)目"選項(xiàng)卡中有一個(gè)"項(xiàng)目雙擊操作"選項(xiàng)按紐組,用來設(shè)定雙擊鼠標(biāo)視是運(yùn)行還是修改所選定的文件;3.通過項(xiàng)目管理器,直接將應(yīng)用系統(tǒng)的大部分文件編譯成一個(gè)擴(kuò)展名位APP的應(yīng)用文件,便于最終用戶的管理,應(yīng)用系統(tǒng)中所有在運(yùn)行時(shí)不需改變的文件都可以包含在一個(gè)應(yīng)用文件中;4.對于專業(yè)版本的用戶,通過項(xiàng)目管理器將應(yīng)用系統(tǒng)編譯成擴(kuò)展名為EXE的可執(zhí)行文件,使得應(yīng)用系統(tǒng)能夠脫離VFP環(huán)境運(yùn)行。4.3VFP中的數(shù)據(jù)庫和表數(shù)據(jù)庫管理系統(tǒng)中,數(shù)據(jù)與程序是分開存放的,設(shè)計(jì)程序的目的是為了將數(shù)據(jù)加工處理成符合用戶要求的有用信息。VFP的數(shù)據(jù)存儲(chǔ)在表(Table,后綴為DBF)中,但是還有另外的一層名為數(shù)據(jù)庫的外套(后綴為DBC)。DBC中包含有關(guān)于表、索引、關(guān)系、觸發(fā)器等的信息。我們來看看數(shù)據(jù)表中的字段類型:數(shù)據(jù)類型說明字符型字母、數(shù)字型文本貨幣型貨幣單位價(jià)格數(shù)值型整數(shù)或小數(shù)浮點(diǎn)型同"數(shù)值型"日期型年/月/日日期時(shí)間型年/月/日/時(shí)/分/秒雙精度型雙精度數(shù)值整型不帶小數(shù)點(diǎn)的數(shù)值邏輯型真或假備注型不定長的字母數(shù)字文本通用型OLE(對象鏈接與嵌入)字符型(二進(jìn)制)同前述"字符型"相同,但是當(dāng)代碼頁更改時(shí)字符值不變備注型(二進(jìn)制)同前述"備注型"相同,但是當(dāng)代碼頁更改時(shí)備注不變圖書管理系統(tǒng)的實(shí)現(xiàn)5.1系統(tǒng)總體結(jié)構(gòu)1、系統(tǒng)分為三個(gè)主要模塊,分別為錄入模塊(進(jìn)行書目的增加和刪除)、查詢模塊(進(jìn)行書籍的檢索)、借還模塊(對書籍的借還進(jìn)行操作)。結(jié)構(gòu)圖如下:三個(gè)模塊可以通過菜單項(xiàng)來進(jìn)行選擇,各自盡可能用簡潔的界面來表示,以保證不熟悉的操作人員進(jìn)行應(yīng)用。2、另外提供兩個(gè)報(bào)表輸出的接口,輸出書目情況報(bào)表及借閱情況報(bào)表。5.2系統(tǒng)的數(shù)據(jù)組成結(jié)構(gòu)數(shù)據(jù)庫共使用“圖書分類”和“圖書館”兩個(gè)數(shù)據(jù)庫?!皥D書分類”數(shù)據(jù)庫存儲(chǔ)書籍管理有關(guān)分類內(nèi)容,作為下拉列表框的數(shù)據(jù)源,供操作人直接選取,保證書籍錄入過程中的正確性?!皥D書館”數(shù)據(jù)庫下包含“借閱”、“書目”兩個(gè)表,分別用于存儲(chǔ)圖書館中書籍的基本情況和借出情況,表的結(jié)構(gòu)如下:“借閱”表結(jié)構(gòu)字段名類型寬度小數(shù)數(shù)位班級(jí)字符型8無財(cái)產(chǎn)號(hào)字符型6書名字符型40書價(jià)數(shù)值型82借書日期日期型8無還書日期日期型8姓名字符型8“書目”表結(jié)構(gòu)字段名類型寬度小數(shù)數(shù)位書名字符型40無作者字符型40分類號(hào)字符型6財(cái)產(chǎn)號(hào)字符型6出版日期日期型8書價(jià)數(shù)值型82出版社字符型20無入庫邏輯型1內(nèi)容提要備注型45.3錄入模塊1、所完成工作的判斷:由于這個(gè)模塊需要同時(shí)完成錄入和刪除工作,我們?yōu)檫@個(gè)模塊設(shè)置了一個(gè)“選項(xiàng)組”,其中有兩個(gè)按鈕。選項(xiàng)組控件的基類名是OptionGroup。選項(xiàng)組是由兩個(gè)或多個(gè)選項(xiàng)按鈕組成,用戶一次只能選擇其中的一個(gè)選項(xiàng)按鈕。其中,選項(xiàng)按鈕是一個(gè)控件類,類名為OptionButton;而選項(xiàng)組是一個(gè)容器類,類名為OptionButtonGroup[4,6]。在選項(xiàng)組的CLICK事件中添加了如下代碼:ifthisform.optiongroup1.value=2thisform.caption="圖書刪除"thisform.txt財(cái)產(chǎn)號(hào).value=""bo1.visible=.f.bo2.visible=.f.thisform.txt分類號(hào).visible=.t.messagebox("現(xiàn)在進(jìn)行刪除操作!",32,"注意!")thisform.refreshelsethisform.caption="圖書錄入"thisform.txt財(cái)產(chǎn)號(hào).value=""bo1.visible=.t.bo2.visible=.t.thisform.txt分類號(hào).visible=.f.messagebox("現(xiàn)在進(jìn)行錄入操作!",32,"注意!")thisform.refreshendif2、對數(shù)據(jù)處理的操作:這個(gè)模塊所進(jìn)行的數(shù)據(jù)工作主要為表中記錄的添加和刪除,其中需要對操作員輸入的數(shù)據(jù)進(jìn)行比較和修改[3,5]以使數(shù)據(jù)符合表中字段的要求,而添加或刪除記錄的過程中有可能出現(xiàn)錯(cuò)誤的操作,這就需要我們使用到messagebox函數(shù)[6,9]給出提示信息,它們的源代碼如下:docase&&錄入操作casethisform.optiongroup1.value=1sele書目usedat\書目indexdat\書目k=alltrim(upper(str(thisform.txt財(cái)產(chǎn)號(hào).value)))dowhile(6-len(k))>0k="0"-kenddoif!(alltrim(thisform.txt書名.value)=="")appendblankreplace財(cái)產(chǎn)號(hào)withk&&都是添加新記錄中的內(nèi)容thisform.txt書名.setfocus//將光標(biāo)放到該處thisform.refreshelsemessagebox("信息不全,請重輸!",32,"提示信息!")thisform.txt財(cái)產(chǎn)號(hào).value=""&&文本框置空thisform.refresh//刷新表單endif&&刪除操作casethisform.optiongroup1.value=2sele書目SETEXCLUSIVEONusedat\書目indexdat\書目gototoplocatefor財(cái)產(chǎn)號(hào)=alltri(thisform.txt財(cái)產(chǎn)號(hào).value)iffound()delefor財(cái)產(chǎn)號(hào)=alltrim(thisform.txt財(cái)產(chǎn)號(hào).value)pack&&將文本框置空thisform.refreshelsemessagebox("資料不對,請重輸!",32,"提示信息!")thisform.txt書名.setfocusthisform.refreshendifendcase5.4查詢模塊[7,8,9]1、使用語言SQL介紹:SQL是操作數(shù)據(jù)庫的標(biāo)準(zhǔn)語言(事實(shí)上,關(guān)于SQL語言有一個(gè)專門的ANSI標(biāo)準(zhǔn)〕。SQL的主要功能之一是實(shí)現(xiàn)數(shù)據(jù)庫查詢。SQL查詢的句法非常簡單。當(dāng)你執(zhí)行一個(gè)SQL查詢時(shí),通過使用包括邏輯運(yùn)算符的查詢條件,你可以得到一個(gè)記錄列表。此時(shí)查詢結(jié)果是來自一個(gè)或多個(gè)表。而SQL查詢使用的語句為SELECT語句,它的定義如下:SELECT[ALL|DISTINCT][TOPnExpr[PERCENT]]

[Alias.]Select_Item[ASColumn_Name]

[,[Alias.]Select_Item[ASColumn_Name]...]FROM[FORCE]

[DatabaseName!]Table[[AS]Local_Alias]

[[INNER|LEFT[OUTER]|RIGHT[OUTER]|FULL[OUTER]JOIN

DatabaseName!]Table[[AS]Local_Alias]

[ONJoinCondition…]2、模塊具體實(shí)現(xiàn):這個(gè)模塊中,我們允許根據(jù)三種不同分類來進(jìn)行查詢,其中使用了DOCASE語句配合SELECT語句來實(shí)現(xiàn)該功能,它的具體代碼是這樣的:docasecasethisform.optiongroup1.option1.value=1select*fromdat\書目where書名=upper(alltrim(thisform.text1.text))casethisform.optiongroup1.option2.value=1select*fromdat\書目where財(cái)產(chǎn)號(hào)=upper(alltrim(thisform.text1.text))casethisform.optiongroup1.option3.value=1select*fromdat\書目where分類號(hào)=upper(alltrim(thisform.text1.text))endcase5.5借還模塊[9,10,11]該模塊使用了頁框,頁框是一個(gè)容器對象,在頁框上又可以包含多個(gè)頁,頁上又可以包含控制。使用頁框能有效地?cái)U(kuò)展表單的空間。下表是頁框和頁的一些常用屬性:對象屬性說明頁框ActivePage當(dāng)前處于激活狀態(tài)的頁P(yáng)ageCount頁框中包含頁的數(shù)量,缺省為2Pages可以通過順序號(hào)訪問頁的數(shù)組Tabs頁框是否顯示選項(xiàng)卡TabStretch當(dāng)選項(xiàng)卡寬度不夠時(shí),頁標(biāo)題是被剪裁還是分多行顯示TabStyle頁框標(biāo)簽的對齊方式頁Caption顯示在選項(xiàng)卡上的頁標(biāo)題PageOrder本頁在頁框中的第幾號(hào)位置該頁框使用兩頁,名字分別為“借書”、“還書”,所完成操作就是圖書館中書籍的借出與歸還業(yè)務(wù),其中在“借書”頁中可以自動(dòng)計(jì)算出當(dāng)天借書日期和還書日期,實(shí)現(xiàn)該功能的語句在“財(cái)產(chǎn)號(hào)”文本框的“l(fā)ostfocus”事件中,如下:thisform.pageframe1.page1.txt借書日期.value=date()thisform.pageframe1.page1.txt還書日期.value=date()+30其他的操作功能實(shí)現(xiàn)重要是偏重于判斷書籍是否已經(jīng)借出或者是否已經(jīng)超出還書日期,這些功能都需要使用到“書目”表中的“入庫”字段和“借閱”表,調(diào)用這兩個(gè)表的程序如下:sele書目//選擇數(shù)據(jù)環(huán)境中的“書目”表if!((alltrim(thisform.pageframe1.page1.txt姓名.value))=="".or.(alltrim(thisform.pageframe1.page1.txt財(cái)產(chǎn)號(hào).value))=="")replace入庫with.f.select借閱//確定書籍允許借出后進(jìn)入“借閱”進(jìn)行操作usedat\借閱indexdat\借閱appenblank5.6報(bào)表[3,5,6,11]除了屏幕輸出外,打印報(bào)表是用戶獲取信息的另一條重要途徑。VFP向用戶提供了設(shè)計(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論