Delphi 程序员代码编写标准指南(6)

2008-04-09 04:31:46来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

6.1 使用运行包和设计包的比较

运行时刻的包应只包含其它构件包所要求的单元或构件。另外,包含属性/构件编辑器和其它只为设计的代码应放入到设计时刻包中。注册单元应放在设计包中。

6.2 文件命名标准

包的名称应依照下面的例子:
“iiilibvv.pkg” - 设计时刻包
“iiistdvv.pkg” - 运行时刻包
字符“iii”表示一个3字符标识前缀。这个前缀用来表明公司、个人或其它有标识意义的实体。

字符“vv”表示为该包想要对应Delphi某个版本的包的版本号。

注意,包的名字中包含“lib”或“std”的意思是表明这是一个设计时刻包还是一个运行时刻包。

如果既是设计时刻包又是运行时刻包,该文件的命名是同上面一样的,例如,为Delphi 4开发者指南做的包的名称应为:

DdgLib40.pkg – 设计时刻包
DdgStd40.pkg – 运行时刻包

七、构件

7.1 用户自定义构件

在标准构件中命名出来的构件的名称同在“类类型”部分定义中的一样定义成一个类类型,不同的是它们有一个3字符的指示前缀,这个前缀可以表示公司、个人或其它实体。例如,一个为Delphi 4开发者指南编写的时钟构件的名称定义为:
TddgClock = class(TComponent)
注意,那三个前缀字符是小写的。

7.2 构件单元

构件单元应只包含一个主要的构件,一个主要的构件是指出现在构件栏中的构件。主要构件的辅助构件/对象应放入到同一个单元中。

7.3 使用注册单元

构件的注册过程应从构件本身的单元中剔除,并放入到一个独立的单元中。这个注册单元可以用来注册任何构件、属性编辑器、构件编辑器、专家器等。

构件的注册只应在设计时刻包中进行,注册单元应包含在设计时刻包中而不应放在运行时刻包中。

推荐使用的注册单元的名称是:
XxxReg.pas
上面的3个前缀字符“Xxx”用来表示一个公司、个人或任何其它的实体。例如,在Delphi 4 开发者指南中的注册单元的名称应为 DdgReg.pas。

7.4 构件实例命名约定

所有的构件都应取个描述性的名称。由Delphi创建的缺省名的构件不会被遗弃。在设计构件类型时应设计一个小写的前缀。使用前缀而不使用后缀的原因是在搜寻时,在对象检查器和代码探索器中搜寻构件的名字比搜寻构件的类型更容易实现。

7.5 构件的前缀

以下构件的前缀可以用来设计Delphi 4中的标准构件。请在此列表中加入第三方构件的前缀。

7.6 Standard页
前缀 构件
mm TMainMenu
pm TPopupMenu
mmi TMainMenuItem
pmi TPopupMenuItem
前缀 构件
lbl TLabel
edt TEdit
mem TMemo
btn TButton
cb TCheckBox
rb TRadioBox
lb TListBox
cb TComboBox
scb TScrollBar
gb TGroupBox
rg TRadioGroup
pnl TPanel
cl TCommandList
7.7 Additional页
bbtn TBitBtn
sb TSpeedButton
me TMaskEdit
sg TStringGrid
dg TDrawGrid
img TImage
shp TShape
bvl TBevel
sbx TScrollBox
clb TCheckListbox
spl TSplitter
stx TStaticText
cht TChart
7.8 Win32页
tbc TTabControl
pgc TPageControl
il TImageList
re TRichEdit
thr TTrackBar
prb TProgressBar
ud TUpDown
hk THotKey
ani TAnimate
dtp TDateTimePicker
tv TTreeView
lv TListView
hdr THeaderControl
前缀 构件
stb TStatusBar
tlb TToolBar
clb TCoolBar
7.9 System页
tm TTimer
pb TPaintBox
mp TMediaPlayer
olec TOleContainer
ddcc TDDEClientItem
ddci TDDEClientItem
ddsc TDDEServerConv
ddsi TDDEServerItem
7.10 Internet页
csk TClientSocket
ssk TServerSocket
wbd TWebDispatcher
pp TPageProducer
tp TQueryTableProducer
dstp TDataSetTableProducer
nmdt TNMDayTime
nec TNMEcho
nf TNMFinger
nftp TNMFtp
nhttp TNMHttp
nMsg TNMMsg
nmsg TNMMSGServ
nntp TNMNNTP
npop TNMPop3
nuup TNMUUProcessor
smtp TNMSMTP
nst TNMStrm
nsts TNMStrmServ
ntm TNMTime
nudp TNMUdp
psk TPowerSock
ngs TNMGeneralServer
html THtml
url TNMUrl
sml TSimpleMail


7.11 Data Access页
前缀 构件
ds TDataSource
tbl TTable
qry TQuery
sp TStoredProc
db TDataBase
ssn TSession
bm TBatchMove
usql TUpdateSQL
7.12 Data Controls页
dbg TDBGrid
dbn TDBNavigator
dbt TDBText
dbe TDBEdit
dbm TDBMemo
dbi TDBImage
dblb TDBListBox
dbcb TDBComboBox
dbch TDBCheckBox
dbrg TDBRadioGroup
dbll TDBLookupListBox
dblc TDBLookupComboBox
dbre TDBRichEdit
dbcg TDBCtrlGrid
dbch TDBChart
7.13 Decision Cube页
dcb TDecisionCube
dcq TDecisionQuery
dcs TDecisionSource
dcp TDecisionPivot
dcg TDecisionGrid
dcgr TDecisionGraph
7.14 QReport页
qr TQuickReport
qrsd TQRSubDetail
qrb TQRBand
qrcb TQRChildBand
qrg TQRGroup
qrl TQRLabel
前缀 构件
qrt TQRText
qre TQRExpr
qrs TQRSysData

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:全透明窗体(效果比较好)

下一篇:判断MonthCalander中鼠标点中了日期还是翻页按钮!