人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

公司軟件部VB組代碼撰寫暫行約定    probezy(轉貼)

公司軟件部VB組代碼撰寫暫行約定 probezy(轉貼)

更新時間:2022-07-09 文章作者:未知 信息來源:網絡 閱讀次數:

公司軟件部VB組代碼撰寫暫行約定probezy(轉貼)

出處 http://www.vbprobe.com


一、變量和對象

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

基本數據類型

變量類型前綴示例

BooleanblnblnFound

BytebytbytRasterData

Collection objectcolcolWidgets

CurrencycurcurRevenue

Date (Time)dtmdtmStart

DoubledbldblTolerance

ErrorerrerrOrderNum

IntegerintintQuantity

LonglnglngDistance

ObjectobjobjCurrent

SinglesngsngAverage

StringstrstrFName

User-defined typeudtudtEmployee

VariantvntvntCheckSum


控件或窗體、模塊對象

控件類型前綴示例

3D PanelpnlpnlGroup

ADO DataadoadoBiblio

Animated buttonanianiMailBox

Check boxchkchkReadOnly

Combo box, drop-down list box cbocboEnglish

Command buttoncmdcmdExit

Common dialogdlgdlgFileOpen

CommunicationscomcomFax

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

DatadatdatBiblio

Data-bound combo boxdbcbodbcboLanguage

Data-bound griddbgrddbgrdQueryResult

Data-bound list boxdblstdblstJobType

Data combodbcdbcAuthor

Data griddgddgdTitles

Data listdbldblPublisher

Data repeaterdrpdrpLocation

Date pickerdtpdtpPublished

Directory list boxdirdirSource

Drive list boxdrvdrvTarget

File list boxfilfilSource

Flat scroll barfsbfsbMove

FormfrmfrmEntry

FramefrafraLanguage

Gaugegau gauStatus

GraphgragraRevenue

GridgrdgrdPrices

Hierarchical flexgridflexflexOrders

Horizontal scroll barhsbhsbVolume

ImageimgimgIcon

Image comboimgcbo
imgcboProduct ImageListils
ilsAllIcons Labellbl
lblHelpMessageLightweight check box
lwchklwchkArchive Lightweight combo box
lwcbolwcboGerman
Lightweight command button
lwcmd Month view
mvwmvwPeriod

MS ChartchchSalesbyRegion

MS Flex gridmsgmsgClients

MS TabmstmstFirst

OLE containeroleoleWorksheet

Option buttonoptoptGender

Picture boxpicpicVGA

Picture clipclpclpToolbar

ProgressBarprgprgLoadFile

Remote DatardrdTitles

RichTextBoxrtfrtfReport

ShapeshpshpCircle

SlidersldsldScale

SpinspnspnPages

StatusBarstastaDateTime

SysInfosyssysMonitor

TabStriptabtabOptions

Text box txttxtLastName

TimertmrtmrAlarm

ToolbartlbtlbActions

TreeViewtretreOrganization

UpDownupdupdDirection

Vertical scroll barvsbvsbRate 

數據庫對象

數據庫對象前綴示例

ContainerconconReports

DatabasedbdbAccounts

DBEnginedbedbeJet DocumentdocdocSalesReport

FieldfldfldAddress
GroupgrpgrpFinance

IndexixidxAge

ParameterprmprmJobCode

QueryDef qry qrySalesByRegion

RecordsetrecrecForecast

RelationrelrelEmployeeDept

TableDeftbdtbdCustomers

UserusrusrNew

WorkspacewspwspMine


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

級別前綴示例

全局變量g ty

對于用戶使用type關鍵字定義的數據類型,在三個字母的前綴前再加u。例如:一個用戶定義的叫Client類型的變量,其前綴為ucli。

關于變量使用方面,建議如下:

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

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

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

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

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、不要將類型轉換的工作交給VB自動去做,而使用以下類型轉換函數

CBool(expression)

CByte(expression)

CCur(expression)

CDate(expression)

CDbl(expression)

CDec(expression)

CInt(expression)

CLng(expression)

CSng(expression)

CStr(expression)

CVar(expression)

二、窗體布局

窗體內各個控件的布局,建議如下:

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

2、各個控件之間的間距為:相關控件60緹,非相關控件120緹

3、按鈕控件大小建議為高300緹,長1200緹,這也是操作系統默認按鈕的大小

4、各個控件的字體建議為宋體五號字

三、代碼

1、程序的啟動對象

程序一率從Main()函數開始執行(選擇菜單View->Project Explorer,在工程窗口內右鍵點擊當前項目,選擇菜單“… Properties”->General,在Startup Object下拉框中選擇sub main)

2、代碼縮進與間距

每個單位的代碼縮進為一個TAB,非相關代碼留一行空白的間隔,例如:

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、注譯

程序的注譯越詳盡,越仔細越好。以下提及的,必須加注譯。
程序中聲明的每一個變量,能加上注譯最好,至少用來運算或者保存關鍵數據的變量必須加上注譯。
對于每一段邏輯上實現某個基本功能的幾句代碼,最好在其上一行加上簡單注譯。
對于每一個自定義的函數,不管大小都必須加上注譯,而且注譯的格式如下:

'******************************************************
'
'函數所實現的功能

'函數的參數1的含義:XXXXX
'函數的參數2的含義:XXXXX

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

'函數的返回值為0表示執行成功,為其它值表示執行失敗)

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

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

End Function
4、錯誤處理(未定)

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

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

'

'打開錯誤日志文件,在Form_Unload()中關閉

'
'******************************************************
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

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

'******************************************************
'
'關閉錯誤日志文件

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

 Close #intErrLogFileHandle

在某個Module中添加:

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

'
'寫入錯誤日志

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

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

Print #intErrLogFileHandle, Date, Time, strSub, strErr

End Sub

在每個過程或自定義的函數中,使用如下的系統錯誤捕獲機制:

Public Function ForExample(…………) As Long

On Error Goto FuncError

ForExample=True

………………………

Exit Function

FuncError:

ForExample=False

WriteErrLogFile " ForExample ", "錯誤號:" & Err.Number & ",錯誤源:" & Err.Source & ",錯誤描述:" & Err.Description

MsgBox"……… ", vbCritical

'在此作內存資源回收工作

End Function

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 银川市| 汪清县| 吉木萨尔县| 清水县| 平遥县| 镇坪县| 麻阳| 合阳县| 改则县| 开江县| 乳山市| 井陉县| 洞头县| 元朗区| 聂荣县| 浙江省| 襄垣县| 崇仁县| 航空| 黄冈市| 县级市| 厦门市| 台山市| 从化市| 淮安市| 德兴市| 乐至县| 洪泽县| 桐梓县| 都匀市| 桓仁| 股票| 百色市| 邛崃市| 永安市| 高雄市| 建宁县| 辉南县| 乾安县| 聂拉木县| 资中县|