畢業(yè)論文---基于web技術的外匯牌價自動發(fā)布系統設計_第1頁
已閱讀1頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于Web技術的外匯牌價自動發(fā)布系統設計</p><p>  ——數據的提取、導入及更新</p><p>  2008年06月10日</p><p>  基于Web技術的外匯牌價自動發(fā)布系統設計</p><p>  ——數據的提取、導入及更新</p><p>  摘 要:一般地,一國貨幣匯率穩(wěn)定

2、,能構造良好的國際投資環(huán)境,吸引外資流入,從而使該國國際儲備增加;反之,則導致資本外流,外匯儲備減少.當一國的匯率變動導致出口大于進口時,則外匯收入增加,外匯儲備增加。所以,這一基于Web技術的外匯牌價自動發(fā)布系統的設計則可以為廣大用戶帶來方便。</p><p>  在本設計中,利用VB開發(fā)平臺提供的強大能力,以強大的帶有自動分析結果的編輯器來生成記憶數據,以流行的INI文件格式來儲存記憶庫,以表格方式顯示記憶庫

3、,以強大的ADODB新型數據庫訪問平臺來保存結果,以流行的Access數據庫來保存數據,使系統具備極強的可擴展性和實用性。程序經過驗證可以分析各大銀行的外匯牌價表上的數據,也可以分析其它網頁的數據。</p><p>  在本設計中,主要是能順利實現對某些重要數據的提取、導入、手動更新和自動更新的功能,并且能夠在相應的Led屏上顯示出來,以供廣大用戶作參考。</p><p>  關鍵詞:外匯

4、牌價;VB 6.0;界面設計;INI文件;ADODB;Access 2003</p><p>  The design of the foreign exchange rate auto-issue system based on the Web</p><p>  ——abstracting, inputting and renewing of the data</p>&

5、lt;p>  Abstract: Generally, the stable exchange rate of a country can build a good invested environment and absorb foreign capital people, thus, it can increase its national store for future use. Otherwise, it can cau

6、se capital flight, and reduce its foreign exchange reserve. When the exportation is more than the importation caused by exchange rate changing, both its foreign exchange income and its foreign exchange reserve will incre

7、ase. Therefore, we call to mind that completing this automatic issue s</p><p>  In this design, using the formidable ability which provided by VB development platform, producing the stored data by the automa

8、ted analysis result editor formidable, storing up the memory storehouse by the popular INI document format, demonstrating memory storehouse by sheet, preserving the result through visiting the platform by the formidable

9、ADODB new database, and preserving the data by the popular Access database in order to make the system have the great extendibility and the usability. Th</p><p>  In this design, we mainly can realize to ext

10、ract and induct the important data smoothly, the function of manual renewal and the automatic renewal, and can demonstrate on the corresponding Led screen. This design is just for the user community to make the reference

11、.</p><p>  Keywords: </p><p>  foreign exchange rate;VB 6.0;Interface Design;INI file;ADODB;Access 2003</p><p><b>  目 錄</b></p><p><b>  序 言1<

12、;/b></p><p>  第1章 設計要求及指標2</p><p>  1.1 課題目的和意義2</p><p>  1.2 國內外研究綜述2</p><p>  1.3 主要內容和要求3</p><p>  1.4 設計思路和方案4</p><p>  1.5 預期成果4

13、</p><p>  第2章 基礎技術5</p><p>  2.1 Visaul Basic 6.0簡介5</p><p>  2.1.1 VB的文件操作5</p><p>  2.1.2 主要VB字符串操作函數介紹5</p><p>  2.2 系統主要組件介紹6</p><p&g

14、t;  2.2.1 Inet 控件6</p><p>  2.2.2 RichTextBox控件6</p><p>  2.2.3 MSHFlexGrid 控件6</p><p>  2.2.4 Timer控件7</p><p>  2.3 Access數據庫7</p><p>  2.3.1 數據庫Acc

15、ess簡介7</p><p>  2.3.2 系統開發(fā)采用的主要技術簡介7</p><p>  2.3.3 數據庫記錄的增刪改操作8</p><p>  2.4 VB與Access數據庫的連接8</p><p>  2.5 INI文件9</p><p>  2.5.1 INI文件概述9</p>

16、<p>  2.5.2 INI文件與TXT文件的區(qū)別9</p><p>  第3章 系統的設計與實現10</p><p>  3.1 系統框架的設計10</p><p>  3.1.1 工程流程圖10</p><p>  3.1.2 系統概要設計11</p><p>  3.1.3 工程中的模塊

17、12</p><p>  3.1.4 系統主界面設計與實現14</p><p>  3.2 網頁數據顯示19</p><p>  3.2.1 網頁源文件顯示19</p><p>  3.2.2 數據顯示19</p><p>  3.3 網頁數據編輯19</p><p>  3.4 共

18、性文件和網頁數據的結合19</p><p>  3.5 數據導入到數據庫20</p><p>  3.6 數據的更新20</p><p>  第4章 源代碼分析21</p><p>  4.1 界面設計分析21</p><p>  4.2 依賴項說明21</p><p>  4.2

19、.1 各功能源代碼說明21</p><p>  第5章系統測試23</p><p>  第6章結束語27</p><p><b>  參考文獻28</b></p><p><b>  致 謝29</b></p><p>  基于Web技術的外匯牌價自動發(fā)布系

20、統設計</p><p>  ——數據的提取、導入及更新</p><p><b>  序 言</b></p><p>  在經濟全球化和知識化的今天,世界各國在經濟領域的相互依存度不斷提高。因此,貨幣匯率,尤其是國際經濟交易活動計價和結算貨幣匯率的穩(wěn)定,已構成國際經貿活動和世界經濟發(fā)展的重要因素之一。通常情況下,中小國家貨幣匯率變動僅僅對貿

21、易伙伴國的經濟產生一定影響。而主要發(fā)達國家的貨幣匯率則不然,如美元、歐元和日元等等。這些國家的貨幣一般被國際社會普遍接受,充當國際交易的計價手段、支付手段和儲備手段,所以它們的匯率變動對整個世界經濟影響很大。所以,制作這個基于Web技術的外匯牌價自動發(fā)布系統的設計,使廣大用戶可以更好地了解到每天最新的外匯牌價。</p><p>  計算機是現代科學技術的結晶,也是一種大眾工具,所以計算機知識不僅是一種技能,而且能

22、培養(yǎng)自學能力以及對知識的向往。而外匯牌價自動發(fā)布系統的設計,不僅對于計算機的應用領域有了進一步的研究,而且更加方便了廣大用戶對計算機的工作任務處理,提高了人們了解各外幣之間合理兌換的效率,這給人們帶來了很大的方便。</p><p>  Access的實用性很強,而且功能強大,是當前應用比較廣泛的一個數據庫,本設計就是用它來設計與開發(fā)的一個能夠自動發(fā)布的外匯牌價系統。知識信息時代,經濟的發(fā)展離不開完善的管理,本軟件

23、就是一套給個人用的觀察外匯牌價的軟硬件結合的系統,它可以有效的提取、導入和更新各外匯之間兌換的精確而又最新的數據,不僅是個人或家庭理財的好幫手,而且儲量不大,只需在單機運行就可以,所以給廣大用戶提供很好的服務。</p><p>  希望通過對本設計的介紹,幫助大家建立起一套全面的且符合將來社會發(fā)展潮流的,而且受用終生的能夠自動發(fā)布的外匯牌價系統。</p><p>  第1章 設計要求及指標

24、</p><p>  1.1 課題目的和意義</p><p>  在我國,外匯牌價采取以人民幣直接標價方法,即以一定數量的外幣折合多少人民幣掛牌公布。每一種外幣都公布3種牌價,即外匯買入價、外匯賣出價、現鈔買入價。賣出價是銀行將外幣賣給客戶的牌價,也就是客戶到銀行購匯時的牌價;而買入價則是銀行向客戶買入外匯或外幣時的牌價,它分為現鈔買入價和現匯買入價兩種。</p><p

25、>  “外匯牌價”,即外匯指定銀行外匯兌換掛牌價,是各銀行(指總行、分支行與總行外匯牌價相同)根據中國人民銀行公布的人民幣市場中間價以及國際外匯市場行情,制定的各種外幣與人民幣之間的買賣價格。這種價格在同一天中不變,不同日期則價格可有變動??梢姡巴鈪R牌價”提供的是各銀行制定的、“外匯與人民幣”在某一天的交易價格,它變動較少,變動時間以“日”計算外匯是用外國貨幣表示的,用于國際結算的信用憑證和支付憑證。</p>&l

26、t;p>  銀行外匯牌價是指各外匯指定銀行以中國人民銀行公布的人民幣對美元交易基準匯價為依據,根據國際外匯市場行情,自行套算出當日人民幣對美元、日元、港幣以外各種可自由兌換貨幣的中間價。外匯指定銀行可在中國人民銀行規(guī)定的匯價浮動幅度內,自行制定各掛牌貨幣的外匯買入價、外匯賣出價以及現鈔買入價和現鈔賣出價。這些掛牌價即為銀行外匯牌價。</p><p>  1.2 國內外研究綜述</p><

27、p>  隨著Internet的快速發(fā)展,人們的投資理財方式發(fā)生了巨大的變化,傳統的銀行存款已經不再是人們獲得投資回報的主要方式,人們更多地開始關注外匯的變化。初步建立了符合社會主義市場經濟要求的外匯管理體制,經受了亞洲金融危機的沖擊,促進了國民經濟持續(xù)健康發(fā)展和對外開放水平的進一步提高。由于互聯網所容納的信息量大,內容豐富,信息及時、準確,更有相關信息的全面的介紹與比較,大大地方便了人們的閱讀,因此在短短幾年的時間里,互聯網便濟身

28、于眾多媒體之間,并具有相當一部分媒體人群,人們對它的需求程度越來越大,這也就意味著外匯牌價自動發(fā)布系統的內容將日益增加,對其更新的速度也就提出了越來越高的要求。傳統的發(fā)布方式過程繁瑣,效率低下,已經不能滿足人們日益增長的需求,于是自動發(fā)布系統應運而生,它的出現大大減輕了網站更新維護的工作量,通過網絡數據庫的引用,將網站的更新維護工作簡化到只需錄入文字和上傳圖片,從而使網站的更新速度大大縮短,它將不斷完善外匯牌價自動發(fā)布系統,以滿足當今社

29、會發(fā)展的需求。</p><p>  1.3 主要內容和要求</p><p>  該課題將介紹外匯牌價自動發(fā)布系統的設計過程,采用Visual Basic 6.0作為開發(fā)工具,Access 2003作為后臺數據庫,這是經典的單機版數據庫管理信息系統的開發(fā)組合。在本系統的開發(fā)過程中,主要了解系統的需求分析、設計和實現的完整過程,掌握Access數據庫的基本管理方法,例如創(chuàng)建數據庫、創(chuàng)建表、創(chuàng)建

30、查詢、備份和還原數據庫等。常用SQL語言的使用方法以及Visual Basic數據庫開發(fā)技術,積累有效的數據庫應用系統實戰(zhàn)經驗。</p><p>  采用Visual Basic技術,結合ACCESS數據庫,設計一個基于Web技術的外匯牌價自動發(fā)布系統。為該系統建立數據庫,形成一個包括各國貨幣之間的買賣價格的功能模塊的外匯牌價自動發(fā)布系統。用戶可以根據自己的需要去查看各國貨幣之間的兌換信息(包括人民幣與外幣以及外

31、匯與外匯之間的兌換等等)。</p><p>  1.采用Visual Basic技術,實現界面設計;</p><p>  2.采用ACCESS數據庫技術,實現數據庫結構;</p><p>  3. 通過VB代碼將靜態(tài)甚至動態(tài)網頁的源代碼取下,構成網頁資料。</p><p>  1.4 設計思路和方案</p><p>&

32、lt;b>  1.5 預期成果</b></p><p>  1. 將外匯牌價有效數據部分取下,并在屏幕上顯示;</p><p>  2. 定期實現手動更新或自動更新外匯牌價中各數據的功能;</p><p>  3. 有一定的數據處理功能,并且能夠顯示出歷史時期的數據;</p><p>  4. 不僅是以數據的形式,還能夠以

33、列表或曲線的形式顯示。</p><p><b>  第2章 基礎技術</b></p><p>  2.1 Visaul Basic 6.0簡介</p><p>  2.1.1 VB的文件操作</p><p>  (1)打開文件Open, 語法格式為:</p><p>  Open “文件名”

34、 For 模式 As [#] 文件號 [Len=記錄長度]</p><p> ?。?)關閉文件Close,語法格式為:</p><p>  Close [#]文件號[,[#]文件號]……</p><p>  2.1.2 主要VB字符串操作函數介紹</p><p>  1.InStr函數:尋找字符串 </p><p&g

35、t;  [格式]: P=InStr(X,Y) 指從X第一個字符起找出Y出現的位置 </p><p>  P=InStr(n,X,Y) 從X第n個字符起找出Y出現的位置 </p><p>  2.Mid函數:讀取字符串中間的字符</p><p>  [格式]: P=Mid(n,X,Y) 指其中包含字符串中指定數量的字符</p>&

36、lt;p>  [說明]:(1) n為字符串表達式,從其中返回字符;</p><p>  (2) X是指定字符串n中被取出部分的字符位置,如果X超過n的字符數,Mid返回零長度字符串(””);</p><p> ?。?) Y是要返回的字符數,如果省略或Y超過文本的字符數(包括X處的字符),將返回字符串中從X到尾端的所有字符。</p><p>  3.EOF函數:

37、表明已經到達為隨機或順序Input打開的文件的結尾。</p><p>  [格式]: EOF(filenumber)</p><p>  [說明]: 必要的filenumber參數是一個Integer(整數)值,包含任何有效的文件號。</p><p>  4. LOF 函數:表示用Open語句打開的文件的大小,該大小以字節(jié)為單位。</p><p&

38、gt;  [格式]: LOF(filenumber)</p><p>  [說明]: 必要的filenumber參數是一個Integer(整數)值,包含一個有效的文件號。</p><p>  2.2 系統主要組件介紹</p><p>  2.2.1 Inet 控件</p><p>  Internet Transfer 控件實現了兩種廣泛使用

39、的 Internet 協議: 超文本傳送協議(HTTP) 和文件傳送協議(FTP)。使用 Internet Transfer 控件可以通過 OpenURL 或 Execute 方法連接到任何使用這兩個協議的站點并檢索文件。 </p><p><b>  1.基本操作 </b></p><p>  Internet Transfer 控件的功能依賴于將要使用的協議。由

40、于所支持的兩種協議工作起來不盡相同,所能夠進行的操作就依賴于正在使用的協議。例如,GetHeader 方法只能用于 HTTP(HTML 文檔)協議。 然而,有些過程對兩個協議是通用的。最基本的,如果要使用任何一個協議,則必須將 AccessType 屬性設置為合法的代理服務器。 </p><p>  2.調用 OpenURL 方法 </p><p>  設置完 AccessType 屬性后

41、,最基本的操作就是用合法的 URL 調用 OpenURL 方法。使用 OpenURL 方法時,操作所得到的結果將依賴于目標 URL。</p><p>  2.2.2 RichTextBox控件</p><p>  RichTextBox控件不僅允許輸入和編輯文本,同時還提供了標準 TextBox 控件不具有的且更高級的指定格式的許多功能。它支持 OLE 對象的剪貼板和 OLE 拖/放操作。

42、從剪貼板中粘貼進一個對象時,它被插在當前插入點處。一個對象被拖放到控件時,插入點將跟蹤著鼠標光標的移動,直至鼠標按鈕釋放時該對象即被插入。</p><p>  標準 TextBox 控件用到的所有屬性、事件和方法,RichTextBox 控件幾乎都能支持,例如 MaxLength、 MultiLine、 ScrollBars、 SelLength、 SelStart 和 SelText。對于那些可以使用 Text

43、Box 控件的應用程序,也可以很容易地使用 RichTextBox 控件,且RichTextBox 控件并沒有和標準 TextBox 控件一樣具有 64K 字符容量的限制。</p><p>  2.2.3 MSHFlexGrid 控件</p><p>  MSHFlexGrid控件顯示和操作表格數據。其對包含字符串和圖片的表格提供了靈活的排序、插入數據和格式編排功能??梢栽贛SHFlexG

44、rid中的任何單元放置文本、圖片或這二者。Row和Col屬性指定MSHFlexGrid控件的當前單元。也可以在代碼中指定當前單元,或在運行時使用鼠標或鍵盤改變當前單元。Text屬性引用了當前單元中的文本。如果單元中的文本太長以致不能在單元中一行顯示,將WordWrap屬性置為True將在單元中分多行顯示文本。使用Col和Row屬性確定MSHFlexGrid控件中的行數和列數。使用Band屬性確定MSHFlexGrid中的band風格。&

45、lt;/p><p>  2.2.4 Timer控件</p><p>  Visual Basic提供一個Timer控件,其本質上是一個具有間隔時間設置所觸發(fā)的時間程序,使我們可以將其隱藏在系統中,以某一時間間隔觸發(fā)相關程序。</p><p>  一個Windows應用程序含定時器后,下一步便要做時間間隔的設定。此時可以借助Interval屬性來設定,此屬性欄的單位是千分

46、之一秒,因此,若想設定每秒產生一事件,可在此設定Interval值為1000。</p><p>  注意:對于一般個人電腦而言,定時器的精確度是一秒大約最多只能產生18次事件,因此,為求程序精確,最好Interval值不要少于56。</p><p>  2.3 Access數據庫</p><p>  2.3.1 數據庫Access簡介</p><

47、;p>  本系統采用Access作為后臺數據庫,Access數據庫是微軟公司發(fā)布的Office軟件包中的關系型數據庫軟件,具有功能靈活、界面友好、易于學習操作等特點,擁有廣泛的用戶群體。Access是開發(fā)單機小型數據庫應用系統的理想工具,可以獨立開發(fā)數據庫應用系統,也可以作為后臺數據庫與Visual Basic等高級語言結合使用。</p><p>  Access是文件數據庫,文件的擴展名為mdb。Acce

48、ss數據庫由表、查詢、窗體、報表、數據訪問頁、宏和模塊等數據庫對象組成。</p><p>  2.3.2 系統開發(fā)采用的主要技術簡介</p><p>  Visual Basic提供了比較豐富的數據訪問技術,例如ADO、ODBC、DAO和RDO等。其中ADO是最新的數據庫訪問技術。它是使用更加簡單,而又更加靈活的對象模型。</p><p>  在本設計中,所采用的是

49、Adodb數據訪問對象。這里需要說明的是,aoddb及adodc都是是數據訪問對象,但是aoddb脫離控件,adodc是對控件操作,例如綁定了text,combo,用adodb就比較好,如果是要對多個表操作,只是寫sql語句就可以,而adodc就不行了, 而且用控件綁定不能提高程序員的編程能力。</p><p>  2.3.3 數據庫記錄的增刪改操作</p><p>  數據庫記錄的增刪改

50、操作通過AddNew、Delete、Edit、Update及Refresh方法。它們的語法格式為: 數據控件.記錄集.方法名</p><p><b>  1.增加記錄</b></p><p>  AddNew方法將記錄增加到表格中。增加記錄的操作分為三步:</p><p> ?。?)調用AddNew方法。</p><

51、;p>  (2)給各字段賦值。給字段賦值格式為:Recordset.Fields(“字段名”)=值。</p><p>  (3)調用Update方法,確定所做的添加,將緩沖區(qū)內的數據寫入數據庫。</p><p><b>  2.刪除記錄</b></p><p>  要從記錄集中刪除記錄的操作分為三步:</p><p&g

52、t; ?。?)定位被刪除的記錄使之成為當前記錄。</p><p> ?。?)調用Delete方法。</p><p>  (3)移動記錄指針。</p><p><b>  3.編輯記錄</b></p><p>  數據控件自動提供了修改現有記錄的能力,當直接改變被數據庫所約束控件的內容后,需單擊數據控件對象的任一肩頭來改變

53、當前記錄,確定所做的修改。也可通過程序代碼來修改記錄,使用程序代碼來修改記錄集中的當前記錄的操作分為四步:</p><p> ?。?)定位要修改的記錄使之成為當前記錄。</p><p> ?。?)調用Edit方法。</p><p> ?。?)給各字段賦值。</p><p> ?。?)調用Update方法,確定所做的修改。</p>

54、<p>  2.4 VB與Access數據庫的連接</p><p>  數據庫技術是計算機應用技術中的一個重要組成部分,對于大量的數據,使用數據庫來存儲管理將比通過文件來存儲管理有更高的效率。在VB 6.0中最主要的就是用Active X數據對象ADO(ActiveX Data Objects)這種新的數據庫訪問標準代替了原有的數據訪問對象DAO(Data Access Objects)和遠程數據訪

55、問對象RDO(Remote Date Objects)。可以用VB 6.0中的各種集成的可視化數據庫工具來管理和訪問數據庫,這種創(chuàng)建和訪問結構化數據庫系統的能力給變成帶來了許多方便。</p><p>  在操作數據庫的過程中,結構化查詢語言SQL是一種事實上的工業(yè)標準語言。在SQL語言中,指定要做什么而不是怎么做。不需要告訴SQL如何訪問數據庫,只要告訴SQL需要數據庫做什么。利用SQL可以確切指定想要檢索的記錄

56、以及按什么順序檢索??梢栽谠O計或運行時對數據控件使用SQL語句。</p><p><b>  2.5 INI文件</b></p><p>  2.5.1 INI文件概述</p><p>  a.ini就是保存導入需要的信息的,它是Windows的系統配置文件,統管windows的各項配置,一般用戶就用windows提供的各項圖形化管理界面就可實

57、現相同的配置了,但在某些情況,還是要直接編輯.ini才方便,一般只有很熟悉windows才能去直接編輯。 </p><p>  除了Windows現在很多Windows下面的應用軟件也有.ini文件,用來配置應用軟件以實現不同用戶的要求。一般不用直接編輯這些.ini文件,應用程序的圖形界面即可操作以實現相同的功能。 </p><p>  a.ini是Windows的一種文件標準 ,一般用來

58、保存應用程序的一寫配置參數 。 </p><p>  2.5.2 INI文件與TXT文件的區(qū)別</p><p>  首先,INI文件與TXT文件都是文本文件。TXT就是指純文本文件,一般用于存放些文字,隨便寫數構存取。而INI文件一般用做配置文件,它與特定的應用程序配套的,文件名一樣的。而且它有專門的API來讀取數據,讀寫方便,有特定格式的。</p><p>  I

59、NI文件與TXT文件的讀寫功看起來相仿佛,但區(qū)別也比較大(否則也沒必要單獨分開了),在這里只簡單討論下用插件直接讀寫這兩類文件的區(qū)別:</p><p>  一、讀寫TXT文件可以用以下函數:OpenFile, CloseFile, ReadFile, WriteFile, ReadLine, WriteLine</p><p>  二、讀寫INI可以用以下函數:ReadIni, Write

60、Ini</p><p><b>  三、兩者主要區(qū)別:</b></p><p> ?、買NI文件主要用于對特定變量的讀寫,其文件格式比較固定,要求也相對要嚴格一些。TXT對格式沒有更多的要求,可以隨意讀出和寫入。</p><p> ?、赥XT文件在讀寫操作之前要打開、關閉,而INI直接將文件名參數寫到函數里。</p><p&

61、gt;  第3章 系統的設計與實現</p><p>  3.1 系統框架的設計</p><p>  修改已建的數據庫的方法大致分為:添加、修改和刪除記錄。這三種操作均可由Visual Basic 創(chuàng)建的程序來完成,Visual Basic 資源通常由窗體、模塊和類模塊等構成。在“工程資源管理器”中,可以對窗體、模塊和類模塊進行管理。本章節(jié)將詳細描述實現的具體方法。</p>&

62、lt;p>  3.1.1 工程流程圖</p><p>  圖3-1 本系統流程圖</p><p>  3.1.2 系統概要設計</p><p>  在功能模塊示意圖的樹狀結構中,每一個葉結點都是一個最小的功能模塊。每一個功能模塊都需要針對不同的表完成不同的操作。</p><p>  根據以上分析,該系統考慮將整個系統分解成如圖3-2模

63、塊結構圖:</p><p>  圖3-2 外匯牌價自動發(fā)布系統設計的功能模塊示意圖</p><p>  3.1.3 工程中的模塊</p><p>  模塊可以用來管理全局常量、變量和用戶自定義函數等。在一個工程中,可以有多個模塊同時存在。本工程包含如下幾個模塊:</p><p> ?、拍K一:獲取網頁地址。主要是利用TextBox來存放網頁

64、地址的,可分為用戶選擇網頁地址及通過數據庫讀入網頁源文件兩種方式來獲取。實現的功能模塊圖如圖3-3所示:</p><p>  圖3-3 獲取網頁地址之模塊圖</p><p> ?、颇K二:獲取網頁源文件。主要是利用Inet控件采用Open URL的方法來獲取網頁的源文件。實現的功能模塊圖如圖3-4所示:</p><p>  圖3-4 獲取網頁源文件之模塊圖<

65、;/p><p> ?、悄K三:提取主要信息段。首先利用InStr函數將其主要信息段的首末位置查找出來,然后利用Mid函數就可將我們所需的主要信息段截取下來,并以INI文件的形式將其保存到工程的同一根目錄下。實現的功能模塊圖如圖3-5所示:</p><p>  圖3-5 提取主要信息段之模塊圖</p><p>  ⑷模塊四:提取有效數據。首先建立了一個動態(tài)數組,存放從源

66、文件獲取的有用信息,并且按“行”存放,然后創(chuàng)建一個17行7列的二維表格,以此來完成對有效數據的提取。實現的功能模塊圖如圖3-6所示:</p><p>  圖3-6 提取有效數據之模塊圖</p><p> ?、赡K五:數據導入數據庫。首先打開Access數據庫,建立一個數據庫文件,使之能與數據庫建立連接。然后觸發(fā)Command_Click事件,以此打開包含有效數據的二維表格。最終順利將數據

67、導入到數據庫中。實現的功能模塊圖如圖3-7所示:</p><p>  圖3-7 數據導入數據庫之模塊圖</p><p> ?、誓K六:顯示。打開所建立的數據庫表格,將此表格中所包含的有效數據利用MSHFlexGrid 控件將其顯示在界面上。實現的功能模塊圖如圖3-8所示:</p><p>  圖3-8 顯示之模塊圖</p><p>  3

68、.1.4 系統主界面設計與實現</p><p>  1.手動更新及自動更新的實現</p><p>  在本外匯牌價自動發(fā)布系統的設計中,主界面主要涉及到的控件有Inet 控件、RichTextBox控件、Timer控件和MSHFlexGrid 控件等等。當用戶點擊“運行”按鈕之后,則觸發(fā)GetIt_Click事件。登入運行階段的界面布局如圖3-9所示:</p><p&g

69、t;  圖3-9 開始運行之窗體界面布局</p><p>  實現本設計的主要步驟過程如下:</p><p>  步驟1:獲取網頁地址。主要是判斷該網址是否為某一銀行外匯牌價表的地址,是則繼續(xù)下一流程,若不是則應繼續(xù)判斷。因為所輸入的網址一旦出錯(即不是具體某一銀行所公示的外匯牌價表的地址),則不可能實現我們所需的外匯牌價表中的數據的提取、導入及更新等功能。</p><

70、;p>  步驟2:利用相應的VB代碼來提取該網頁源文件,這里包括了整個網頁的全部源代碼。它的界面布局如圖3-10所示:</p><p>  圖3-10 中行外匯牌價網頁源代碼</p><p>  步驟3:從上一步所獲取的源文件中截取主要信息段,并以INI文件的形式將其保存到工程的同一根目錄下(用戶自定義的即可)。它的界面布局如圖3-11所示:</p><p>

71、;  圖3-11 INI文件保存的主要信息段</p><p>  步驟4:創(chuàng)建一個動態(tài)數組,存放從源文件獲取的有用信息,按“行”存放在該數組中。</p><p>  步驟5:以中國銀行公布的外匯牌價為例,主要是調用Function函數來實現對有效數據的提取,過程中創(chuàng)建一個二維表格。</p><p>  步驟6:用ADODB方式連接數據庫,將存放到此二維數組中的有效

72、數據導入數據庫中。它的界面布局如圖3-12所示:</p><p>  圖3-12 將數據導入數據庫</p><p>  步驟7:打開數據庫,將導入到數據庫中的有效信息完整地顯示在界面上。它的界面布局如圖3-13所示:</p><p>  圖3-13 數據在界面上顯示</p><p>  2.細化手動更新部分</p><

73、p>  對于這一部分,僅僅是實現“手動更新”這一環(huán)節(jié),利用一個webbrowser控件使操作更簡單化、大眾化,更容易被廣大用戶所接受。步驟節(jié)省了,但功能卻同樣實現了。</p><p>  涉及到的步驟大致如下:</p><p>  步驟一: 首先由用戶選擇銀行種類,網址隨即生成。點擊“進入”按鈕,即顯示所選銀行所公示的外匯牌價表的網頁。它的界面布局如圖3-14所示:</p>

74、;<p>  圖3-14 所選銀行網頁的顯示</p><p>  步驟二: 利用鼠標選中我們所需要的有效數據部分,點擊“獲取選中信息的HTML”按鈕,所選部分的源代碼隨即在右側的TextBox中生成,在這里,根據實際情況,用戶可以對它自主進行更改或編輯。它的界面布局如圖3-15所示:</p><p>  圖3-15 有效數據部分源代碼的顯示</p><

75、p>  步驟三: 擊“顯示有效數據信息”按鈕,進入到下一個窗體,再點擊“顯示”按鈕,我們即完成了將數據寫入數組及導入數據庫相對應的表這一過程。它的界面布局如圖3-16所示:</p><p>  圖3-16 數據寫入數組及導入數據庫的顯示</p><p>  3.2 網頁數據顯示</p><p>  3.2.1 網頁源文件顯示</p><p

76、>  本設計利用一個極其有效的控件——RichTextBox控件——用此來實現對所提取的網頁源文件的顯示,使用戶可以清晰地看到各不同銀行所公示的外匯牌價表的相對應的網頁源文件,使之可以針對于不同的有效數據進行恰當的分析。從而更準確及有效地完成對外匯牌價表的設計與開發(fā)。</p><p>  3.2.2 數據顯示</p><p>  針對于數據顯示這一問題,在里采用了另一個功能強大的控件

77、——MSFlexGrid 控件。</p><p>  以下列舉了幾個記錄處理的有效方法:</p><p>  ①Data1.Recordset.Update:Updata 主要是更新數據庫的內容,特別是在新增加一筆記錄時,不過如果是以Data控件開啟數據庫是,可省略此動作。如果使用的是另一個數據庫機制(Data Access Objects,DAOs),則需使用此動作。</p>

78、<p>  ②Data1.Recordset. RecorsCount:可返回數據表格內,記錄的總筆數。</p><p> ?、跠ata1.Recordset.Close:可關閉數據表格,不過通常在執(zhí)行[End]指令,或是[Unlead]窗體時,系統都將自動關閉數據表格。</p><p>  3.3 網頁數據編輯</p><p>  將各不同銀行所公示

79、的外匯牌價的相對應的網頁信息獲取到RichTextBox中進行編輯,在必要的時候可以對它們進行添加、刪除以及修改的操作,以便更快捷地完成對有效數據的提取和編輯。對于網頁數據編輯這一部分,我們所要完成的目的是將有效信息保留下來,使能夠符合共性文件。</p><p>  3.4 共性文件和網頁數據的結合</p><p>  要想實現網頁共性文件,必須提取到有用信息。所以,在這里,必須對各個不同

80、銀行所公示的外匯牌價表的相對應的網頁信息進行合理地分析,利用“最佳查找法”找出它們之間的共同特性,而這一共性必須是在外匯牌價表網頁中所有用數據的周圍進行查找,否則,共性再多再大也都屬于無效信息,從而形成我們所需要的共性文件,并以ini文件的形式存放。</p><p>  3.5 數據導入到數據庫</p><p>  啟動Access數據庫,建立一個數據庫文件。</p><

81、;p><b>  與數據庫建立連接。</b></p><p>  觸發(fā)Command_Click事件,以此打開包含有效數據的二維表格。</p><p>  有關打開Access數據庫的步驟大致如下:</p><p>  添加microsoft ADO control 6.0部件。 </p><p>  將剛加入的部

82、件放在窗體上,然后打開其屬性connectionstring,在彈開的“通用”選項卡中選下面的生成。 </p><p> ?、墼谛聫棾龅膶υ捒蛑羞x擇Microsof Jet OLEDB 4.0 provider,然后點擊“下一步”,在新打開的對話框中連接到 “數據庫設計.mdb"文件,然后一直點擊“確定”。 ④打開Adodc1的屬性:RecordSource,在打開的記錄源選項卡的命令類型里選擇2-a

83、dCmdTable,然后面下面的表里選擇數據庫里的表,然后一路確定回去。 ⑤新建一個文本,并在文本屬性的datasource中選擇Adodc1,然后在datafield中選擇要顯示的字段。 </p><p><b>  3.6 數據的更新</b></p><p>  有關Access數據庫中數據的更新,首先要到數據庫中查找關鍵字段是否存在,比如,是否都含有“英鎊”、

84、“港幣”、“美元”、“瑞士法郎”等等。如果有,即可以立即更新;否則,先要在數據庫中添加了相應的關鍵字段才可以進行下面的對數據的更新操作。</p><p>  Updata用于更新數據庫表中的數據。</p><p>  修改操作語句的一般格式為:</p><p>  Updata <表名></p><p>  SET<列名&g

85、t;=<表達式>[,<列名>=<表達式>]……</p><p>  [WHERE<條件>];</p><p>  其功能是修改指定表中滿足WHERE子句條件的元組。其中SET子句給出<表達式>的值用語取代相應的屬性列值。如果省略WHERE子句,則表示要修改表中的所有元組。</p><p>  第4章 源代

86、碼分析</p><p>  4.1 界面設計分析</p><p>  本外匯牌價表的設計界面共由四個CommandButton控件,兩個Inet控件,兩個Frame控件,一個Lable控件、一個TextBox控件,一個RichTextBox控件,一個MSHFlexGrid 控件以及一個Timer控件組成。</p><p>  四個CommandButton控件所實現

87、的功能分別為實現手動更新、實現自動更新及將自動更新暫停以及退出;兩個Inet控件用于連接到任何使用HTTP協議和文件傳送協議這兩個協議的站點并檢索文件;TextBox控件用于供用戶選擇不同銀行所公示外匯牌價表所對應的網頁地址或者通過數據庫讀入網頁源文件;RichTextBox控件則用于顯示所提取的網頁源文件;MSHFlexGrid 控件用于對所提取的有效數據的顯示;Timer控件用于在指定的時間內執(zhí)行對有效數據的更新。</p>

88、;<p><b>  4.2 依賴項說明</b></p><p>  4.2.1 各功能源代碼說明</p><p>  //對“自動更新”按鈕的設定,觸發(fā)Click事件的發(fā)生//</p><p>  Private Sub Command1_Click() </p><p>  Dim n

89、 As String</p><p>  Timer1.Enabled = True</p><p>  n = InputBox("請輸入自動更新的時間周期!以小時為單位", "獲取時間", 0.5)</p><p>  Timer1.Interval = n * 60 * 60</p><p>  

90、End Sub </p><p>  //一個二維表格,完成信息//</p><p>  Dim data(17, 7) As String </p><p>  Strsource = Inet1.OpenURL(URL.Text)</p><p>  HTML.T

91、ext = Strsource</p><p>  //查找主要信息段開始和末尾的位置//</p><p>  p = InStr(Strsource, "border-bottom:")</p><p>  q = InStr(Strsource, "免責聲明") </p><

92、p>  //將主要信息段內容有效地提取出來//</p><p>  strtemp = Mid(Strsource, p, q - p) </p><p>  //將指定文件內容(即截取到的主要信息段)打開,以供輸出數據//</p><p>  Open "E:\季麗娜 畢業(yè)設計\工程數據的提取、導入及更新\str.txt&

93、quot; For Output As #1</p><p>  If LOF(1) = 0 Then</p><p>  Print #1, strtemp</p><p>  End If

94、 </p><p>  //將完成信息寫入數據庫//</p><p>  For i = 1 To 17</p><p>  rs.Open "select * from info where 貨幣名稱='" + data(i, 1) + "' ", cnn, 1, 3</p><

95、p>  If rs.RecordCount > 0 Then</p><p><b>  ……</b></p><p><b>  rs.Update</b></p><p><b>  Else</b></p><p><b>  rs.AddNew&l

96、t;/b></p><p><b>  ……</b></p><p><b>  rs.Update</b></p><p>  End If </p><p>  //提取完成信息//</p>&l

97、t;p>  m = InStr(ystr, """>")</p><p>  n = InStr(ystr, "</")</p><p>  If m <> 0 And n <> 0 And n > m Then</p><p>  getinfo = Mid

98、(ystr, m + 2, n - m - 2)</p><p><b>  End If</b></p><p>  End Function</p><p><b>  系統測試</b></p><p>  它按開發(fā)階段可以分為單元測試、集成測試、系統測試,確認測試、驗收測試五部分。下面就針對這

99、個外匯牌價表的設計分階段進行介紹:</p><p> ?、艈卧獪y試:它主要是完成對最小的軟件設計單元——軟件構件或模塊的驗證工作。使用構件級設計描述作為指南,對重要的控制路徑進行測試以發(fā)現模塊內部的錯誤。測試的相關復雜度和發(fā)現的錯誤是由單元測試的約束范圍來限定的。</p><p> ?、偈紫仁菍Λ@取網頁源文件部分的測試。在這里,我用了多種網頁去對它進行測試,如中國銀行、工商銀行、中國建設銀

100、行以及學校主頁等等。當將網頁地址輸入到名為“URL”的文本框,并點擊“運行”按鈕之后,界面上將會顯示出與我們所輸入的網頁地址相對應的網頁源文件。測試結果的界面布局如圖5-1及圖5-2所示:</p><p>  圖5-1 獲取中行網頁源文件之試結果圖</p><p>  圖5-2 獲取學校主頁源文件之測試結果圖</p><p> ?、谄浯问菍厝≈饕畔⒍尾糠值?/p>

101、測試,這也是我們對于整個測試最為關鍵的部分。只有很好的將主要信息段部分成功得提取出來,我們才能夠正常的進行以下步驟的操作。以中國銀行的外匯牌價表為例,可以通過多種方法將我們所需的含有有效信息的信息段截取出來。但是,我們只有采用“最佳截取法”才是最有效也是最可行的方法。通過觀察,在整個網頁源文件中,只包含唯一一個字符串“border-bottom”和唯一一個字符串“免責聲明”,只要利用InStr函數將其首末位置查找出來,然后利用Mid函數

102、就可輕松將所需的主要信息段截取下來。并以INI文件的形式將其保存到工程的同一根目錄下。測試結果的界面布局如圖5-3所示:</p><p>  圖5-3 截取主要信息段之測試結果圖</p><p> ?、墼俅问菍Χ〞r器更新的測試。由于定時器在程序執(zhí)行時將不會顯示在視窗內,所以定時器的位置將不影響程序的執(zhí)行??梢?,只要將定時器建立完成后,程序便將具有定時器的功能。定時器在這里用于以小時為單位

103、,間隔一定時間后對各有效數據進行更新。測試結果的界面布局如圖5-4所示:</p><p>  圖5-4 對定時器更新之試結果圖</p><p> ?、芙又菍μ崛∮行祿糠值臏y試。在這里,首先建立了一個動態(tài)數組,存放從源文件獲取的有用信息,按“行”存放在該數組中。然后創(chuàng)建一個二維表格,以此來完成對有效數據的提取。既然已經以“行”為單位了,再根據我們對這每一行的觀察,可以發(fā)現,在每一個有

104、效數據的首末位置都是由“<”和“</td>”構成的,只要將它們兩個的位置確定了,再利用Mid函數,那么,其中包含字符串中指定數量的字符也就被提取出來了,也即順利完成了對有效數據的提取。測試結果的界面布局如圖5-5所示:</p><p>  圖5-5  提取有效數據之試結果圖</p><p>  ⑵集成測試:它的目標是通過了單元測試的模塊拿來構造一個設計中所描述的程序結構。

105、通常存在進行非增量集成的傾向,也即使用“一步到位”的方法來構造程序。整個程序作為一個整體來進行測試,其后的結果通常是混亂不堪。會遇到許許多多的錯誤,錯誤的修正也是非常困難的。一旦這些錯誤被修正之后,就馬上會有新的錯誤出現,這個過程會繼續(xù)下去,而且看上去似乎是個無限循環(huán)。</p><p>  增量集成是一步到為的方法的對立面。程序先分成消毒部分進行構造和測試,這個時候錯誤比較容易分離和修正,接口也更容易進行徹底地測

106、試,而且也可以使用一種系統化的測試方法。</p><p> ?、谴_認測試:當集成測試結束的時候,軟件就全部組裝到一起了,接口錯誤已經被發(fā)現并修正了,而軟件測試的最后一部分——確認測試——就可以開始了。確認可以通過多種方式來定義,但是,一個簡單的定義是當軟件可以按照用戶合理的期望的方式來工作的時候,確認即算成功。</p><p>  ⑷系統測試:它事實上是對整個基于計算機的系統進行考驗的一系

107、列不同測試。雖然每一個測試都有不同的目的,但所有測試都是為了整個系統成分能正常地集成到一起并且完成分配的功能?;谟嬎銠C系統的有用的系統測試類型大致有恢復測試、安全測試、應力測試和性能測試。</p><p>  整個系統若能夠正常通過測試,那么,測試結果的界面布局如圖5-6所示:</p><p>  圖5-6 系統測試結果圖</p><p><b>  

108、結束語</b></p><p>  經過這段時間的畢業(yè)設計,我覺得開發(fā)一個系統并不容易,從一開始的調查到設計花了很多時間和精力,對于外匯牌價表的設計,必須對各銀行外幣之間兌換的匯率有了一定的了解,掌握數據庫的基本管理方法以及所選開發(fā)工具的基本編程方法以及編程語言等。但起初,我對SQL語句的使用方法以及Visual Basic數據庫開發(fā)技術還不太了解,因此在開發(fā)過程中遇到了許多問題,但在導師的悉心指導下

109、這些都有待進一步改善。</p><p>  最初,就像上面所說的自己對開發(fā)環(huán)境的學藝不精,所以一開始感覺摸不著頭緒,根本不知道從何下手,所以只有匆匆忙忙地從圖書館借來大量關于VB和ACCESS方面的書籍,希望通過參閱各種關于運用VB和ACCESS開發(fā)系統的書籍充分了解系統建設的基本流程、總體布局設計以及系統開發(fā)前所需的一些準備工作,做到心中有數。然而,由于實在是經驗有限,雖然書本上介紹了許多這方面的知識和操作方法

110、,但是畢竟還是限于理論方面的,所以理解起來比較困難。幸好有同學在這方面比較擅長,所以就向她他們請教了一些關于這方面的實際操作流程。反復幾次后,我在以前基礎上加深了概念,至少知道整個設計流程和具體實際操作。所以,接下來我就按先前了解的那樣,將自己以前做的系統的資料找出來,結合實際情況進行系統分析與總體設計。其實這兩個階段是非常重要的。</p><p>  針對于這一外匯牌價自動發(fā)布系統的設計,我認為雖然整體效果基本

111、實現了,但是從結果可以看出,此設計對數據的分析不強,僅僅是做到了對一些有效數據的提取和顯示。如果對它們有一定的分析和綜合概括的話,我想這個設計可能會更完善??傊?,對于本設計,它潛藏著很大的發(fā)展前景。</p><p>  通過本次的設計,我的最大收獲并不是掌握這幾門開發(fā)工具的應用, 而是讓我學會了設計系統的思維方法及許多軟件開發(fā)的經驗和技巧,對數據庫的知識有了深一步的了解和研究,而且讓我學到了團隊的合作精神和整體的

112、協調配合能力,本次設計對我來說意義頗大。</p><p><b>  參考文獻</b></p><p>  [1] 李敏業(yè), 王穎. Visual Basic + Access數據庫應用實例完全解析[M]. 北京: 人民郵電出版社, 2006. </p><p>  [2] 張玉彬, 謝康林. 測試用例的設計和復用技術[J]. 計算機應用與軟

溫馨提示

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

評論

0/150

提交評論