【正文】
KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then End IfEnd SubPrivate Sub Text81_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then End IfEnd SubPrivate Sub Text82_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then End IfEnd SubPrivate Sub Text61_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then End IfEnd Sub 功能實(shí)現(xiàn)/*…………………………………………………………………………………………………該module把TextBox中錄入的內(nèi)容轉(zhuǎn)換到頁(yè)面上成為我們需要的內(nèi)容,包含了驗(yàn)證數(shù)據(jù),轉(zhuǎn)換金額的大小寫數(shù)字以及漢字的表達(dá)?!?/Public Function str(ByVal Text As TextBox, ByVal length As Long) As Long str = length Len(Trim())End FunctionPublic Function ClearEmpty() Dim a As Control For Each a In If LCase(TypeName(a)) = textbox Then If Trim() / Then = Trim() End If End If Next aEnd FunctionFunction makeSpace(i As Integer) As String Dim j As Integer For j = 1 To i makeSpace = makeSpace amp。 NextEnd FunctionPublic Function EmptyStr(ByVal length As Single, ByVal str As String) As String Dim eStr As String For i = 0 To length LenB(str) eStr = eStr amp。 Next 39。指定返回值 EmptyStr = eStrEnd FunctionFunction StrLen(str As String) As Integer39。字符串長(zhǎng)度 StrLen = LenB(StrConv(str, vbFromUnicode))End Function Function CChinese(StrEng As String) As String 39。驗(yàn)證數(shù)據(jù) If Not IsNumeric(StrEng) Then If Trim(StrEng) Then MsgBox 無(wú)效的數(shù)字, , 提示信息 CChinese = Exit Function End If 39。定義變量 Dim intLen As Integer, intCounter As Integer Dim strCh As String, strTempCh As String Dim strSeqCh1 As String, strSeqCh2 As String Dim strEng2Ch As String strEng2Ch = 零壹貳叁肆伍陸柒捌玖 strSeqCh1 = 拾佰仟 拾佰仟 拾佰仟 拾佰仟 strSeqCh2 = 萬(wàn)億兆 39。轉(zhuǎn)換為表示數(shù)值的字符串 StrEng = CStr(CDec(StrEng)) 39。記錄數(shù)字的長(zhǎng)度 intLen = Len(StrEng) 39。轉(zhuǎn)換為漢字 For intCounter = 1 To intLen 39。返回?cái)?shù)字對(duì)應(yīng)的漢字 strTempCh = Mid(strEng2Ch, Mid(StrEng, intCounter, 1) + 1, 1) 39。若某位是零 If strTempCh = 零 And intLen 1 Then 39。若后一個(gè)也是零,或零出現(xiàn)在倒數(shù)第13等位,則不顯示漢字“零” If Mid(StrEng, intCounter + 1, 1) = 0 Or (intLen intCounter + 1) Mod 4 = 1 Then strTempCh = Else strTempCh = strTempCh amp。 Trim(Mid(strSeqCh1, intLen intCounter + 1, 1)) End If 39。對(duì)于出現(xiàn)在倒數(shù)第13等位的數(shù)字 If (intLen intCounter + 1) Mod 4 = 1 Then 39。添加位 萬(wàn)億兆 strTempCh = strTempCh amp。 Trim(Mid(strSeqCh2, (intLen intCounter) \ 4 + 1, 1)) End If 39。組成漢字表達(dá)式 strCh = strCh amp。 Trim(strTempCh) Next CChinese = strCh amp。 元整End FunctionPublic Sub PrintSpaceY(i As Integer) Dim j As Integer For j = 0 To i NextEnd Sub第5章 軟件測(cè)試和調(diào)試目前軟件測(cè)試仍然是保證軟件可靠性的主要手段。測(cè)試階段的根本任務(wù)是發(fā)現(xiàn)并改正軟件中的錯(cuò)誤。設(shè)計(jì)測(cè)試方案是測(cè)試階段的關(guān)鍵技術(shù)問(wèn)題,基本目標(biāo)是選用最少量的高效測(cè)試數(shù)據(jù),做到盡可能完善的測(cè)試,從而盡可能多的發(fā)現(xiàn)軟件中的問(wèn)題。白盒測(cè)試盒黑盒測(cè)試是軟件測(cè)試的兩類基本方法。一般來(lái)說(shuō),白盒測(cè)試檢查程序現(xiàn)有的邏輯正確性;黑盒測(cè)試檢查程序是否符合設(shè)計(jì)要求,是否存在隱患。通常在測(cè)試過(guò)程的早期階段主要使用白盒方法,而在測(cè)試過(guò)程的后期階段主要使用黑盒方法。兩者各有所長(zhǎng),相互補(bǔ)充。該軟件主要運(yùn)用兩者相結(jié)合的測(cè)試方法,以黑盒測(cè)試為主。下面將給出詳細(xì)的測(cè)試過(guò)程: 白盒測(cè)試法白盒測(cè)試是指按照程序的執(zhí)行邏輯進(jìn)行路徑檢測(cè),即在程序?qū)嶋H運(yùn)行過(guò)程中所經(jīng)歷的每一路徑都必須測(cè)試到,檢查是否存在引起程序出現(xiàn)錯(cuò)誤的語(yǔ)句。在進(jìn)行白盒測(cè)試時(shí),使用調(diào)試工具進(jìn)行流程跟蹤,確保操作經(jīng)過(guò)每個(gè)流程。在測(cè)試過(guò)程中發(fā)現(xiàn)的軟件錯(cuò)誤必須及時(shí)改正,這就是調(diào)試的任務(wù)。為了改正錯(cuò)誤,首先必須確定錯(cuò)誤的準(zhǔn)確位置,同時(shí)盡量避免在調(diào)試過(guò)程中引進(jìn)新的錯(cuò)誤。使用Debug調(diào)試器就可以很容易地找到錯(cuò)誤并將它們改正。下面以登錄模塊為例,來(lái)說(shuō)明調(diào)試的過(guò)程和方法:第一步:打開(kāi)工程1;第二步:在程序中設(shè)置斷點(diǎn);第三步:在跟蹤模式下運(yùn)行應(yīng)用程序; 第四步:當(dāng)應(yīng)用程序在斷點(diǎn)處中斷執(zhí)行時(shí),用戶可查看變量的值,檢查內(nèi)存中對(duì)象的屬性或者改變變量的值; 第五步:依次調(diào)試應(yīng)用程序,需要時(shí)在應(yīng)用程序中增加新的斷點(diǎn)或修改已存在的斷點(diǎn);第六步:當(dāng)用戶找到問(wèn)題所在時(shí),修改問(wèn)題的代碼并重新運(yùn)行該應(yīng)用程序。通過(guò)調(diào)試我發(fā)現(xiàn)一般錯(cuò)誤都出現(xiàn)在粗心馬虎上,比如數(shù)據(jù)類型不符合,變量未定義等。再有的問(wèn)題就是對(duì)一些函數(shù)、方法的使用錯(cuò)誤。但最后經(jīng)過(guò)認(rèn)真分析、查閱資料,這些問(wèn)題大部分都得以解決。 黑盒測(cè)試法 黑盒測(cè)試是指不關(guān)心程序內(nèi)部的邏輯結(jié)構(gòu),只檢查其輸入和輸出的內(nèi)容。對(duì)某段程序輸入各類參數(shù)值,觀察其結(jié)果。輸入的數(shù)據(jù)可以根據(jù)設(shè)計(jì)內(nèi)容而確定。設(shè)計(jì)黑盒測(cè)試方案時(shí)應(yīng)考慮的問(wèn)題如下:;如:年月日的合理性,錢數(shù)的識(shí)別性;;。例如在空白情況下,系統(tǒng)應(yīng)能夠觸發(fā)錯(cuò)誤提示,如圖所示圖51 錯(cuò)誤提示寫圖標(biāo),格式參考模板第6章 工作總結(jié)和展望該系統(tǒng)以中信銀行為例,實(shí)現(xiàn)企業(yè)的個(gè)人購(gòu)房借款合同打印。它最基本的功能是對(duì)個(gè)人購(gòu)房借款的用戶提供合同的審閱和打印,例如借款方式,還款方式,當(dāng)年的具體利率顯示或打印出來(lái)供旅客參考,客戶可以按照需要來(lái)選擇自己的貸款模式,從而為銀行節(jié)省了很多的人力資源。其中核心之處在于:操作便捷化,客戶可以錄入相關(guān)的信息后,選擇需要的方式,迅速生成打印文件,便于銀行的運(yùn)作等。該系統(tǒng)在開(kāi)發(fā)的過(guò)程中遇到了不少的困難,例如打印機(jī)的連接問(wèn)題,數(shù)據(jù)正確合理性的問(wèn)題等,但通過(guò)各種途徑的學(xué)習(xí)請(qǐng)教,均得到了很好的解決。自身也從中學(xué)會(huì)了很多東西,體會(huì)很深,收獲很大。不僅熟悉了軟件開(kāi)發(fā)的過(guò)程,而且提高了自己解決問(wèn)題的能力,增強(qiáng)了信心和成就感。該系統(tǒng)以其方便、易操作及美觀的界面給用戶節(jié)省時(shí)間,全面實(shí)現(xiàn)對(duì)中信銀行個(gè)人貸款合同打印功能,大大減輕了銀行部門工作人員的工作量,提高了工作效率和工作服務(wù)質(zhì)量。系統(tǒng)雖然是基于中信銀行進(jìn)行開(kāi)發(fā)的,但是卻具有廣泛的適用性。利用系統(tǒng)自身的初始化功能,可以將所有數(shù)據(jù)信息清空,輸入新的數(shù)據(jù)信息,就可以很快構(gòu)建成一個(gè)簡(jiǎn)單實(shí)用的合同打印系統(tǒng),因此應(yīng)用前景廣泛。但是由于時(shí)間等方面的原因,所開(kāi)發(fā)的系統(tǒng)還不盡如人意:,使用范圍受到了限制;。,系統(tǒng)商業(yè)化程度不高等。但是相信隨著時(shí)間的推移和自身技術(shù)的不斷提高,該智能查詢系統(tǒng)將會(huì)越來(lái)越完善。 參考文獻(xiàn)[1] 王穎 Basic+SQL ,2006 [2] 劉炳文 二級(jí)教程——Visual Basic語(yǔ)言程序設(shè)計(jì)(修訂版).高等教育社 2002 [3] 劉韜 Basic ,20062[4] 宋坤 Basic ,2005[5] 賽奎春 Basic精彩編程200例。機(jī)械工業(yè)出版,2003.[6] 中信銀行 [7] 個(gè)人購(gòu)房借款合同 致 謝在整個(gè)畢業(yè)設(shè)計(jì)的過(guò)程中,老師和朋友給了我很大的幫助,特別是王聽(tīng)忠老師給我提供了很多的指導(dǎo)和幫助,從他身上我學(xué)到了很多東西,他認(rèn)真負(fù)責(zé)的工作態(tài)度和深厚的理論水平都使我受益匪淺。 此外,在系統(tǒng)的開(kāi)發(fā)過(guò)程中,還有其他同學(xué)的熱心幫助,共同解決了不少難點(diǎn)問(wèn)題。在此不一一列舉,謝謝她們對(duì)我的支持!第 43 頁(yè) 共 46 頁(yè)