cs應(yīng)用程序平臺(tái)多語種技術(shù)應(yīng)用研究——畢業(yè)論文_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  C/S應(yīng)用程序平臺(tái)多語種技術(shù)應(yīng)用研究</p><p><b>  摘 要</b></p><p>  C/S應(yīng)用程序平臺(tái)多語種技術(shù)是一種基于C/S應(yīng)用技術(shù)結(jié)構(gòu)平臺(tái)的關(guān)于多語種的轉(zhuǎn)換和翻譯技術(shù)。本設(shè)計(jì)基于Visual Studio.Net集成開發(fā)環(huán)境,采用SQL Server2000進(jìn)行數(shù)據(jù)庫后臺(tái)開發(fā)。通過采用數(shù)據(jù)字典實(shí)現(xiàn)應(yīng)用系統(tǒng)的靜態(tài)文本轉(zhuǎn)換;通

2、過使用Visual Studio.Net上的默認(rèn)控件來實(shí)現(xiàn)提示信息的多語種轉(zhuǎn)換;采用JavaScript解決報(bào)警信息的多語種轉(zhuǎn)換。能夠在軟件開發(fā)工具和開發(fā)平臺(tái)中能夠自由進(jìn)行多語種切換,增強(qiáng)軟件開發(fā)工具和開發(fā)平臺(tái)的使用性與通用性。本設(shè)計(jì)采用.NET技術(shù),跨平臺(tái)性強(qiáng),運(yùn)行速度快,用戶可以快速、方便的進(jìn)行操作,達(dá)到了預(yù)期效果。</p><p>  關(guān)鍵詞: 多語種;數(shù)據(jù)字典;腳本語言</p><p&

3、gt;  The Multilingual Language Technology of C / S</p><p>  Applications Platform</p><p><b>  Abstract</b></p><p>  The multilingual language conversion of C / S applica

4、tions platform is a sort of technology that is based on C / S applications in the platform of the structure on the multilingual conversion and translation. It is developed with visual studio.net integrated development to

5、ols as ground-designed and SQL Server 2000 database as development background. The static text conversion is achieved with the use of data dictionary application system. The message of the multilingual conversion is comp

6、leted w</p><p>  Key words: multilingual language; data dictionary; JavaScript</p><p><b>  目錄</b></p><p><b>  論文總頁數(shù):23頁</b></p><p><b>  1.

7、引言1</b></p><p>  1.1設(shè)計(jì)背景1</p><p>  1.2設(shè)計(jì)意義1</p><p>  1.3設(shè)計(jì)方法1</p><p><b>  2.需求分析2</b></p><p>  2.1實(shí)際需求2</p><p> 

8、 2.2功能需求2</p><p>  3.數(shù)據(jù)庫分析及設(shè)計(jì)2</p><p>  3.1數(shù)據(jù)字典表2</p><p>  3.2報(bào)表信息表3</p><p><b>  4.系統(tǒng)設(shè)計(jì)3</b></p><p>  4.1功能分析3</p><p>

9、  4.2實(shí)現(xiàn)流程4</p><p>  4.3模塊設(shè)計(jì)5</p><p>  4.4詳細(xì)設(shè)計(jì)5</p><p>  4.4.1靜態(tài)文本中的多語種轉(zhuǎn)換5</p><p>  4.4.2報(bào)警、提示、警告信息的多語種轉(zhuǎn)換8</p><p>  4.4.3報(bào)表系統(tǒng)前臺(tái)頁面表項(xiàng)的動(dòng)態(tài)轉(zhuǎn)換12</p

10、><p>  5.系統(tǒng)測試16</p><p>  5.1遇到的問題16</p><p>  5.2解決問題的方法16</p><p><b>  結(jié) 論16</b></p><p><b>  參考文獻(xiàn)17</b></p><p>&

11、lt;b>  聲 明19</b></p><p><b>  引言</b></p><p><b>  設(shè)計(jì)背景</b></p><p>  基于C/S應(yīng)用程序平臺(tái)的多語種技術(shù)是指在一個(gè)應(yīng)用程序中定義一個(gè)按鈕,能夠使用戶在程序中方便有效的實(shí)現(xiàn)語種的切換。隨著與外國專家學(xué)者交流機(jī)會(huì)的增多,也由于雙方

12、文化和語言的差異,導(dǎo)致了雙方嚴(yán)重的溝通障礙。而且在國內(nèi)的范圍來說,對(duì)于多語種的研究,從文獻(xiàn)上看,新疆和內(nèi)蒙古大學(xué)的教授們?cè)诿褡逭Z言的多語種技術(shù)在計(jì)算機(jī)平臺(tái)的應(yīng)用走在了中國大學(xué)的前面,研制出了蒙、藏、維、哈、朝、漢相兼容的應(yīng)用系統(tǒng),成功實(shí)現(xiàn)在同一計(jì)算機(jī)平臺(tái)上的多語種轉(zhuǎn)換處理[1]。在中國,許多軟件都在一定程度上實(shí)現(xiàn)語種的切換。 </p><p>  在國外,微軟在推出不同時(shí)期各個(gè)操作系統(tǒng)中,都成功的進(jìn)行了多語種的處

13、理和切換。</p><p><b>  設(shè)計(jì)意義</b></p><p>  近幾年由于發(fā)達(dá)國家普遍把應(yīng)用軟件外包給國外那些有著雄厚技術(shù)能力以及廉價(jià)的人力資源的軟件公司,進(jìn)行應(yīng)用軟件的開發(fā)和設(shè)計(jì)。但是由于許多國家在教育、語言、經(jīng)濟(jì)條件等基本國情的制約下,既懂技術(shù)又懂外語的科學(xué)人才嚴(yán)重缺乏,而導(dǎo)致了軟件的開發(fā)工具和開發(fā)平臺(tái)在世界上通用性不強(qiáng),假如能夠在軟件的開發(fā)工具和開

14、發(fā)平臺(tái)中能夠自由的進(jìn)行多語種的切換,那么就會(huì)使開發(fā)平臺(tái)和開發(fā)工具在國際上具有通用性和普及性。</p><p>  在面向?qū)ο筌浖杏性S多可以通用的模塊,假如能夠用多語種計(jì)算機(jī)技術(shù)讓它在同一個(gè)平臺(tái)上進(jìn)行多語種的切換,那么它的通用性將會(huì)打破國家、地域、語言文化的界限,在國際上的通用性會(huì)更大。</p><p>  現(xiàn)在的應(yīng)用程序中,像酒店管理系統(tǒng)、餐廳點(diǎn)菜系統(tǒng)等都是C/S結(jié)構(gòu),如果能在這些系統(tǒng)中

15、實(shí)行多語種化,那么就能在未來的軟件設(shè)計(jì)和開發(fā)中體現(xiàn)出更多人性化的需求因素。</p><p><b>  設(shè)計(jì)方法</b></p><p>  本設(shè)計(jì)采用ASP.NET(C#)技術(shù)進(jìn)行開發(fā)。ASP.NET技術(shù)相對(duì)于傳統(tǒng)的ASP技術(shù)有著絕對(duì)的優(yōu)勢,不但減化了程序員的代碼量,而且對(duì)程序員開發(fā)WEB應(yīng)用程序提供了完備的技術(shù)支持。.NET的跨平臺(tái)性,也使得開發(fā)出來的WEB應(yīng)用程

16、序具有更好的擴(kuò)展性,能夠運(yùn)行于不同的操作平臺(tái)之下。由于SQL Server2000數(shù)據(jù)庫與.NET同屬微軟產(chǎn)品,對(duì)接口、性能支持應(yīng)該會(huì)比其它數(shù)據(jù)庫達(dá)到更好的效果,所以后臺(tái)數(shù)據(jù)庫采用SQL Server2000 數(shù)據(jù)庫。</p><p><b>  需求分析</b></p><p><b>  實(shí)際需求</b></p><p&g

17、t;  隨著中國加入WTO,國家的軟件業(yè)正在向規(guī)范化、產(chǎn)業(yè)化、國際化的方向發(fā)展。在許多高新技術(shù)進(jìn)入中國的同時(shí),在同那些優(yōu)秀的外國專家交流溝通過程中發(fā)現(xiàn)一些小問題,比如在一些應(yīng)用系統(tǒng)平臺(tái)上,編寫的應(yīng)用程序?yàn)榱藵M足中國人自己的需求,而采用的漢語的表示方法,可是在工作和學(xué)習(xí)的過程中,難免會(huì)與外國專家打交道,計(jì)算機(jī)應(yīng)用技術(shù)是一門新興的技術(shù),在中國這個(gè)大環(huán)境下,合格的計(jì)算機(jī)翻譯可以說幾乎沒有。大多數(shù)技術(shù)人員、軟件程序員都存在外語能力嚴(yán)重不足的缺點(diǎn)

18、,將在很長的時(shí)間里成為IT界發(fā)展的初級(jí)階段。</p><p><b>  功能需求</b></p><p>  基于C/S應(yīng)用平臺(tái)上的多語種轉(zhuǎn)換技術(shù)能夠在系統(tǒng)的前臺(tái)定義一個(gè)語言按鈕,通過調(diào)用后臺(tái)數(shù)據(jù)庫中數(shù)據(jù)字典的語種項(xiàng),來進(jìn)行語種的轉(zhuǎn)換。而且使用時(shí)必須保證較短的請(qǐng)求響應(yīng)時(shí)間。當(dāng)需要增加一些新的功能時(shí),本系統(tǒng)能進(jìn)行語種的添加和升級(jí)。</p><p&g

19、t;<b>  數(shù)據(jù)庫分析及設(shè)計(jì)</b></p><p><b>  數(shù)據(jù)字典表</b></p><p>  數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。根據(jù)需求分析及模塊劃分,設(shè)計(jì)數(shù)據(jù)字典表結(jié)構(gòu)如下。</p><p>  用戶信息表對(duì)應(yīng)數(shù)據(jù)庫中的數(shù)據(jù)字典表,其基本信息有:ID、Chine

20、seWord、EnglishWord等,具體設(shè)計(jì)如表3-1所示。</p><p>  表3-1 數(shù)據(jù)字典表</p><p><b>  報(bào)表信息表</b></p><p>  報(bào)表信息表對(duì)應(yīng)數(shù)據(jù)庫中表dbo.ToyExp,報(bào)表信息表基本信息,如:cToyId、vToyName、vToyDescription等,具體設(shè)計(jì)如表3-2所示。</

21、p><p>  表3-2 報(bào)表信息表</p><p><b>  系統(tǒng)設(shè)計(jì)</b></p><p><b>  功能分析</b></p><p>  本設(shè)計(jì)實(shí)現(xiàn)的主要功能有三個(gè):靜態(tài)文本中的多語種轉(zhuǎn)換,它分為單詞和語句;在系統(tǒng)的消息中進(jìn)行多語種的轉(zhuǎn)換,系統(tǒng)消息分為警告、報(bào)警、提示等;報(bào)表系統(tǒng)前臺(tái)頁面表項(xiàng)

22、的動(dòng)態(tài)轉(zhuǎn)換。 </p><p>  設(shè)計(jì)分為三個(gè)部分:首先在C/S應(yīng)用程序的按鈕上實(shí)現(xiàn)靜態(tài)文本的多語種轉(zhuǎn)換;然后通過設(shè)計(jì)一個(gè)數(shù)據(jù)字典實(shí)現(xiàn)動(dòng)態(tài)的轉(zhuǎn)換;最后用一個(gè)報(bào)表系統(tǒng)的提交頁面實(shí)現(xiàn)頁面的多語種轉(zhuǎn)換。</p><p>  設(shè)計(jì)的主要設(shè)計(jì)思路為“三層結(jié)構(gòu)”,如圖4-1所示,具體描述如下。</p><p>  表現(xiàn)層:位于最外層(最上層),離用戶最近。用于顯示數(shù)據(jù)和接收用

23、戶輸入的數(shù)據(jù),為用戶提供一種交互式操作的界面。</p><p>  中間業(yè)務(wù)層:負(fù)責(zé)處理用戶輸入的信息,或者是將這些信息發(fā)送給數(shù)據(jù)訪問層進(jìn)行保存,或者是調(diào)用數(shù)據(jù)訪問層中的函數(shù)再次讀出這些數(shù)據(jù)。中間業(yè)務(wù)層也可以包括一些對(duì)“商業(yè)邏輯”描述代碼在里面。</p><p>  數(shù)據(jù)訪問層:僅實(shí)現(xiàn)對(duì)數(shù)據(jù)的保存和讀取操作。數(shù)據(jù)訪問,可以訪問數(shù)據(jù)庫系統(tǒng)、二進(jìn)制文件、文本文檔或是XML文檔。</p&g

24、t;<p><b>  圖4-1三層結(jié)構(gòu)圖</b></p><p><b>  實(shí)現(xiàn)流程</b></p><p>  本設(shè)計(jì)的系統(tǒng)實(shí)現(xiàn)流程如圖4-2所示,通過一個(gè)定義的前臺(tái)按鈕,在建立SQL連接中訪問ADO接口,再進(jìn)入數(shù)據(jù)庫訪問數(shù)據(jù)字典,然后根據(jù)需求的不同,訪問數(shù)據(jù)項(xiàng)。</p><p><b>  

25、圖4-2 流程圖</b></p><p>  在實(shí)現(xiàn)過程中所需的軟硬件環(huán)境如下。</p><p><b>  硬件條件</b></p><p>  個(gè)人PC機(jī)主要配置:</p><p><b>  CPU:奔騰5以上</b></p><p><b>  

26、內(nèi)存:256M以上</b></p><p><b>  軟件條件</b></p><p>  Windows Server 2003系統(tǒng)</p><p>  Visual Studio 2003集成開發(fā)工具</p><p>  SQL Server 2000簡體個(gè)人版</p><p>

27、;<b>  IIS2.0以上</b></p><p>  通過前面的分析,本設(shè)計(jì)開發(fā)一個(gè)基于Visual Studio.net軟件平臺(tái)的多語種轉(zhuǎn)換模塊,實(shí)現(xiàn)靜態(tài)文本中的多語種轉(zhuǎn)換、系統(tǒng)的消息中進(jìn)行多語種的轉(zhuǎn)換、在生成報(bào)表的過程中多語種的轉(zhuǎn)換的功能。在設(shè)計(jì)與開發(fā)中,重點(diǎn)關(guān)注靜態(tài)文本中的多語種轉(zhuǎn)換、系統(tǒng)的消息中進(jìn)行多語種的轉(zhuǎn)換。探討既能實(shí)現(xiàn)基本的單詞轉(zhuǎn)換,又能實(shí)現(xiàn)可靠的語意轉(zhuǎn)換的實(shí)現(xiàn)方法。&l

28、t;/p><p><b>  模塊設(shè)計(jì)</b></p><p>  本設(shè)計(jì)由三個(gè)主要模塊組成。即靜態(tài)的多語種轉(zhuǎn)換、動(dòng)態(tài)的多語種轉(zhuǎn)換、報(bào)表系統(tǒng)前臺(tái)頁面表項(xiàng)的動(dòng)態(tài)轉(zhuǎn)換。具體的模塊設(shè)計(jì)如圖4-3所示。</p><p>  圖4-3 模塊設(shè)計(jì)圖</p><p><b>  詳細(xì)設(shè)計(jì)</b></p>

29、<p>  靜態(tài)文本中的多語種轉(zhuǎn)換 </p><p>  靜態(tài)文本的多語種轉(zhuǎn)換分為單詞和語句,本設(shè)計(jì)重點(diǎn)討論單詞在靜態(tài)文本中的轉(zhuǎn)換。</p><p>  下面以一個(gè)簡單的播放程序?yàn)槔ㄈ鐖D4-4所示)來說明如何在C/S應(yīng)用系統(tǒng)中進(jìn)行單詞的靜態(tài)轉(zhuǎn)換。</p><p>  圖4-4 播放程序圖</p><p>  通過在說明這個(gè)選項(xiàng)中

30、添加一個(gè)功能按鈕來實(shí)現(xiàn)語種的轉(zhuǎn)換如圖4-5所示。</p><p>  圖4-5 播放程序中的功能按紐</p><p>  在選項(xiàng)中點(diǎn)擊按鈕“英語”或“中文”時(shí),就會(huì)把靜態(tài)文本中的語種轉(zhuǎn)換過來,效果如圖4-6所示。</p><p>  圖4-6 轉(zhuǎn)換后的語種圖</p><p>  具體實(shí)現(xiàn)代碼如下所示。</p><p>

31、  private void menuItem2_Click(object sender, System.EventArgs e) //英文控制按紐</p><p><b>  {</b></p><p>  menuFile.Text="File";</p><p>  menuOpen.Text = "Open

32、 File";</p><p>  menuLoad.Text="Load File";</p><p>  menuSave.Text="Save Anther File";</p><p>  menuClose.Text="Close File";</p><p> 

33、 menuDelSelect.Text="Delete Select File";</p><p>  menuDelAll.Text="Delete All File";</p><p>  menuExit.Text="Exit";</p><p>  menuMedia.Text="Medi

34、a";</p><p>  menuPlay.Text="Play";</p><p>  menuPause.Text="Pause";</p><p>  menuStop.Text="Stop";</p><p>  menuPrevious.Text="P

35、revious File";</p><p>  menuNext.Text="Next File";</p><p>  menuDiploid.Text="Diploid Play";</p><p>  menuHalf.Text="Half Play";</p><p&

36、gt;  menuLeft.Text="Left";</p><p>  menuRight.Text="Right";</p><p>  menuFull.Text="Full screen";</p><p>  menuHelp.Text="Help";</p>&

37、lt;p>  menuAbout.Text="About xlFancyPlay";</p><p>  menuItem2.Text="English";</p><p>  menuItem3.Text="Japanese";</p><p>  menuItem4.Text="Chin

38、ese";</p><p><b>  }</b></p><p>  private void menuItem3_Click(object sender, System.EventArgs e)//日語控制按鈕</p><p><b>  {</b></p><p>  menuFil

39、e.Text="文件";</p><p>  menuOpen.Text = "君の名";</p><p>  menuLoad.Text= "女風(fēng)呂";</p><p>  menuSave.Text="消えたと";</p><p>  menuClose.Te

40、xt="もっとも";</p><p>  menuDelSelect.Text="知人の実見談";</p><p>  menuDelAll.Text="伝説";</p><p>  menuExit.Text="銭湯";</p><p>  menuMedia.

41、Text="知らない";</p><p>  menuPlay.Text="絶える";</p><p>  menuPause.Text="なか";</p><p>  menuStop.Text="とちわか";</p><p>  menuPrevious.Te

42、xt="風(fēng)景";</p><p>  menuNext.Text="部屋";</p><p>  menuDiploid.Text="子供";</p><p>  menuHalf.Text="風(fēng)呂";</p><p>  menuLeft.Text="

43、伝説";</p><p>  menuRight.Text="相撲版";</p><p>  menuFull.Text="あんよ";</p><p>  menuHelp.Text="ほんとう";</p><p>  menuAbout.Text="關(guān)于 xlF

44、ancyPlay";</p><p>  menuItem2.Text="英國語";</p><p>  menuItem3.Text="日本語";</p><p>  menuItem4.Text="中國語";</p><p><b>  }</b>

45、</p><p>  private void menuItem4_Click(object sender, System.EventArgs e)//中文控制按鈕</p><p><b>  {</b></p><p>  menuFile.Text="文件";</p><p>  menuOpen

46、.Text = "打開文件";</p><p>  menuLoad.Text="裝入文本文件";</p><p>  menuSave.Text="文本文件另存為";</p><p>  menuClose.Text="關(guān)閉文本文件";</p><p>  me

47、nuDelSelect.Text="刪除選頂列表項(xiàng)";</p><p>  menuDelAll.Text="刪除所有列表項(xiàng)";</p><p>  menuExit.Text="退出";</p><p>  menuMedia.Text="媒體";</p><p&g

48、t;  menuPlay.Text="播放";</p><p>  menuPause.Text="暫停";</p><p>  menuStop.Text="停止";</p><p>  menuPrevious.Text="上一個(gè)";</p><p>  me

49、nuNext.Text="下一個(gè)";</p><p>  menuDiploid.Text="倍速播放";</p><p>  menuHalf.Text="半速播放";</p><p>  menuLeft.Text="左聲道";</p><p>  menuR

50、ight.Text="右聲道";</p><p>  menuFull.Text="全屏";</p><p>  menuHelp.Text="說明";</p><p>  menuAbout.Text="關(guān)于 xlFancyPlay";</p><p>  me

51、nuItem2.Text="英文";</p><p>  menuItem3.Text="日文";</p><p>  menuItem4.Text="中文";</p><p><b>  }</b></p><p>  報(bào)警、提示、警告信息的多語種轉(zhuǎn)換<

52、/p><p>  在報(bào)表系統(tǒng)進(jìn)行多語種的轉(zhuǎn)換就是對(duì)消息進(jìn)行多語種的轉(zhuǎn)換,系統(tǒng)消息分為警告、報(bào)警、提示等,用Visual Studio.Net系統(tǒng)平臺(tái)上所默認(rèn)的控件或者用腳本語言實(shí)現(xiàn)轉(zhuǎn)換功能。</p><p>  報(bào)表系統(tǒng)的信息上傳界面如圖4-7所示。</p><p>  圖4-7 信息上傳界面</p><p>  通過右上的四個(gè)按鈕來控制語種的轉(zhuǎn)

53、換,“提交”按鈕控制著信息的上傳。系統(tǒng)信息的語種轉(zhuǎn)換是通過選用腳本語言來控制和實(shí)現(xiàn)的。關(guān)于對(duì)用腳本語言進(jìn)行消息的多語種轉(zhuǎn)換,其主要是用于對(duì)驗(yàn)證為空的信息的語言轉(zhuǎn)換。</p><p>  英語提交前臺(tái)上的驗(yàn)證信息轉(zhuǎn)換如圖4-8所示。</p><p>  圖4-8 英語提交前臺(tái)上的驗(yàn)證信息轉(zhuǎn)換</p><p>  在中文提交前臺(tái)的界面如圖4-9所示。</p>

54、<p>  圖4-9 中文提交前臺(tái)的驗(yàn)證信息轉(zhuǎn)換</p><p>  具體實(shí)現(xiàn)代碼如下所示。</p><p>  以上代碼的功能是通過加載頁面的元素getElementById來判spankiss的值,再最終決定是調(diào)用英文還是中文的標(biāo)識(shí)。</p><p>  在限制數(shù)據(jù)上傳的位數(shù)時(shí),采用RangeValidator控件,中文的界面上的報(bào)警信息如圖4-1

55、0所示。</p><p>  圖4-10 中文界面報(bào)警信息</p><p>  而轉(zhuǎn)換過來的英文界面的報(bào)警信息如圖4-11所示。</p><p>  圖4-11 英文界面報(bào)警信息</p><p>  具體實(shí)現(xiàn)代碼如下所示:</p><p>  this.RangeValidator1.ErrorMessage=&quo

56、t;ToyId is 3 Bit";//定義控件的信息內(nèi)容</p><p>  this.RangeValidator3.ErrorMessage="ToyDescription is less than 125 chinese wrod";</p><p>  this.RangeValidator2.ErrorMessage="CategoryI

57、d is 3 Bit";</p><p>  this.RangeValidator4.ErrorMessage="ToyRate is currency";</p><p>  this.RangeValidator5.ErrorMessage="BrandId should be 3 Bite";</p><p>

58、;  this.RangeValidator6.ErrorMessage="LowerAge is less than 125";</p><p>  this.RangeValidator8.ErrorMessage="UpperAge is less than 125";</p><p>  報(bào)表系統(tǒng)前臺(tái)頁面表項(xiàng)的動(dòng)態(tài)轉(zhuǎn)換</p>

59、<p>  在數(shù)據(jù)庫技術(shù)中,在數(shù)據(jù)字典中進(jìn)行單詞多語種的關(guān)聯(lián),使前臺(tái)能夠自由的調(diào)用數(shù)據(jù),數(shù)據(jù)字典(如圖4-12所示)是指在數(shù)據(jù)庫中所有表的集合。</p><p>  圖4-12 數(shù)據(jù)字典表</p><p>  通過調(diào)用一個(gè)按鈕調(diào)用表中的列來進(jìn)行動(dòng)態(tài)的調(diào)用,效果圖如圖4-13所示。</p><p>  圖4-13 報(bào)表上傳頁面的中文界面</p>

60、<p>  通過英文轉(zhuǎn)換后的界面如圖4-14所示。</p><p>  圖4-14報(bào)表上傳頁面的英文界面</p><p>  其重要的代碼如下所示。</p><p>  從數(shù)據(jù)庫中訪問并提取數(shù)據(jù)項(xiàng)</p><p>  public class Class1</p><p><b>  {</

61、b></p><p>  public Class1()</p><p><b>  {</b></p><p><b>  //</b></p><p>  // TODO: 在此處添加構(gòu)造函數(shù)邏輯</p><p><b>  //</b><

62、;/p><p><b>  }</b></p><p>  public SqlConnection Sqlcon()</p><p><b>  {</b></p><p>  SqlConnection conn=new SqlConnection("server=.;uid=sa;pwd

63、=;database=jloa");</p><p>  return conn;</p><p>  }//建立數(shù)據(jù)庫連接</p><p>  public string sqlSelect(string ToyId,string ToyName,string ToyDescription,string CategoryId,string ToyRate

64、,string BrandId,string Photo,string ToyQoh,string LowerAge,string UpperAge,string ToyWeight,string ToyImgPath)</p><p><b>  {</b></p><p>  SqlConnection con=this.Sqlcon();</p>

65、<p>  con.Open();</p><p>  SqlCommand cmd =new SqlCommand("select ChineseWord from Dic ",con); //從數(shù)據(jù)字典中調(diào)用chineseWord項(xiàng)</p><p>  SqlDataReader rd=cmd.ExecuteReader(); //讀SQL語句的值;&

66、lt;/p><p>  string temp="-";</p><p><b>  int i =0;</b></p><p>  while(rd.Read()) //循環(huán)讀SQL命令</p><p><b>  {</b></p><p>  tem

67、p+=rd["ChineseWord"].ToString()+"-"; //把讀出來的值放到字符中,用間隔隔開;</p><p><b>  i++;</b></p><p><b>  }</b></p><p>  con.Close();</p><p&g

68、t;  return temp;</p><p><b>  }</b></p><p>  public string sqlSelect1(string ToyId,string ToyName,string ToyDescription,string CategoryId,string ToyRate,string BrandId,string Photo,st

69、ring ToyQoh,string LowerAge,string UpperAge,string ToyWeight,string ToyImgPath)</p><p><b>  {</b></p><p>  SqlConnection con=this.Sqlcon();</p><p>  con.Open();</p>

70、;<p>  SqlCommand cmd =new SqlCommand("select EnglishWord from Dic ",con);</p><p>  SqlDataReader rd=cmd.ExecuteReader();</p><p>  string temp="-";</p><p&g

71、t;<b>  int i =0;</b></p><p>  while(rd.Read())</p><p><b>  {</b></p><p>  temp+=rd["EnglishWord"].ToString()+"-"; </p><p>&l

72、t;b>  i++;</b></p><p><b>  }</b></p><p>  con.Close();</p><p>  return temp;</p><p><b>  }</b></p><p>  public int sqlQuer

73、y(string str)</p><p><b>  {</b></p><p>  SqlConnection con=this.Sqlcon();</p><p>  con.Open();</p><p>  SqlCommand cmd =new SqlCommand(str,con);</p>

74、<p>  int i=cmd.ExecuteNonQuery();</p><p>  con.Close();</p><p><b>  return i;</b></p><p><b>  }</b></p><p><b>  }</b></p>

75、;<p><b>  }</b></p><p>  對(duì)從數(shù)據(jù)庫提出的數(shù)據(jù)進(jìn)行轉(zhuǎn)換。</p><p>  Class1 tool=new Class1();</p><p>  string i=tool.sqlSelect(this.Label2.Text.ToString(),this.Label5.Text.ToString

76、(),this.Label4.Text.ToString(),this.Label3.Text.ToString(),this.Label11.Text.ToString(),this.Label10.Text.ToString(),this.Label9.Text.ToString(),this.Label8.Text.ToString(),this.Label7.Text.ToString(),this.Label6.Text.To

77、String(),this.Label12.Text.ToString(),this.Label14.Text.ToString());</p><p>  Label2.Text=i.Split('-')[1].ToString().Replace("cToyId","ToyId"); //從數(shù)據(jù)庫表中取出某一字段的值,然后再次分配。</p&

78、gt;<p>  Label5.Text=i.Split('-')[2].ToString().Replace("vToyName","ToyName");</p><p>  Label4.Text=i.Split('-')[3].ToString().Replace("vToyDescription",&

79、quot;Detail");</p><p>  Label3.Text=i.Split('-')[4].ToString().Replace("cCategoryId","CateId");</p><p>  Label11.Text=i.Split('-')[5].ToString().Replace(

80、"mToyRate","ToyRate");</p><p>  Label10.Text=i.Split('-')[6].ToString().Replace("cBrandId","BrandId");</p><p>  Label9.Text=i.Split('-')[7

81、].ToString().Replace("imPhoto","Photo");</p><p>  Label8.Text=i.Split('-')[8].ToString().Replace("siToyQoh","ToyQoh");</p><p>  Label7.Text=i.Spli

82、t('-')[9].ToString().Replace("siLowerAge","LowerAge");</p><p>  Label6.Text=i.Split('-')[10].ToString().Replace("siUpperAge","UpperAge");</p>&l

83、t;p>  Label12.Text=i.Split('-')[11].ToString().Replace("siToyWeight","Weight");</p><p>  Label14.Text=i.Split('-')[12].ToString().Replace("vToyImgPath","

84、ImgPath");</p><p>  this.Button3.Text="Refer";</p><p>  this.Button2.Text="Chinese";</p><p>  this.Button1.Text="English";</p><p>  t

85、his.Button5.Text="Japenese";</p><p>  this.Label13.Text=" refering please!";</p><p><b>  系統(tǒng)測試</b></p><p><b>  遇到的問題</b></p><p&

86、gt;  在系統(tǒng)測試過程中,遇到的問題主要如下:</p><p>  用戶在報(bào)表系統(tǒng)的前臺(tái)頁面在用控件對(duì)多語種信息進(jìn)行加載的時(shí)候,觸發(fā)控件時(shí)總是只能單獨(dú)的加載默認(rèn)信息而使得其它語種信息無法通過按鈕的加載的同時(shí),也讓其它按鈕失去功能。同時(shí)數(shù)據(jù)庫開銷過大。</p><p>  由于之前使用的Datagrid控件時(shí),這個(gè)控件只能調(diào)用數(shù)據(jù)庫中的唯一的表,這就要求系統(tǒng)的前臺(tái)必須要建立兩個(gè)Datagr

87、id控件的同時(shí),要在數(shù)據(jù)庫中建立兩個(gè)不同語種表,讓前臺(tái)進(jìn)行調(diào)用。這樣就拖慢了系統(tǒng)的反應(yīng)速度。</p><p><b>  解決問題的方法</b></p><p>  下面針對(duì)系統(tǒng)測試過程中遇到的問題,進(jìn)行了具體解決。 </p><p>  控件ID信息無法加載的情況下,發(fā)現(xiàn)按鈕只能出發(fā)同時(shí)觸發(fā)控件,不能分別的觸發(fā)控件。于是就出現(xiàn)了通過按鈕卻發(fā)現(xiàn)

88、控件的觸發(fā)全亂套了。于是采用了JavaScript腳本語言。經(jīng)過測試后發(fā)現(xiàn),功能雖然實(shí)現(xiàn)了,但是JavaScript腳本語言是前臺(tái)語言,不但可讀性很差。而且在編程時(shí),對(duì)獲取系統(tǒng)存儲(chǔ)圖片的絕對(duì)路徑并將其存入數(shù)據(jù)庫也很不方便。</p><p>  用控件Datagrid調(diào)用數(shù)據(jù)庫而造成系統(tǒng)開銷過大的問題,使用數(shù)據(jù)字典來進(jìn)行解決。因?yàn)閿?shù)據(jù)字典是數(shù)據(jù)庫里所有的表的集合,所以可以在數(shù)據(jù)字典中把所有需要多語種顯示的數(shù)據(jù)項(xiàng)設(shè)立

89、不同語種的分列,然后通過前臺(tái)根據(jù)需要來調(diào)用,從而解決該問題。</p><p><b>  結(jié) 論</b></p><p>  本系統(tǒng)是一般C/S應(yīng)用程序?qū)Χ嗾Z種轉(zhuǎn)換的需求而完成的設(shè)計(jì),該設(shè)計(jì)初衷是以簡單實(shí)用的原則出發(fā),本著周期短、易維護(hù)、重實(shí)效的目的,采用“自下向上”的設(shè)計(jì)思路,重點(diǎn)完成了前臺(tái)對(duì)數(shù)據(jù)字典表項(xiàng)的調(diào)用完成對(duì)多語種轉(zhuǎn)換功能的實(shí)現(xiàn),而對(duì)數(shù)據(jù)字典中的語種類型

90、還不夠多,如有需要還可以擴(kuò)充。代碼也有可重用性能夠最大限度的滿足系統(tǒng)的需求。</p><p>  本設(shè)計(jì)主要是對(duì)基于C/S結(jié)構(gòu)的應(yīng)用程序中進(jìn)行多語種轉(zhuǎn)換的方法進(jìn)行詳細(xì)的研究和探索。通過功能設(shè)計(jì)圖和結(jié)構(gòu)設(shè)計(jì)圖依次對(duì)模塊劃分,結(jié)構(gòu)設(shè)計(jì)進(jìn)行闡述。并對(duì)系統(tǒng)從分析到設(shè)計(jì)以及實(shí)現(xiàn)進(jìn)行了講述,其中包括方案的選擇,項(xiàng)目特色,出現(xiàn)的問題,以及怎樣解決進(jìn)行了論述。</p><p>  通過這次畢業(yè)設(shè)計(jì),使我們

91、了解了軟件工程的生命周期,并且對(duì)微軟的Visual Studio.Net平臺(tái)有了一定的了解,并體會(huì)到Visual Studio.Net強(qiáng)悍的功能以及其對(duì)軟件開發(fā)所帶來的一系列好處。但是同時(shí)還存在一些不足的地方,如在系統(tǒng)的消息中進(jìn)行多語種的轉(zhuǎn)換中,通過對(duì)XML或文本文檔進(jìn)行編號(hào),使前臺(tái)通過編號(hào)來調(diào)用XML或文本文檔中的多語種內(nèi)容的那個(gè)功能一直沒有實(shí)現(xiàn),以及只有在數(shù)據(jù)庫中進(jìn)行語句的存儲(chǔ)和使用,這會(huì)占用內(nèi)存很大的存儲(chǔ)空間,在一定程度上拖慢系統(tǒng)

92、的速度。</p><p>  在這次畢業(yè)設(shè)計(jì)中發(fā)現(xiàn)了不少問題,經(jīng)過自己的學(xué)習(xí)和老師同學(xué)的幫助都得到了解決,在這個(gè)過程中不僅熟悉了軟件的開發(fā)流程,提高了編程思想和編程的技巧。深刻認(rèn)識(shí)到軟件開發(fā)初期應(yīng)該做好需求和概要設(shè)計(jì);中期的詳細(xì)設(shè)計(jì)更是非常重要,特別是深刻的感受到了有些技術(shù)雖然簡單但是只要用的好就能解決復(fù)雜的問題。</p><p><b>  參考文獻(xiàn)</b><

93、/p><p>  [1]范逸之.VisualBasic與分布式監(jiān)控系統(tǒng)一RS232/485串行通信[M].北京:清華大學(xué)出版社,2002.</p><p>  [2]Charles Petzold著.Microsoft c# Windows程序設(shè)計(jì)[M].北京:北京大學(xué)出版社,2005. </p><p>  [3]Simon Robinson 、Christian N

94、agel等著.C#高級(jí)編程[M].北京:清華大學(xué)出版社,2005.</p><p>  [4] 王浩然.C#行家設(shè)計(jì)手冊(cè).北京:中國鐵道出版社[M],2002.</p><p>  [5] 劉甲耀、嚴(yán)桂蘭.C#程序設(shè)計(jì)培訓(xùn)教程[M].北京:機(jī)械工業(yè)出版社,2002.</p><p><b>  致 謝</b></p><

95、;p>  本文是在朱西平老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝!</p><p>  在論文完成過程中,本人還得到了陳繼業(yè)老師和本班張映熊同學(xué)的熱心幫助,本人向他們表示深深的謝意!</p><p>  最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝!</p><p

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論