【正文】
雖然,此系統(tǒng)還有許多方面還不夠完善,還存在一些不足,還需改進(jìn),但設(shè)計(jì)界面簡(jiǎn)潔,美觀(guān)大方,,極大地拓寬了我的知識(shí)面,我感到收獲不小。因此當(dāng)移植到其他機(jī)器時(shí),這個(gè)路徑關(guān)系依然不能改變。資源的建立與釋放在將類(lèi)實(shí)例化時(shí),必須使用New關(guān)鍵字,未實(shí)例化類(lèi)無(wú)法使用,例:誤: Dim obj as clsMerch正: Dim obj as clsMerch Set obj=New clsMerch 同理,在調(diào)用Set obj=Nothing后,資源已經(jīng)釋放,無(wú)法再調(diào)用類(lèi)內(nèi)的方法。變量聲明錯(cuò)誤最后是一些常識(shí)性錯(cuò)誤,比如在If…Else…End If過(guò)程中,認(rèn)為判斷只會(huì)執(zhí)行其中的一段代碼,于是在兩段中都使用了Dim obj as clsMerch,事實(shí)上,編譯器在語(yǔ)法分析階段,是首先將一個(gè)函數(shù)內(nèi)聲明的全部變量都放符號(hào)表中,而不管這個(gè)變量的聲明是在這個(gè)函數(shù)的什么位置。數(shù)據(jù)與數(shù)據(jù)庫(kù)限制相沖突數(shù)據(jù)與數(shù)據(jù)庫(kù)限制相沖突,可能是其值超過(guò)了數(shù)據(jù)庫(kù)的上限和下限。如果寫(xiě)程序時(shí)傳入的是小數(shù),或者是非數(shù)字的字符串,那么程序?qū)?huì)出現(xiàn)錯(cuò)誤。報(bào)損分析 lvAna, IsDesc, nCount Case Else End Select End SubPrivate Sub Form_Load() = 0 = 0 = 10End Sub6 測(cè)試分析 強(qiáng)制變量聲明選擇菜單[工具]—[選項(xiàng)]命令,打開(kāi)“選項(xiàng)“對(duì)話(huà)框”,在“編輯器”屬性頁(yè)中,把“要求變量聲明”復(fù)選框選上,或者手工在每個(gè)文件的開(kāi)頭加上關(guān)鍵字:option Explicit這樣在編譯時(shí)會(huì)對(duì)沒(méi)有聲明的變量報(bào)錯(cuò),從而減少很多不必要的調(diào)試。進(jìn)貨分析 lvAna, IsDesc, nCount Case 2: 39。然后再按由小到大顯示List前↓↑后TxtCount(TextBox)MaxLength3顯示數(shù)量CmdSearch(CommandButtom)Caption查看[查看]按鈕CmdClose(CommandButtom)Caption關(guān)閉[關(guān)閉]按鈕LvAna(ListView)GridLinesTrue顯示數(shù)據(jù)容器ViewlvwRiport界面設(shè)計(jì) 界面設(shè)計(jì)圖代碼分析Option ExplicitPrivate Sub cmdClose_Click() End SubPrivate Sub cmdSearch_Click() Dim nCount As Integer Dim IsDesc As Boolean Dim opMerch As New clsOpMerch Dim opBuy As New clsOpBuy Dim opSell As New clsOpSell Dim opDispose As New clsOpDispose nCount = Val() If nCount = 0 Then nCount = 10 IsDesc = IIf( = 0, True, False) Select Case Case 0 39。報(bào)損總量與登記次數(shù)排行。進(jìn)貨總量與登記次數(shù)排行。初始化數(shù)據(jù) Call InitMainEnd SubPrivate Sub Form_Unload(Cancel As Integer) Dim i As Integer 39。 次機(jī)會(huì),注意密碼區(qū)分大小寫(xiě), vbCritical, 登錄 = 0 = Len() Else OK = True g_Account = Account End If End Sub控件名稱(chēng)屬性屬性取消功能frmMainCaption進(jìn)銷(xiāo)存管理系統(tǒng)系統(tǒng)主窗體inlViewSIcon(ListView)ImageHeight16樹(shù)形控件和列表框小圖標(biāo)所使用的圖片ImageWidth16inlViewBIcon(ImageList)ImageHeigh32列表框大圖標(biāo)所使用的圖片(未用:待擴(kuò)展)ImageWidth32tvTreeView(TreeView)LineStyleTvwRootLines顯示商品類(lèi)型樹(shù)ImageListinlViewSIcon sstabView(ListView)StyleOssStyleTabbedDialog右側(cè)選項(xiàng)卡,做容器用TabOrientationOssTabOritationToplvMerch(ListView)lvBuy(ListView)lvSell(ListView)lvDispose(ListView)lvProvider(ListView)FullRowSelectTrue分別用來(lái)顯示商品商品信息列表進(jìn)貨信息列表銷(xiāo)售信息列表報(bào)損信息列表供貨商信息列表GridLinesTrueViewlvwRiportIconimlViewBIconSmallIconimlViewSIionl 設(shè)計(jì)選項(xiàng)卡sstabView給sstabView控件添加5個(gè)選項(xiàng)卡,選項(xiàng)卡標(biāo)題分別設(shè)置為“商品庫(kù)存”、“進(jìn)貨記錄”、“銷(xiāo)售記錄”、“報(bào)損記錄”和“供應(yīng)商”,分別對(duì)應(yīng)5個(gè)ListView。判斷密碼是否正確 If Not (Account, Pwd) Then m_nErrCount = m_nErrCount + 1 If m_nErrCount = 3 Then MsgBox 輸入密碼錯(cuò)誤次數(shù)太多,請(qǐng)稍后重試, vbExclamation End End If MsgBox 密碼錯(cuò)誤,再試一次!還有 amp。ToDo: 創(chuàng)建測(cè)試密碼是否正確 39。添加成員變量,修改Main過(guò)程.用戶(hù)登入對(duì)話(huà)框設(shè)計(jì):當(dāng)用戶(hù)輸入正確的用戶(hù)名和密碼,才可以登陸到系統(tǒng)密碼錯(cuò)誤就彈出提示,不能進(jìn)入系統(tǒng)。處理列舉或查找管理員信息的操作。處理修改管理員信息的操作。處理列舉或查找報(bào)損的操作。處理刪除報(bào)損的操作。(10)報(bào)損操作管理模塊報(bào)損操作管理模塊實(shí)現(xiàn)以下的功能:處理添加報(bào)損的操作。處理分析銷(xiāo)售總收入的操作。處理修改銷(xiāo)售的操作。(8)進(jìn)貨操作管理模塊進(jìn)貨操作管理模塊實(shí)現(xiàn)以下的功能:處理添加進(jìn)貨的操作,處理修改進(jìn)貨的操作,處理刪除進(jìn)貨的操作,處理分析進(jìn)貨總支出的操作,處理列舉或查找進(jìn)貨的操作。處理列舉或查找商品的操作。處理刪除商品的操作。(6)商品操作管理模塊商品操作管理模塊實(shí)現(xiàn)以下的功能:處理添加商品的操作。(4)創(chuàng)建組件的公共模塊為了將來(lái)擴(kuò)展方便,這里加入一個(gè)公共模塊,命名為mdlMain ,現(xiàn)在只添加一個(gè)空的Sub Main作為組件的初始化函數(shù)。ObjsToCornbo:傳入?yún)?shù)為對(duì)象的單向類(lèi)與組合框。FillListView:顯示指定類(lèi)型對(duì)象到列表控件。InitListview:設(shè)置ListView的顯示樣式。Delete:管理刪除操作。(3)操作類(lèi)的代碼結(jié)構(gòu)同樣為了方便維護(hù)和快速開(kāi)發(fā),每個(gè)操作類(lèi)的代碼結(jié)構(gòu)也都很相似,大多包括如下方法:Add:管理增加操作。CancelButton_Click:[取消]按鈕單擊處理事件。CheckValid:檢查用戶(hù)輸入有效性。SetDefaultValue:設(shè)計(jì)對(duì)話(huà)框的默認(rèn)值。(2)輸入界面的代碼結(jié)構(gòu)為了方便維護(hù)和快速開(kāi)發(fā),每個(gè)界面的實(shí)現(xiàn)代碼結(jié)構(gòu)都很相似,大多都包括如下的方法:ShowDlg:用來(lái)顯示對(duì)話(huà)框, vbModal,程序停止在這里。(1)每個(gè)模塊的組成在本組件中,每一個(gè)模塊都是由信息輸入界面與相應(yīng)的操作類(lèi)來(lái)實(shí)現(xiàn)的,具體完成的功能如下:信息輸入界面:可供添加或修改時(shí)調(diào)用,用來(lái)獲取用戶(hù)輸入,將用戶(hù)輸入封裝到對(duì)應(yīng)的信息管理類(lèi)中。報(bào)損操作管理,對(duì)應(yīng)clsDispose窗體和clsOpDispose類(lèi)。進(jìn)貨操作管理,對(duì)應(yīng)frmBuy窗體和clsOpBuy類(lèi)。商品操作管理,對(duì)應(yīng)frmMerch窗體和clsOpMerch類(lèi)。 開(kāi)發(fā)基本界面組件進(jìn)銷(xiāo)存管理系統(tǒng)基本界面組件用來(lái)處理進(jìn)銷(xiāo)存管理系統(tǒng)中與界面相關(guān)的操作,既負(fù)責(zé)與用戶(hù)界面層進(jìn)行數(shù)據(jù)傳遞,同時(shí)也要將界面端的請(qǐng)求傳遞給業(yè)務(wù)處理層,進(jìn)一步轉(zhuǎn)化為數(shù)據(jù)庫(kù)操作。選擇菜單[工程]—[添加類(lèi)模塊]命令,打開(kāi)“添加類(lèi)模塊”對(duì)話(huà)框,選擇“VB類(lèi)生成器”,使用類(lèi)生成器在工程中添加clsAdmin類(lèi),如下圖所示。其他與管理員信息相關(guān)的常用操作。查找管理員信息。修改管理員信息。選擇菜單[工程]— [添加類(lèi)模塊]命令,打開(kāi)“添加類(lèi)模塊”對(duì)話(huà)框,選擇“VB類(lèi)生成器”,使用類(lèi)生成器在工程中添加clsDispose類(lèi), 報(bào)損信息類(lèi)clsDispose屬性名稱(chēng)數(shù)據(jù)類(lèi)型說(shuō)明IDLong報(bào)損編號(hào)MerchandiseIDLong商品IDMerchNameString商品名稱(chēng)RegDateDate登記日期CountLong報(bào)損數(shù)量ReasonSingle報(bào)損原因OperatorIdString操作員IDRemarkString備注RegTimesLong登記次數(shù)TotalCountLong報(bào)損總數(shù)量TypeNa