Thông tin: Microsoft tư v?n d?ch v? quy ư?c đ?t tên cho Visual Basic

D?ch tiêu đ? D?ch tiêu đ?
ID c?a bài: 110264 - Xem s?n ph?m mà bài này áp d?ng vào.
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Đó là m?t ? tư?ng t?t đ? thành l?p công ư?c đ?t tên cho b?n Visual Basic M?. Bài vi?t này cung c?p cho b?n các công ư?c đ?t tên đư?c s? d?ng b?i Microsoft D?ch v? tư v?n (MCS).

Tài li?u này là m?t superset c?a Visual Basic m? hóa công ư?c đư?c t?m th?y trong Visual Basic "Programmer's Guide."

Lưu ?: Các đi?u khi?n bên th? ba đư?c đ? c?p trong bài vi?t này đư?c s?n xu?t b?i nhà cung c?p đ?c l?p c?a Microsoft. Microsoft đưa ra không có b?o hành, ng? ? ho?c b?ng cách khác, liên quan đ?n các đi?u khi?n hi?u su?t ho?c đ? tin c?y.

THÔNG TIN THÊM

Quy ư?c đ?t tên giúp Visual Basic l?p tr?nh:

  • tiêu chu?n hóa cơ c?u, m? hóa phong cách và logic c?a ?ng d?ng.
  • t?o m? ngu?n chính xác, có th? đ?c đư?c và r? ràng.
  • phù h?p v?i công ư?c ngôn ng? khác (quan tr?ng nh?t là, các Visual Basic l?p tr?nh hư?ng d?n và tiêu chu?n C Windows Hungary k? hi?u).
  • hi?u qu? t? m?t kích thư?c chu?i và lao đ?ng quan đi?m, do đó cho phép m?t cơ h?i l?n hơn cho tên dài hơn và đ?y đ? hơn đ?i tư?ng.
  • xác đ?nh các yêu c?u t?i thi?u c?n thi?t đ? làm ? trên.

Thi?t l?p tùy ch?n môi trư?ng

S? d?ng l?a ch?n r? ràng. Tuyên b? t?t c? các bi?n đ? ti?t ki?m th?i gian b?i l?p tr?nh gi?m s? lư?ng các l?i gây ra b?i typos (ví d?, aUserNameTmp vs. sUserNameTmp vs sUserNameTemp). Trong h?p tho?i tùy ch?n môi trư?ng, thi?t l?p Yêu c?u bi?n tuyên b? đ? có. Các báo cáo tùy ch?n r? ràng yêu b?n tuyên b? t?t c? các bi?n chương tr?nh Visual Basic c?a b?n. Lưu t?p như văn b?n ASCII. Lưu bi?u m?u (.FRM) và mô-đun (.BAS) t?p tin như ASCII văn b?n đ? t?o thu?n l?i cho vi?c s? d?ng các phiên b?n ki?m soát h? th?ng và gi?m thi?u các thi?t h?i mà có th? đư?c gây ra b?i tham nh?ng đ?a. Ngoài ra, b?n có th?:

  • s? d?ng tr?nh so?n th?o riêng c?a b?n
  • s? d?ng công c? t? đ?ng, ch?ng h?n như grep
  • t?o m? th? h? ho?c trư?ng h?p công c? cho Visual Basic
  • th?c hi?n bên ngoài phân tích m? c?a b?n Visual Basic
Có Visual Basic luôn luôn lưu t?p như văn b?n ASCII, t? môi trư?ng H?p tho?i tùy ch?n, thi?t l?p các tùy ch?n m?c đ?nh Save As Format đ? văn b?n.

Đ?i tư?ng công ư?c đ?t tên cho các đ?i tư?ng tiêu chu?n

B?ng dư?i đây xác đ?nh các đ?i tư?ng tiêu chu?n MCS tên ti?n t?. Đây ti?n t? là phù h?p v?i nh?ng tài li?u trong Visual Basic L?p tr?nh hư?ng d?n.
Prefix    Object Type                           Example
-------------------------------------------------------
ani       Animation button                      aniMailBox
bed       Pen Bedit                             bedFirstName
cbo       Combo box and drop down list box      cboEnglish
chk       Checkbox                              chkReadOnly
clp       Picture clip                          clpToolbar
cmd (3d)  Command button (3D)                   cmdOk (cmd3dOk)
com       Communications                        comFax
ctr       Control (when specific type unknown)  ctrCurrent
dat       Data control                          datBiblio
dir       Directory list box                    dirSource
dlg       Common dialog control                 dlgFileOpen
drv       Drive list box                        drvTarget
fil       File list box                         filSource
frm       Form                                  frmEntry
fra (3d)  Frame (3d)                            fraStyle (fra3dStyle)
gau       Gauge                                 gauStatus
gpb       Group push button                     gpbChannel
gra       Graph                                 graRevenue
grd       Grid                                  grdPrices
hed       Pen Hedit                             hedSignature
hsb       Horizontal scroll bar                 hsbVolume
img       Image                                 imgIcon
ink       Pen Ink                               inkMap
key       Keyboard key status                   keyCaps
lbl       Label                                 lblHelpMessage
lin       Line                                  linVertical
lst       List box                              lstPolicyCodes
mdi       MDI child form                        mdiNote
mpm       MAPI message                          mpmSentMessage
mps       MAPI session                          mpsSession
mci       MCI                                   mciVideo
mnu       Menu                                  mnuFileOpen
opt (3d)  Option Button (3d)                    optRed (opt3dRed)
ole       OLE control                           oleWorksheet
out       Outline control                       outOrgChart
pic       Picture                               picVGA
pnl3d     3d Panel                              pnl3d
rpt       Report control                        rptQtr1Earnings
shp       Shape controls                        shpCircle
spn       Spin control                          spnPages
txt       Text Box                              txtLastName
tmr       Timer                                 tmrAlarm
vsb       Vertical scroll bar                   vsbRate
				

Đ?i tư?ng quy ư?c đ?t tên cho các đ?i tư?ng cơ s? d? li?u

Prefix        Object Type          Example
------------------------------------------
db            ODBC Database        dbAccounts
ds            ODBC Dynaset object  dsSalesByRegion
fdc           Field collection     fdcCustomer
fd            Field object         fdAddress
ix            Index object         ixAge
ixc           Index collection     ixcNewAge
qd            QueryDef object      qdSalesByRegion
qry (suffix)  Query (see NOTE)     SalesByRegionQry
ss            Snapshot object      ssForecast
tb            Table object         tbCustomer
td            TableDef object      tdCustomers

				
Lưu ?: B?ng cách s? d?ng m?t h?u t? cho các truy v?n cho phép m?i truy v?n đ? đư?c s?p x?p v?i c?a nó liên k?t b?ng trong h?p tho?i Microsoft Access (thêm b?ng, b?ng danh sách» ?nh ch?p).

Quy ư?c đ?t tên đơn

Các ?ng d?ng thư?ng xuyên s? d?ng m?t s? phong phú c?a đi?u khi?n menu. Do đó, b?n c?n m?t b? khác nhau c?a công ư?c đ?t tên cho các đi?u khi?n này. Menu đi?u khi?n ti?n t? nên đư?c m? r?ng vư?t ra ngoài các nh?n ban đ?u mnu b?ng cách thêm m?t ti?n t? b? sung cho m?i c?p đ? làm t?, v?i các chú thích đơn cu?i cùng lúc k?t thúc c?a chu?i tên. Ví dụ:
Menu Caption Sequence   Menu Handler Name
Help.Contents           mnuHelpContents
File.Open               mnuFileOpen
Format.Character        mnuFormatCharacter
File.Send.Fax           mnuFileSendFax
File.Send.Email         mnuFileSendEmail
				
Khi công ư?c này đư?c s? d?ng, t?t c? thành viên c?a m?t nhóm c? th? đơn có đư?c li?t kê bên c?nh nhau trong các đ?i tư?ng danh sách th? xu?ng h?p (trong m? c?a s? và c?a s? tài s?n). Ngoài ra, menu đi?u khi?n tên r? ràng tài li?u t? các m?c tr?nh đơn mà h? đư?c k?t n?i vào.

Quy ư?c đ?t tên cho các đi?u khi?n khác

Cho m?i đi?u khi?n không đư?c li?t kê ? trên, h?y th? đ? đi lên v?i m?t ba đ?c đáo nhân v?t ti?n t?. Tuy nhiên, nó là quan tr?ng đ? r? ràng hơn đ? dính ba k? t?.

Đ?i v?i đi?u khi?n phái sinh, ch?ng h?n như m?t h?p danh sách nâng cao, m? r?ng các ti?n t? trên đây như v?y mà có là không có s? nh?m l?n trong đó ki?m soát th?c s? đang đư?c s? d?ng. M?t tên vi?t t?t th?p hơn trư?ng h?p cho các nhà s?n xu?t s? c?ng thư?ng đư?c thêm vào ti?n t?. Ví d?, m?t trư?ng h?p ki?m soát t?o t? các Visual Basic Professional 3D khung có th? s? d?ng m?t ti?n t? c?a fra3d đ? tránh s? nh?m l?n trong đó đi?u khi?n đang th?c s? đư?c s? d?ng. M?t nút l?nh t? MicroHelp có th? s? d?ng cmdm đ? phân bi?t nó t? l?nh tiêu chu?n nút (cmd).

Đi?u khi?n bên th? ba

M?i đi?u khi?n bên th? ba đư?c s? d?ng trong m?t ?ng d?ng nên đư?c li?t kê trong các ph?n b?nh lu?n t?ng quan c?a ?ng d?ng, là vi?c cung c?p ti?n t? đư?c s? d?ng cho các ki?m soát, tên đ?y đ? c?a b? đi?u khi?n, và tên c?a nhà cung c?p ph?n m?m:
Prefix    Control Type        Vendor
cmdm      Command Button      MicroHelp
				

Bi?n và thói quen đ?t tên

Tên bi?n và ch?c năng có c?u trúc sau đây:<prefix><body><qualifier><suffix> </suffix></qualifier></body></prefix>
Part          Description                                  Example
--------------------------------------------------------------------------
<prefix>      Describes the use and scope of the variable. iGetRecordNext
<body>        Describes the variable.                      iGetNameFirst
<qualifier>   Denotes a derivative of the variable.        iGetNameLast
<suffix>      The optional Visual Basic type character.    iGetRecordNext%
				
Ti?n t?:

B?ng dư?i đây xác đ?nh bi?n và ch?c năng tên t? đư?c d?a trên k? hi?u Hungary C cho Windows. Nh?ng ti?n t? này nên đư?c s? d?ng v?i t?t c? các bi?n và hàm tên. S? d?ng các h?u t? cơ b?n c? (ch?ng h?n như %, &, #, v.v..) đư?c khuy?n khích.

Thay đ?i và ch?c năng tên ti?n t?:
Prefix    Converged    Variable Use         Data Type  Suffix
--------------------------------------------------------------------------
b         bln          Boolean              Integer    %
c         cur          Currency - 64 bits   Currency   @
d         dbl          Double - 64 bit      Double     #
                       signed quantity
dt        dat          Date and Time        Variant
e         err          Error
f         sng          Float/Single - 32    Single     !
                       bit signed
                       floating point
h                      Handle               Integer    %
i                      Index                Integer    %
l         lng          Long - 32 bit        Long       &
                       signed quantity
n         int          Number/Counter       Integer    %
s         str          String               String     $
u                      Unsigned - 16 bit    Long       &
                       unsigned quantity
          udt          User-defined type
vnt       vnt          Variant              Variant
a                      Array
				
Lưu ?: các giá tr? trong c?t Converged đ?i di?n cho nh?ng n? l?c đ? kéo nhau các tiêu chu?n đ?t tên cho Visual Basic, Visual Basic cho các ?ng d?ng, và Truy c?p cơ b?n. Nó có kh? năng r?ng các ti?n t? s? tr? thành Microsoft tiêu chu?n t?i m?t s? đi?m trong tương lai.

Ph?m vi và cách s? d?ng ti?n t?:
Prefix         Description
g              Global
m              Local to module or form
st             Static variable
(no prefix)    Non-static variable, prefix local to procedure
v              Variable passed by value (local to a routine)
r              Variable passed by reference (local to a routine)
				
K? hi?u Hungary có giá tr? trong Visual Basic, v? nó là trong C. M?c dù h?u t? lo?i Visual Basic ch? ra m?t bi?n ki?u d? li?u, h? làm không gi?i thích nh?ng g? m?t bi?n ho?c ch?c năng đư?c s? d?ng, ho?c làm th? nào nó có th? truy c?p. Dư?i đây là m?t s? ví d?:
iSend - đ?i di?n cho m?t s? c?a s? lư?ng thư đư?c g?i
bSend - A Boolean c? xác đ?nh s? thành công c?a chi?n d?ch g?i qua
hSend - A x? l? giao di?n Comm
M?i ngư?i trong s? các tên bi?n cho bi?t m?t l?p tr?nh viên m?t cái g? đó r?t khác nhau. Thông tin này s? b? m?t khi tên bi?n gi?m đ?n g?i %. Ph?m vi ti?n t? ch?ng h?n như g và m c?ng giúp làm gi?m v?n đ? ganh đua tên đ?c bi?t là trong các d? án multi-developer.

K? hi?u Hungary c?ng r?ng r?i đư?c s? d?ng b?i Windows C các l?p tr?nh viên và liên t?c đư?c tham chi?u trong tài li?u s?n ph?m Microsoft và trong ngành công nghi?p l?p tr?nh sách. Ngoài ra, liên k?t gi?a các l?p tr?nh viên c và các l?p tr?nh viên s? d?ng Visual Basic s? tr? nên m?nh hơn nhi?u như th? giác H? th?ng phát tri?n C++ thu Đà. Chuy?n đ?i này s? k?t qu? trong r?t nhi?u Visual Basic l?p tr?nh di chuy?n đ?n c cho l?n đ?u tiên và nhi?u các l?p tr?nh viên di chuy?n thư?ng xuyên tr? l?i và ra t? c? hai môi trư?ng.

Cơ th? c?a bi?n và thói quen tên

Cơ th? c?a m?t bi?n ho?c thói quen tên nên s? d?ng h?n h?p trư?ng h?p và nên mi?n là c?n thi?t đ? mô t? m?c đích c?a nó. Ngoài ra, ch?c năng tên nên b?t đ?u v?i m?t đ?ng t?, ví d? như InitNameArray ho?c CloseDialog.

Cho thu?t ng? thư?ng đư?c s? d?ng hay dài, chu?n ch? vi?t t?t đư?c khuy?n cáo đ? gi? cho đ? dài tên h?p l?. Nói chung, bi?n tên l?n hơn hơn 32 k? t? có th? đư?c khó khăn đ? đ?c trên VGA hi?n th?.

Khi s? d?ng ch? vi?t t?t, h?y ch?c ch?n r?ng h? là nh?t quán trong su?t các ?ng d?ng toàn b?. Ng?u nhiên chuy?n m?ch gi?a Cnt và s? l?n trong v?ng m?t d? án s? d?n đ?n s? nh?m l?n không c?n thi?t.

V?ng lo?i vào bi?n và thói quen tên

Liên quan đ?n các bi?n và thói quen thư?ng đư?c s? d?ng đ? qu?n l? và thao tác m?t đ?i tư?ng ph? bi?n. Trong nh?ng trư?ng h?p này, s? d?ng tiêu chu?n v?ng lo?i đ? nh?n các b?t ngu?n t? các bi?n và thói quen. M?c dù đ?t v?ng lo?i sau khi các cơ th? c?a tên có v? m?t chút khó khăn (như trong sGetNameFirst, sGetNameLast thay v? c?a sGetFirstName, sGetLastName), th?c hành này s? giúp ra l?nh các tên v?i nhau trong các Visual Basic biên t?p danh sách thư?ng xuyên, làm cho logic và c?u trúc c?a ?ng d?ng d? dàng hơn đ? hi?u. B?ng sau đây xác đ?nh v?ng lo?i ph? bi?n và ? ngh?a tiêu chu?n c?a h?:
Qualifier  Description (follows Body)
--------------------------------------------------------------------------
First      First element of a set.
Last       Last element of a set.
Next       Next element in a set.
Prev       Previous element in a set.
Cur        Current element in a set.
Min        Minimum value in a set.
Max        Maximum value in a set.
Save       Used to preserve another variable that must be reset later.
Tmp        A "scratch" variable whose scope is highly localized within the
           code. The value of a Tmp variable is usually only valid across
           a set of contiguous statements within a single procedure.
Src        Source. Frequently used in comparison and transfer routines.
Dst        Destination. Often used in conjunction with Source.
				

Ngư?i dùng xác đ?nh lo?i

Tuyên b? xác đ?nh lo?i ngư?i dùng trong t?t c? các m? v?i _TYPE n?i thêm vào cu?i tên k? hi?u. Ví dụ:
Type CUSTOMER_TYPE
      sName As String
      sState As String * 2
      lID as Long
   End Type
				
Khi khai báo m?t bi?n th? hi?n c?a m?t ngư?i dùng xác đ?nh lo?i, thêm m?t ti?n t? đ? tên bi?n đ? tham kh?o lo?i. Ví dụ:
   Dim custNew as CUSTOMER_TYPE
				

Đ?t tên các h?ng s?

Cơ th? không đ?i tên nên UPPER_CASE v?i underscores (_) gi?a các t?. M?c dù h?ng s? Visual Basic tiêu chu?n bao g?m Thông tin Hungary, ti?n t? như i, s, g, và m có th? r?t h?u ích trong hi?u bi?t v? giá tr? và ph?m vi c?a m?t h?ng s?. Không đ?i tên, h?y theo các quy t?c tương t? như các bi?n. Ví d?:
<mnUSER_LIST_MAX   ' Max entry limit for User list (integer value,
                     ' local to module)
   gsNEW_LINE        ' New Line character string (global to entire
                     ' application)
				

Bi?n th? lo?i d? li?u

N?u b?n bi?t r?ng m?t bi?n s? luôn luôn lưu tr? d? li?u c?a m?t lo?i h?nh c? th?, Có Visual Basic th? x? l? d? li?u đó hi?u qu? hơn n?u b?n tuyên b? m?t bi?n ki?u đó.

Tuy nhiên, ki?u bi?n th? d? li?u có th? c?c k? h?u ích khi làm vi?c v?i cơ s? d? li?u, tin nh?n, DDE ho?c OLE. Nhi?u cơ s? d? li?u cho phép NULL như m?t h?p l? giá tr? cho m?t l?nh v?c. M? c?a b?n c?n ph?i phân bi?t gi?a NULL, 0 (zero), và "" (r?ng chu?i). Nhi?u l?n, các lo?i ho?t đ?ng kinh doanh có th? s? d?ng m?t thói quen chung lo?i d?ch v? mà không c?n ph?i bi?t lo?i d? li?u nó nh?n đư?c cho quá tr?nh ho?c vư?t qua trên các d? li?u. Ví dụ:
   Sub ConvertNulls(rvntOrg As Variant, rvntSub As Variant)
      ' If rvntOrg = Null, replace the Null with rvntSub
      If IsNull(rvntOrg) Then rvntOrg = rvntSub
   End Sub
				
Là có m?t s? như?c đi?m, tuy nhiên, b?ng cách s? d?ng các bi?n th?. M? phát bi?u r?ng các phiên b?n s? d?ng đôi khi có th? mơ h? đ? các l?p tr?nh viên. Ví dụ:
   vnt1 = "10.01" : vnt2 = 11 : vnt3 = "11" : vnt4 = "x4"
   vntResult = vnt1 + vnt2  ' Does vntResult = 21.01 or 10.0111?
   vntResult = vnt2 + vnt1  ' Does vntResult = 21.01 or 1110.01?
   vntResult = vnt1 + vnt3  ' Does vntResult = 21.01 or 10.0111?
   vntResult = vnt3 + vnt1  ' Does vntResult = 21.01 or 1110.01?
   vntResult = vnt2 + vnt4  ' Does vntResult = 11x4 or ERROR?
   vntResult = vnt3 + vnt4  ' Does vntResult = 11x4 or ERROR?
				
Các ví d? ? trên s? ít hơn nhi?u mơ h? và d? dàng hơn đ? đ?c, g? l?i, và duy tr? n?u thói quen chuy?n đ?i lo?i Visual Basic đ? đư?c s? d?ng Thay vào đó. Ví d?:
   iVar1 = 5 + val(sVar2)   ' use this (explicit conversion)
   vntVar1 = 5 + vntVar2    ' not this (implicit conversion)
				

Cho ? ki?n c?a b?n m?

T?t c? các th? t?c và ch?c năng nên b?t đ?u v?i m?t b?nh lu?n ng?n g?n mô t? các đ?c tính ch?c năng c?a thói quen (nh?ng g? nó làm). Đi?u này mô t? nên không mô t? chi ti?t th?c hi?n (làm th? nào nó đ? nó) v? đây thư?ng xuyên thay đ?i theo th?i gian, k?t qu? là không c?n thi?t b?nh lu?n công vi?c b?o tr?, ho?c t? hơn chưa, sai ? ki?n. M? chính nó, và b?t k? trong d?ng c?n thi?t ho?c ? ki?n đ?a phương s? mô t? vi?c th?c hi?n.

Các tham s? truy?n cho m?t thói quen c?n đư?c mô t? khi ch?c năng c?a h? là không r? ràng và khi nh?ng thói quen d? ki?n các tham s? đ? trong m?t c? th? t?m ho?t đ?ng. Ch?c năng giá tr? tr? l?i và bi?n toàn c?u đư?c thay đ?i b?i các thói quen (đ?c bi?t là thông qua các tham s? tham kh?o) c?ng ph?i đư?c mô t? t?i s? kh?i đ?u c?a m?i thói quen.

B?nh lu?n tiêu đ? thư?ng l? kh?i nên gi?ng như th? này (xem ph?n k? ti?p "Đ?nh d?ng c?a b?n m?" cho m?t ví d?):
Section    Comment Description
--------------------------------------------------------------------------
Purpose    What the routine does (not how).
Inputs     Each non-obvious parameter on a separate line with
           in-line comments
Assumes    List of each non-obvious external variable, control, open file,
           and so on.
Returns    Explanation of value returned for functions.
Effects    List of each effected external variable, control, file, and
           so on and the affect it has (only if this is not obvious)
				
M?i khai báo bi?n không nh? nên bao g?m m?t b?nh lu?n trong d?ng mô t? vi?c s? d?ng các bi?n đư?c tuyên b?.

Bi?n, đi?u khi?n, và thói quen nên đư?c đ?t tên r? ràng đ? r?ng trong – d?ng cho ? ki?n là ch? c?n thi?t cho vi?c th?c hi?n ph?c t?p ho?c không tr?c quan thông tin chi ti?t.

M?t mô t? t?ng quan c?a ?ng d?ng, li?t kê d? li?u chính các đ?i tư?ng, thói quen, thu?t toán, h?p tho?i, cơ s? d? li?u và t?p tin h? th?ng quan h? ph? thu?c, và như v?y nên đư?c bao g?m ? đ?u các.Mô-đun BAS có ch?a các d? án Visual Basic chung liên t?c khai báo.

Lưu ?: C?a s? d? án v?n đ? mô t? trong danh sách các t?p tin trong m?t d? án, do đó, ph?n t?ng quan này ch? c?n cung c?p thông tin v? các t?p tin quan tr?ng nh?t và mô-đun, ho?c các t?p tin c?a s? d? án không danh sách, ch?ng h?n như kh?i t?o (.INI) ho?c cơ s? d? li?u t?p tin.

Đ?nh d?ng m? c?a b?n

B?i v? các l?p tr?nh v?n c?n s? d?ng VGA màn h?nh, màn h?nh b?t đ?ng s?n ph?i b?o t?n càng nhi?u càng t?t, trong khi v?n cho phép m? đ?nh d?ng, đ? ph?n ánh c?u trúc logic và làm t?.

Tiêu chu?n, d?a trên tab, kh?i làm t? l?m nên là 2-4 d?u cách. Nhi?u hơn b?n không gian là không c?n thi?t và có th? gây ra phát bi?u đư?c ?n ho?c c?t ng?n vô t?nh. Ít hơn 2 kho?ng không đ?y đ? cho th?y logic làm t?. Trong Microsoft Knowledge Base, chúng tôi s? d?ng m?t không gian ba th?t l?. S? d?ng h?p tho?i tùy ch?n môi trư?ng đ? thi?t l?p m?c đ?nh tab width.

Nh?ng nh?n xét t?ng quan ch?c năng c?a m?t thói quen nên th?t vào m?t không gian. Nh?ng đi?u kho?n c?p cao nh?t mà theo nh?ng nh?n xét t?ng quan nên th?t vào m?t tab, v?i m?i kh?i l?ng nhau th?t vào m?t tab b? sung. Cho Ví d?:
**************************************************************************
'Purpose:   Locate first occurrence of a specified user in UserList array.
'Inputs:    rasUserList():  the list of users to be searched
'           rsTargetUser:   the name of the user to search for
'Returns:   the index of the first occurrence of the rsTargetUser
'           in the rasUserList array. If target user not found, return -1.
'**************************************************************************

'VB3Line: Enter the following lines as one line
Function iFindUser (rasUserList() As String, rsTargetUser as String) _
   As Integer
   Dim i As Integer           ' loop counter
   Dim bFound As Integer      ' target found flag
   iFindUser = -1
   i = 0
   While i <= Ubound(rasUserList) and Not bFound
      If rasUserList(i) = rsTargetUser Then
         bFound = True
         iFindUser = i
      End If
   Wend
End Function
				
Các bi?n và h?ng s? phi-chung nên đư?c nhóm l?i theo ch?c năng thay v? hơn b?i đang đư?c tách ra thành các khu v?c b? cô l?p ho?c t?p tin đ?c bi?t. Visual Basic h?ng s? chung chung như HOURGLASS nên đư?c nhóm l?i trong m?t mô-đun duy nh?t (VB_STD.BAS) đ? gi? cho h? tách bi?t khai báo ?ng d?ng c? th?.

Các nư?c s? d?ng

Luôn luôn s? d?ng m?t d?u "và" (&) khi concatenating dây, và s? d?ng c?ng đăng xu?t (+) khi làm vi?c v?i các giá tr? s?. B?ng cách s? d?ng m?t d?u c?ng (+) v?i không - giá tr? numerical, có th? gây ra v?n đ? khi ho?t đ?ng trên hai phiên b?n. Ví dụ:
   vntVar1 = "10.01"
   vntVar2 = 11
   vntResult = vntVar1 + vntVar2         ' vntResult =  21.01
   vntResult = vntVar1 & vntVar2         ' vntResult = 10.0111
				

Ph?m vi

Bi?n luôn luôn nên đư?c đ?nh ngh?a v?i ph?m vi nh? nh?t có th?. Bi?n toàn c?u có th? t?o ra r?t nhi?u ph?c t?p nhà nư?c máy và làm cho các logic c?a m?t ?ng d?ng r?t khó hi?u. Bi?n toàn c?u c?ng làm cho tái s? d?ng và b?o tr? m? c?a b?n khó khăn hơn. Bi?n trong Visual Basic có th? có l?nh v?c sau đây:
Scope             Variable Declared In:            Visibility
--------------------------------------------------------------------------
Procedure-level   Event procedure, sub, or         Visible in the
                  function                         procedure in which
                                                   it is declared
Form-level,       Declarations section of a form   Visible in every
Module-level      or code module (.FRM, .BAS)      procedure in the
                                                   form or code
                                                   module
Global            Declarations section of a code   Always visible
                  module (.BAS, using Global
                  keyword)
				
Trong m?t ?ng d?ng Visual Basic, ch? s? d?ng các bi?n toàn c?u khi có không có khác cách thu?n ti?n đ? chia s? d? li?u gi?a các h?nh th?c. B?n có th? mu?n xem xét lưu tr? các thông tin trong m?t ki?m soát th? tài s?n, mà có th? đư?c truy c?p trên toàn c?u b?ng cách s? d?ng cú pháp form.object.property.

N?u b?n ph?i s? d?ng các bi?n toàn c?u, đó là th?c hành t?t đ? tuyên b? t?t c? chúng trong m?t mô-đun duy nh?t và nhóm chúng theo ch?c năng. Cung c?p cho các mô-đun m?t ? ngh?a tên ch? ra m?c đích c?a nó, ch?ng h?n như toàn c?u.BAS.

V?i ngo?i l? c?a các bi?n toàn c?u (mà không nên đư?c thông qua), th? t?c và ch?c năng nên ch? ho?t đ?ng trên các đ?i tư?ng đư?c thông qua đ? h?. Bi?n toàn c?u đư?c s? d?ng trong thói quen nên đư?c xác đ?nh trong khu v?c th?o lu?n chung t?i đ?u c?a nh?ng thói quen. Ngoài ra, vư?t qua đ?i s? đ? d? b? và ch?c năng s? d?ng ByVal, tr? khi b?n có m?t cách r? ràng mu?n thay đ?i giá tr? c?a các đ?i s? thông qua.

Vi?t mô-đun m? b?t c? khi nào có th?. Ví d?, n?u ?ng d?ng c?a b?n hi?n th? m?t h?p tho?i, đ?t t?t c? các đi?u khi?n và m? yêu c?u đ? th?c hi?n nhi?m v? c?a h?p tho?i trong m?t h?nh th?c duy nh?t. Đi?u này giúp gi? cho các ?ng d?ng M? t? ch?c thành các thành ph?n h?u ích và gi?m thi?u chi phí th?i gian ch?y c?a nó.

Đi?u khi?n bên th? ba

Lưu ?: S?n ph?m th?o lu?n dư?i đây đư?c s?n xu?t b?i nhà cung c?p đ?c l?p c?a Microsoft. Microsoft đưa ra không có b?o hành, ng? ? hay cách khác, liên quan đ?n các s?n ph?m hi?u su?t ho?c đ? tin c?y.

B?ng dư?i đây danh sách ti?n t? tên đ?i l? tiêu chu?n c?a bên th? ba k? t? đư?c s? d?ng v?i ki?m soát ti?n t?:
Vendor               Abbv
-------------------------

MicroHelp (VBTools)  m
Pioneer Software     p
Crescent Software    c
Sheridan Software    s
Other (Misc)         o
				
B?ng sau đây li?t kê tiêu chu?n c?p ki?m soát ti?n t?:
Control         Control     Abbr  Vendor     Example            VBX File
Type            Name                                            Name
--------------------------------------------------------------------------
Alarm           Alarm       almm  MicroHelp  almmAlarm          MHTI200.VBX
Animate         Animate     anim  MicroHelp  animAnimate        MHTI200.VBX
Callback        Callback    calm  MicroHelp  calmCallback       MHAD200.VBX
Combo Box       DB_Combo    cbop  Pioneer    cbopComboBox       QEVBDBF.VBX
Combo Box       SSCombo     cbos  Sheridan   cbosComboBox       SS3D2.VBX
Check Box       DB_Check    chkp  Pioneer    chkpCheckBox       QEVBDBF.VBX
Chart           Chart       chtm  MicroHelp  chtmChart          MHGR200.VBX
Clock           Clock       clkm  MicroHelp  clkmClock          MHTI200.VBX
Button          Command     cmdm  MicroHelp  cmdmCommandButton  MHEN200.VBX
                Button
Button          DB_Command  cmdp  Pioneer    cmdpCommandButton  QEVBDBF.VBX
Button (Group)  Command     cmgm  MicroHelp  cmgmBtton          MHGR200.VBX
                Button
                (multiple)
Button          Command     cmim  MicroHelp  cmimCommandButton  MHEN200.VBX
                Button
                (icon)
CardDeck        CardDeck    crdm  MicroHelp  crdmCard           MHGR200.VBX
Dice            Dice        dicm  MicroHelp  dicmDice           MHGR200.VBX
List Box (Dir)  SSDir       dirs  Sheridan   dirsDirList        SS3D2.VBX
List Box (Drv)  SSDrive     drvs  Sheridan   drvsDriveList      SS3D2.VBX
List Box (File) File List   film  MicroHelp  filmFileList       MHEN200.VBX
List Box (File) SSFile      fils  Sheridan   filsFileList       SS3D2.VBX
Flip            Flip        flpm  MicroHelp  flpmButton         MHEN200.VBX
Scroll Bar      Form Scroll fsrm  MicroHelp  fsrmFormScroll     ???
Gauge           Gauge       gagm  MicroHelp  gagmGauge          MHGR200.VBX
Graph           Graph       gpho  Other      gphoGraph          XYGRAPH.VBX
Grid            Q_Grid      grdp  Pioneer    grdpGrid           QEVBDBF.VBX
Scroll Bar      Horizontal  hsbm  MicroHelp  hsbmScroll         MHEN200.VBX
                Scroll Bar
Scroll Bar      DB_HScroll  hsbp  Pioneer    hsbpScroll         QEVBDBF.VBX
Graph           Histo       hstm  MicroHelp  hstmHistograph     MHGR200.VBX
Invisible       Invisible   invm  MicroHelp  invmInvisible      MHGR200.VBX
List Box        Icon Tag    itgm  MicroHelp  itgmListBox        MHAD200.VBX
Key State       Key State   kstm  MicroHelp  kstmKeyState       MHTI200.VBX
Label           Label (3d)  lblm  MicroHelp  lblmLabel          MHEN200.VBX
Line            Line        linm  MicroHelp  linmLine           MHGR200.VBX
List Box        DB_List     lstp  Pioneer    lstpListBox        QEVBDBF.VBX
List Box        SSList      lsts  Sheridan   lstsListBox        SS3D2.VBX
MDI Child       MDI Control mdcm  MicroHelp  mdcmMDIChild       ???
Menu            SSMenu      mnus  Sheridan   mnusMenu           SS3D3.VBX
Marque          Marque      mrqm  MicroHelp  mrqmMarque         MHTI200.VB
Picture         OddPic      odpm  MicroHelp  odpmPicture        MHGR200.VBX
Picture         Picture     picm  MicroHelp  picmPicture        MHGR200.VBX
Picture         DB_Picture  picp  Pioneer    picpPicture        QEVBDBF.VBX
Property Vwr    Property    pvrm  MicroHelp  pvrmPropertyViewer MHPR200.VBX
                Viewer
Option (Group)  DB_RadioGroup radp Pioneer   radqRadioGroup     QEVBDBF.VBX
Slider          Slider      sldm  MicroHelp  sldmSlider         MHGR200.VBX
Button (Spin)   Spinner     spnm  MicroHelp  spnmSpinner        MHEN200.VBX
Spreadsheet     Spreadsheet sprm  MicroHelp  sprmSpreadsheet    MHAD200.VBX
Picture         Stretcher   strm  MicroHelp  strmStretcher      MHAD200.VBX
Screen Saver    Screen Saver svrm MicroHelp  svrmSaver          MHTI200.VBX
Switcher        Switcher    swtm  MicroHelp  swtmSwitcher       ???
List Box        Tag         tagm  MicroHelp  tagmListBox        MHEN200.VBX
Timer           Timer       tmrm  MicroHelp  tmrmTimer          MHTI200.VBX
ToolBar         ToolBar     tolm  MicroHelp  tolmToolBar        MHAD200.VBX
List Box        Tree        trem  MicroHelp  tremTree           MHEN200.VBX
Input Box       Input (Text) txtm MicroHelp  inpmText           MHEN200.VBX
Input Box       DB_Text     txtp  Pioneer    txtpText           QEVBDBF.VBX
Scroll Bar      Vertical    vsbm  MicroHelp  vsbmScroll         MHEN200.VBX
                Scroll Bar
Scroll Bar      DB_VScroll  vsbp  Pioneer    vsbpScroll         QEVBDBF.VBX
				

Thu?c tính

ID c?a bài: 110264 - L?n xem xét sau cùng: 17 Tháng Tám 2011 - Xem xét l?i: 2.0
Áp d?ng
  • Microsoft Visual Basic 4.0 Standard Edition
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
T? khóa: 
kb3rdparty kbdocs kbinfo kbprogramming kbref kbtophit kbmt KB110264 KbMtvi
Máy d?ch
QUAN TRỌNG: Bài vi?t này đư?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngư?i d?ch. Microsoft cung c?p các bài vi?t do con ngư?i d?ch và c? các bài vi?t do máy d?ch đ? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cơ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng như m?t ngư?i nư?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t đ?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thư?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào đây đ? xem b?n ti?ng Anh c?a bài vi?t này:110264
Khước từ Nội dung trong Cơ sở Kiến thức Không còn được hỗ trợ
Bài vi?t này nói v? các s?n ph?m mà Microsoft không c?n h? tr? n?a. Do đó, bài vi?t này đư?c cung c?p "nguyên b?n" và s? không đư?c c?p nh?t.

Cung cấp Phản hồi

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com