乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      vb 程序編程規(guī)范

       悟靜 2009-07-26
      必須打開(kāi)設(shè)置選項(xiàng)的”要求變量聲明”,”對(duì)齊控件到網(wǎng)格”,”自動(dòng)縮進(jìn)”開(kāi)關(guān)。
      Tab的寬度統(tǒng)一為4個(gè)空格,網(wǎng)格單位一律設(shè)為:width 50 height 50。

      命名
           工程
             ActiveX控件和DLL工程命名格式為(….Lib),EXE工程直接命名,如果是通用組件工程,直接命名,如果是項(xiàng)目或產(chǎn)品工程,則使用項(xiàng)目或產(chǎn)品縮寫(xiě)作為前綴。如:XWY….Lib。

             工程命名不必縮寫(xiě),為了表達(dá)意思和用途,可以盡可能地長(zhǎng),而且命名格式采用 (名詞) 、 (形容詞 + 名詞) 或 (名詞 + 動(dòng)作的名詞形式)。如:XWYStockOperationLib或XWYStockLib。

             (注意:在任何時(shí)候,不要使用中文命名,包括文件夾,文件名,函數(shù)名,變量名。除非文件需要和用戶交互!)

           變量
             變量命名不推薦采用匈牙利命名法,除非命名會(huì)和關(guān)鍵字產(chǎn)生沖突的時(shí)候,才采用類型縮寫(xiě)+變量實(shí)名的匈牙利命名法。一般情況下,變量命名應(yīng)該簡(jiǎn)單,盡量使用縮寫(xiě)。

             如果是一般的值類型,如integer string,則直接使用變量用途命名,盡量使用全名:

             Dim name              As String

             Dim count              As Interger

             對(duì)于一般的臨時(shí)性變量定義,應(yīng)該盡可能地簡(jiǎn)單,如:

             Dim i                    As Integer

             For i = 0 to 100

             Next I

             如果是類對(duì)象或自定義類型對(duì)象,則在單一使用情況下使用類名稱或自定義類型名稱的簡(jiǎn)寫(xiě)來(lái)命名:

      Dim em                 As EnityManager

      如果非單一使用,則使用類型名稱縮寫(xiě)為前綴,即使用匈牙利命名法:

      Dim emRead          As EntityManager

      Dim emSave          As EntityManager

      (注意:所有前綴都全部小寫(xiě),后面的單詞首字母大寫(xiě))

             縮寫(xiě)規(guī)則如下:

             如果名稱由多個(gè)單詞組成,則取每個(gè)單詞的首字母,如EntityManager縮寫(xiě)為em,ProcedureManager縮寫(xiě)為pm。

             如果名稱由一個(gè)單詞組成,則對(duì)單詞進(jìn)行分段取首字母,如Entity縮寫(xiě)為et。

             縮寫(xiě)應(yīng)該控制在3個(gè)字母以內(nèi),盡量清晰,對(duì)于接口名稱,I……中的I前綴不對(duì)縮寫(xiě)產(chǎn)生任何影響,如Ientity的名稱應(yīng)視作Entity。

             除非首字母為元音,否則應(yīng)該截取輔音做為縮寫(xiě),如TextBox控件的縮寫(xiě)前綴為txt。

             范圍標(biāo)識(shí):

                    全局變量加前綴:’g_’

                    模塊級(jí)變量加前綴:’m_’

                    過(guò)程級(jí)變量不加前綴

             全局變量和模塊級(jí)變量應(yīng)該盡量使用全名稱,不推薦使用縮寫(xiě),如:g_EntityManager

           控件
             控件命名一律使用控件類型縮寫(xiě)+控件用途的命名方式,類型縮寫(xiě)應(yīng)控制在3個(gè)字母以內(nèi),縮寫(xiě)規(guī)則同變量命名,以下是常用控件的類型縮寫(xiě),應(yīng)該嚴(yán)格遵守,如果使用了新的控件,則首先應(yīng)該在小組內(nèi)協(xié)同一致其類型名稱縮寫(xiě)后再進(jìn)行使用。

      cmb            Combo box
      chk             Checkbox
      cmd          Command button
      dlg              Common dialog control
      dt               DTPicker         DropDateControl
      enm            EnumEditBox
      fra             Frame
      frm            Form
      gra             Graph
      grd             EditGrid MSHFlexGrid FlexGrid DataGrid
      img             Image ImageList
      lab              Label
      ln                Line
      lst               List box
      lv               ListView
      mnu                    Menu control
      nm             NumEditBox
      opt             Option button
      pic              Picture
      rpt              Report
      sbr              Scroll bar
      shp             Shape
      spn             Spin
      st               StatusBar
      tb               ToolBar
      tmr             Timer
      txt             Textbox
      tv               TreeView

           函數(shù)
             此處函數(shù)包括sub和function,以下這兩種過(guò)程統(tǒng)稱為函數(shù)。

             函數(shù)表示的是一個(gè)動(dòng)作,所以它的結(jié)構(gòu)應(yīng)該是 動(dòng)詞+名詞,動(dòng)詞必須小寫(xiě),后面的名稱首字母大寫(xiě),如:

      getMaterialCode
      updateGrid
      readOrder

             函數(shù)命名盡量不要使用縮寫(xiě),而且它的名稱應(yīng)該使人一目了然,能夠從名稱就知道這個(gè)函數(shù)的功能,不要使用無(wú)意義的函數(shù)名稱,如:getCode(當(dāng)這個(gè)函數(shù)屬于Materail類的時(shí)候,它還是有意義的),update,readData。

             當(dāng)函數(shù)名稱不足以表達(dá)其功能時(shí),使用在函數(shù)頭部加上讓調(diào)用者足夠明白的注釋。

         

             參數(shù)的命名:參數(shù)命名的原則是全部小寫(xiě),如果參數(shù)包括兩個(gè)或以上的單詞時(shí),首單詞字母小寫(xiě),其它單詞首字母大定,如showCol、isUpdate。

             常量
             常量的命名應(yīng)該全部大寫(xiě),使用’_’作為單詞間的分隔符,單詞盡量使用全名稱,如:

             Public Const MSG_EMPTY_ROW      As String = “有空行存在!”

           

             解釋:

      (1) 對(duì)一些常用詞應(yīng)該使用簡(jiǎn)寫(xiě),如msg

      (2) 使用Public而不是早期版本的global來(lái)聲明變量

      (3) 對(duì)常量的聲明必須帶上類型,如上面的As String



           屬性
             屬性的命名采用首字母大寫(xiě)的原則,如ItemCount Item



           類、窗體和模塊
             類的命名使用功能名詞,不必加任何前綴和后綴,并且單詞首字母大寫(xiě),如:SystemConfig

             窗體命名使用功能名詞 + Form后綴,如:ListForm。 但對(duì)于單據(jù)的明細(xì)窗體則統(tǒng)一使用Detail后綴替換Form

             模塊命名:不必加任何前綴和后綴,直接命名

           自定義控件
             自定義控件的命名:名詞 + Ctrl


      如:EditGridCtrl

      格式
           定義
             定義的代碼塊應(yīng)該放在一起,盡量不要在中間定義變量,變量的定義應(yīng)該頂行進(jìn)齊,不能縮進(jìn),同時(shí)要保證”As”關(guān)鍵字的對(duì)齊,如下:

      Dim i             As Integer

      Dim j             As Integer

      Dim em          As EntityManager

             對(duì)象的定義應(yīng)該盡可能地帶上所屬的庫(kù)名稱,防止以后引起名稱沖突,如引用了兩個(gè)Lib,每個(gè)中都包含一個(gè)stock類,如果不使用As ….Lib.Stock的定義方式,則無(wú)法編譯通過(guò),為了防止以后程序擴(kuò)充和修改時(shí)引入新的庫(kù)帶來(lái)命名沖突,推薦在定義類對(duì)象時(shí)全部加上庫(kù)標(biāo)識(shí),對(duì)于本工程的類對(duì)象定義也要加上,如:

             Dim em          As ObjectPersistenceLib.EntityManager
            

           空行
             空行是區(qū)分代碼塊與塊的間隔,在函數(shù)之間必須加上空行(兩行左右),而函數(shù)內(nèi)部,變量聲明塊和實(shí)現(xiàn)塊(實(shí)現(xiàn)塊指除變量聲明外的其它代碼)要使用空行來(lái)間隔(一行),實(shí)現(xiàn)塊的內(nèi)部,通過(guò)空行來(lái)標(biāo)識(shí)一個(gè)功能段,如:

      Private Sub Check(Order As NYSaleBackLib.Order)

      '* 減少庫(kù)存

      Dim objStockItem          As NYStockLib.StockItem

      Dim objStock                 As NYStockLib.Stock

      Dim i                    As Integer

          Set objStock = CreateStock()

          For i = 0 To Order.ItemCount - 1

              Set objStockItem = Order.item(i)

              '* 減少庫(kù)存

              Call objStock.ReduceItem(objStockItem, True)

          Next i

         

          Set objStock = Nothing
       

      End Sub

      (注意:不要使用過(guò)多的空行,空行太多影響代碼閱讀!)

           縮進(jìn)
             縮進(jìn)必須嚴(yán)格執(zhí)行,變量聲明塊不縮進(jìn),實(shí)現(xiàn)塊必須保證全部縮進(jìn)(即不可能有實(shí)現(xiàn)塊是行首對(duì)齊的)。

             對(duì)于基本的控制結(jié)構(gòu),必須要有縮進(jìn),如:IF、DO、WITH、FOR、OPEN、SELECT塊,縮進(jìn)示例如下:

             …..

             If ….. Then

                    …..

             End If

             …..

             (注意:在任何地方,不要寫(xiě)ElseIf語(yǔ)句,轉(zhuǎn)換成IF..ELSE..ENDIF結(jié)構(gòu))

           
             對(duì)于過(guò)長(zhǎng)的語(yǔ)句,必須使用續(xù)行,續(xù)行位置要有明顯意義,示例:

             sql = “SELECT [code],[name] FROM [Person] “ _

                    & “ WHERE [code] LIKE '001%’ “



             函數(shù)的參數(shù)如果過(guò)長(zhǎng),也應(yīng)該續(xù)行,示例:

      '**

      '增加庫(kù)存

      '@param        ProductCode 產(chǎn)品編號(hào)

      '@param        Spec 長(zhǎng)度規(guī)格

      '@param        Color 顏色

      '@param        Patch 是否拼圈

      '@param        Volumn 盤(pán)號(hào)

      '@param        Ordinal 子庫(kù)存順序號(hào)

      '@param        Length 長(zhǎng)度

      '@param        IsCheck 是否審核入庫(kù)增加(否則為棄審出庫(kù)增加)

      Public Sub AddDetail(ProductCode As String, _

                      Spec As Double, _

                      Color As String, _

                      Patch As Boolean, _

                      Volumn As String, _

                      Ordinal As Integer, _

                      Length As Double, _

                      IsCheck As Boolean)

      注釋
           量
             注釋以盡可能少為宜,但必須要做到別人能夠通過(guò)閱讀你的代碼明白你的意思,讓調(diào)用者明白函數(shù)功能的表達(dá)優(yōu)先級(jí)原則如下:

      (1)       通過(guò)函數(shù)名稱表達(dá)

      (2)       通過(guò)代碼來(lái)表達(dá)

      (3)       通過(guò)注釋來(lái)表達(dá)

      由上可知,注釋是在代碼無(wú)法充分表達(dá)函數(shù)功能時(shí)才提供,注釋同樣應(yīng)該做到準(zhǔn)確簡(jiǎn)潔。

           格式
             注釋的格式遵循vbDocMan的寫(xiě)法,一般情況下使用vbDocMan的注釋編輯器進(jìn)行注釋編寫(xiě),對(duì)于顯而易見(jiàn)的參數(shù)或函數(shù)功能可以不加注釋。參數(shù)注釋中參數(shù)類型可以不要。



      示例:

      '**

      '讀取單據(jù)信息

      '@param        OrderID 單據(jù)號(hào)

      '@param        Order 單據(jù)

      Private Function ReadOrder(OrderID As String, Order As NYSaleBackLib.Order) As Boolean

      End Function





             在每個(gè)代碼模塊(窗體、類、模塊、控件)的最上面,必須寫(xiě)上代碼編寫(xiě)人(使用英文名或中文拼音縮寫(xiě))、代碼創(chuàng)建時(shí)間、代碼修改時(shí)間和修改說(shuō)明。

      示例:

      '**

      '庫(kù)存修改類

      '@writer                pureach

      '@createdate        2003-11-12

      '@revision             pureach       2003-11-15

      '增加對(duì)庫(kù)存修改時(shí)同時(shí)影響最后入庫(kù)日期的功能



      什么是好的代碼
      (1)       可讀性很強(qiáng)的代碼格式,能夠區(qū)分不同的代碼塊

      (2)       清晰明了的命名,在盡可能短的名稱長(zhǎng)度下傳遞足夠多的信息

      (3)       和代碼相得益彰的注釋(不要讓注釋重復(fù)代碼所能表達(dá)的信息)

      (4)       變量的生存期盡可能地短,這樣閱讀者不用去記大量的變量聲明

      (5)       使用小函數(shù),將功能復(fù)雜的大函數(shù)進(jìn)行分隔





      總之,代碼的好壞應(yīng)該讓別人是否能夠容易讀懂來(lái)區(qū)分,如果對(duì)自己的代碼不滿意,那么先給別人閱讀,然后讓閱讀者告訴你他為什么讀不懂,哪些地方讀著吃力。好的代碼應(yīng)該能夠讓你在幾個(gè)月后回顧自己的代碼時(shí)一目了然(架構(gòu)的清晰是代碼易讀的前提)。



      qqq123 發(fā)表于:2005.03.13 21:36 ::分類: ( 初始分類 ) ::閱讀:(256次) :: 評(píng)論 (0)
      ===========================================================
      VB
      ===========================================================
      、變量和對(duì)象

          程序中的變量遵循匈牙利表示法,即“前綴+變量含義”,變量的含義為一個(gè)或多個(gè)英文單詞,每個(gè)單詞的第一個(gè)字母大寫(xiě),不要用漢語(yǔ)拼音代替。變量前綴為三個(gè)小寫(xiě)字母示意其類型,所需添加的前綴遵循微軟在MSDN中的建議。列表如下:




          基本數(shù)據(jù)類型


      變量類型

      前綴

      示例


      Boolean

      bln

      blnFound


      Byte

      byt

      bytRasterData


      Collection object

      col

      colWidgets


      Currency

      cur

      curRevenue


      Date (Time)

      dtm

      dtmStart


      Double

      dbl

      dblTolerance


      Error

      err

      errOrderNum


      Integer

      int

      intQuantity


      Long

      lng

      lngDistance


      Object

      obj

      objCurrent


      Single

      sng

      sngAverage


      String

      str

      strFName


      User-defined type

      udt

      udtEmployee


      Variant

      vnt

      vntCheckSum



         


          控件或窗體、模塊對(duì)象


      控件類型

      前綴

      示例


      3D Panel

      pnl

      pnlGroup


      ADO Data

      ado

      adoBiblio


      Animated button

      ani

      aniMailBox


      Check box

      chk

      chkReadOnly


      Combo box, drop-down list box

      cbo

      cboEnglish


      Command button

      cmd

      cmdExit


      Common dialog

      dlg

      dlgFileOpen


      Communications

      com

      comFax


      Control (在過(guò)程中使用的類型未明的控件變量)

      ctr

      ctrCurrent


      Data

      dat

      datBiblio


      Data-bound combo box

      dbcbo

      dbcboLanguage


      Data-bound grid

      dbgrd

      dbgrdQueryResult


      Data-bound list box

      dblst

      dblstJobType


      Data combo

      dbc

      dbcAuthor


      Data grid

      dgd

      dgdTitles


      Data list

      dbl

      dblPublisher


      Data repeater

      drp

      drpLocation


      Date picker

      dtp

      dtpPublished


      Directory list box

      dir

      dirSource


      Drive list box

      drv

      drvTarget


      File list box

      fil

      filSource


      Flat scroll bar

      fsb

      fsbMove


      Form

      frm

      frmEntry


      Frame

      fra

      fraLanguage


      Gauge

      gau

      gauStatus


      Graph

      gra

      graRevenue


      Grid

      grd

      grdPrices


      Hierarchical flexgrid

      flex

      flexOrders


      Horizontal scroll bar

      hsb

      hsbVolume


      Image

      img

      imgIcon


      Image combo

      imgcbo

      imgcboProduct


      ImageList

      ils

      ilsAllIcons


      Label

      lbl

      lblHelpMessage


      Lightweight check box

      lwchk

      lwchkArchive


      Lightweight combo box

      lwcbo

      lwcboGerman


      Lightweight command button

      lwcmd

      lwcmdRemove


      Lightweight frame

      lwfra

      lwfraSaveOptions


      Lightweight horizontal scroll bar

      lwhsb

      lwhsbVolume


      Lightweight list box

      lwlst

      lwlstCostCenters


      Lightweight option button

      lwopt

      lwoptIncomeLevel


      Lightweight text box

      lwtxt

      lwoptStreet


      Lightweight vertical scroll bar

      lwvsb

      lwvsbYear


      Line

      lin

      linVertical


      List box

      lst

      lstPolicyCodes


      ListView

      lvw

      lvwHeadings


      MAPI message

      mpm

      mpmSentMessage


      MAPI session

      mps

      mpsSession


      MCI

      mci

      mciVideo


      Menu

      mnu

      mnuFileOpen


      Month view

      mvw

      mvwPeriod


      MS Chart

      ch

      chSalesbyRegion


      MS Flex grid

      msg

      msgClients


      MS Tab

      mst

      mstFirst


      OLE container

      ole

      oleWorksheet


      Option button

      opt

      optGender


      Picture box

      pic

      picVGA


      Picture clip

      clp

      clpToolbar


      ProgressBar

      prg

      prgLoadFile


      Remote Data

      rd

      rdTitles


      RichTextBox

      rtf

      rtfReport


      Shape

      shp

      shpCircle


      Slider

      sld

      sldScale


      Spin

      spn

      spnPages


      StatusBar

      sta

      staDateTime


      SysInfo

      sys

      sysMonitor


      TabStrip

      tab

      tabOptions


      Text box

      txt

      txtLastName


      Timer

      tmr

      tmrAlarm


      Toolbar

      tlb

      tlbActions


      TreeView

      tre

      treOrganization


      UpDown

      upd

      updDirection


      Vertical scroll bar

      vsb

      vsbRate





          數(shù)據(jù)庫(kù)對(duì)象


      數(shù)據(jù)庫(kù)對(duì)象

      前綴

      示例


      Container

      con

      conReports


      Database

      db

      dbAccounts


      DBEngine

      dbe

      dbeJet


      Document

      doc

      docSalesReport


      Field

      fld

      fldAddress


      Group

      grp

      grpFinance


      Index

      ix

      idxAge


      Parameter

      prm

      prmJobCode


      QueryDef

      qry

      qrySalesByRegion


      Recordset

      rec

      recForecast


      Relation

      rel

      relEmployeeDept


      TableDef

      tbd

      tbdCustomers


      User

      usr

      usrNew


      Workspace

      wsp

      wspMine





          除此之外,還要對(duì)于一些不同的級(jí)別的變量加額外的前綴,舉例如下:


      級(jí)別

      前綴

      示例


      全局變量

      g

      gstrUserName


      模塊級(jí)變量

      m

      mblnCalcInProgress


      過(guò)程級(jí)變量

      None

      dblVelocity





          對(duì)于用戶使用type關(guān)鍵字定義的數(shù)據(jù)類型,在三個(gè)字母的前綴前再加u。例如:一個(gè)用戶定義的叫Client類型的變量,其前綴為ucli。




          關(guān)于變量使用方面,建議如下:


      1、變量要先聲明再使用(在窗體代碼的第一行加上Option Explicit,來(lái)禁止未聲明變量的調(diào)用,或者在菜單Tools->Options->Editor中選中Require Variable Declaration項(xiàng)。)


      2、盡量使用Long型的變量來(lái)代替Integer類型,這樣做可以減少一些數(shù)據(jù)溢出的錯(cuò)誤,而且,在Win32平臺(tái)上,CPU處理32位的數(shù)據(jù)比16位的數(shù)據(jù)速度更快。


      3、盡量少用Variant變量,盡可能地給出每一個(gè)變量明確的類型


      4、盡量不在API聲明中使用As Any,如果遇到其默認(rèn)的參數(shù)為As Any的情況,則針對(duì)每一個(gè)所需的參數(shù)類型聲明該API函數(shù),例如ReadFile函數(shù)默認(rèn)的聲明為:


      Public Declare Function ReadFile Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long


      小組成員須將其改為:


      Public Declare Function ReadFileByt Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Byte, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long


      Public Declare Function ReadFileInt Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Integer, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long


      Public Declare Function ReadFileLng Lib "kernel32" Alias "ReadFile" (ByVal hFile As Long, lpBuffer As Long, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As OVERLAPPED) As Long




      5、不要將類型轉(zhuǎn)換的工作交給VB自動(dòng)去做,而使用以下類型轉(zhuǎn)換函數(shù)


      CBool(expression)


      CByte(expression)


      CCur(expression)


      CDate(expression)


      CDbl(expression)


      CDec(expression)


      CInt(expression)


      CLng(expression)


      CSng(expression)


      CStr(expression)


      CVar(expression)




      二、窗體布局


          窗體內(nèi)各個(gè)控件的布局,建議如下:


          1、所有與窗體上、下、左、右四條邊界相鄰的控件與窗體的邊緣相距120緹


          2、各個(gè)控件之間的間距為:相關(guān)控件60緹,非相關(guān)控件120緹


          3、按鈕控件大小建議為高300緹,長(zhǎng)1200緹,這也是操作系統(tǒng)默認(rèn)按鈕的大小


          4、各個(gè)控件的字體建議為宋體五號(hào)字




      三、代碼


          1、程序的啟動(dòng)對(duì)象


              程序一率從Main()函數(shù)開(kāi)始執(zhí)行(選擇菜單View->Project Explorer,在工程窗口內(nèi)右鍵點(diǎn)擊當(dāng)前項(xiàng)目,選擇菜單“… Properties”->General,在Startup Object下拉框中選擇sub main)


      2、代碼縮進(jìn)與間距


              每個(gè)單位的代碼縮進(jìn)為一個(gè)TAB,非相關(guān)代碼留一行空白的間隔,例如:


      Private Function GetMax(Byref lngArray() As Long) As Long




          GetMax=0




          Dim lngMax As Long


          Dim lngCount as long




          For lngCount =0 to Ubound(lngArray)


              If lngArray (lngCount)>lngMax Then


                  lngMax=lngArray(lngCount)


              End If


          Next




      End Function




          3、注譯


              程序的注譯越詳盡,越仔細(xì)越好。以下提及的,必須加注譯。


              程序中聲明的每一個(gè)變量,能加上注譯最好,至少用來(lái)運(yùn)算或者保存關(guān)鍵數(shù)據(jù)的變量必須加上注譯。


              對(duì)于每一段邏輯上實(shí)現(xiàn)某個(gè)基本功能的幾句代碼,最好在其上一行加上簡(jiǎn)單注譯。


              對(duì)于每一個(gè)自定義的函數(shù),不管大小都必須加上注譯,而且注譯的格式如下:


      '******************************************************


      '


      '函數(shù)所實(shí)現(xiàn)的功能


      '函數(shù)的參數(shù)1的含義:XXXXX


      '函數(shù)的參數(shù)2的含義:XXXXX


      '……


      '函數(shù)返回值所代表的錯(cuò)誤信息:XXXXX(函數(shù)盡可能聲明為Function,不要聲明為Sub,


      '函數(shù)的返回值為0表示執(zhí)行成功,為其它值表示執(zhí)行失?。?


      '


      '******************************************************




      Public(Private) Function ForExample(……………………) As Long


      '…………………………………………


      End Function




          4、錯(cuò)誤處理(未定)


              在Main()函數(shù)或主窗體Load過(guò)程中添加如下代碼:


      '******************************************************


      '


      '打開(kāi)錯(cuò)誤日志文件,在Form_Unload()中關(guān)閉


      '


      '******************************************************




          Dim strExePath As String


          If Right(App.Path, 1) = "" Then


              strExePath = App.Path


          Else


              strExePath = App.Path & ""


          End If


          intErrLogFileHandle = FreeFile()


      Open strExePath + "Err.log" For Append Shared As intErrLogFileHandle




              在主窗體退出函數(shù)中添加如下代碼:


      '******************************************************


      '


      '關(guān)閉錯(cuò)誤日志文件


      '


      '******************************************************




          Close #intErrLogFileHandle




              在某個(gè)Module中添加:


      '******************************************************


      '


      '寫(xiě)入錯(cuò)誤日志


      '


      '******************************************************


      Public Sub WriteErrLogFile(ByVal strSub As String, ByVal strErr As String)


          Print #intErrLogFileHandle, Date, Time, strSub, strErr


      End Sub




              在每個(gè)過(guò)程或自定義的函數(shù)中,使用如下的系統(tǒng)錯(cuò)誤捕獲機(jī)制:


      Public Function ForExample(…………) As Long




          On Error Goto FuncError




          ForExample=True




          ………………………


          ………………………




          Exit Function




      FuncError:


          ForExample=False


          WriteErrLogFile " ForExample ", "錯(cuò)誤號(hào):" & Err.Number & ",錯(cuò)誤源:" & Err.Source & ",錯(cuò)誤描述:" & Err.Description


          MsgBox  "……… ", vbCritical


          '在此作內(nèi)存資源回收工作




      End Function


        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多