PB程序编制规范初稿.doc
《PB程序编制规范初稿.doc》由会员分享,可在线阅读,更多相关《PB程序编制规范初稿.doc(15页珍藏版)》请在冰豆网上搜索。
![PB程序编制规范初稿.doc](https://file1.bdocx.com/fileroot1/2022-10/7/894a0c10-5ff3-427e-bb0c-4c3a1ce48033/894a0c10-5ff3-427e-bb0c-4c3a1ce480331.gif)
PB程序编制规范
PB程序编制规范
版本历史这个版本,在重点内容位置,加了批注和下划线背景色,以引起重视。
日期
版本
说明
作者
2015-10-09
0.1
初稿
潘国金
1概述
为提高编码效力,减少程序差错,保持各产品间界面风格统一,特制定以下PB程序编制规范,如在门户框架下的程序开发都应遵守本规范。
2命名规范
2.1文件
2.1.1PBL文件
XX_XXXX:
系统简写+_+库名
XX_MAIN:
主库(主窗口,主菜单及本系统的私有维护)
XX_PUBLIC:
本系统的公用部份
XX_XXXX:
业务功能1
全局PBL
序号
PBL名称
分类
备注
1
bs_public.pbl
公共不可修改
2
mh_main.pbl
公共不可修改
3
mh_public.pbl
公共不可修改
4
mh_support.pbl
公共不可修改
5
mh_xtwh.pbl
公共不可修改
6
mh_identi.pbl
公共不可修改
7
DwToExcel.PBL
公共不可修改
支持数据窗口导出为EXCEL文件
8
mh_out.pbl
公共可修改
mh_out中放需在门门户中调用的外部功能
比如目前需同步表的手动服务需继承自u_mh_out_parentload,如何实现参见其中的readme事件。
u_mh_out_autoload是继承自u_mh_out_parentload的一个例子
9
SUPPORT.PBL
已废除
只因兼容性而暂时存在,不能使用其中的对象
10
HISPUBLIC.PBL
已废除
只因兼容性而暂时存在,不能使用其中的对象
注:
l有些基于某个产品的公共PBL需要互相产品组间沟通后共享使用,例如:
在HRP系统中的HIS_SHARE.PBL
2.1.3资源文件
资源文件放在门户系统的RESOURCE目录下,除公用外,每个产品按XXXYYY方式(XXX为产品名,YYY为应用名)命名,目前主要如下:
名称
所属产品
备注
PUBLIC
公用
PORTAL
门户
TOOLBAR
公用
工具栏
HISPIC
HIS系统
图片
LISPIC
LIS系统
图片
EMRPIC
EMR系统
图片
RISPIC
RIS系统
图片
HISWAV
HIS系统
声音文件
EMRWAV
EMR系统
声音文件
2.2应用
应用名一般与产品的简称同名
2.3菜单
M_XXX_XXXX(W__PBL名称_功能名称)
例:
在BQ_YZCL.PBL中菜单M_BQ_YZCL_YZSR
2.4窗口
W_XXX_XXXX(W_PBL名称_功能名称)
例如:
yk_bisiness.pbl中,药库入库处理窗口为W_YK_BISINESS_RKCL,药库主窗口命名为W_YK_BISINESS_MAIN
新建窗口规定:
一般非模块参数新建窗口统一继承自w_mh_support_sheetEMR从bs_public.pbl或cis_share.pbl继承。
祖先窗口,该窗口为所有窗口听祖先窗口中。
用于菜单调用(需要模块参数)的窗口统一继承自w_mh_support_module祖先窗口。
2.5控件
<控件前缀>+'_'+控件名称
控件命名按照PB默认的前缀,详细如下:
序号
名称
前缀
备注
1.
CheckBox
cbx_
2.
CommandButton
cb_
3.
DataWindow
dw_
4.
DropDownListBox
ddlb_
5.
DropDownPictureListBox
ddplb_
6.
EditMask
em_
7.
Graph
gr_
8.
GroupBox
gb_
9.
HProcessBar
hpb_
10.
HTrackBar
htb_
11.
HScrollBar
hsb_
12.
Line
ln_
13.
ListBox
lb_
14.
ListView
lv_
15.
MultiLineEdit
mle_
16.
OleControl
ole_
17.
Oval
ov_
18.
Picture
p_
19.
PictureHyperLink
phl_
20.
PictureButton
pb_
21.
PictureListBox
plb_
22.
RadicButton
rb_
23.
Rectangle
r_
24.
RichTextEdit
rte_
25.
RoundRectangle
rr_
26.
StaticHyperLind
shl_
27.
SingleLineEdit
sle_
28.
StaticText
st_
29.
TabControl
tab_
30.
TabPage
tabpage_
31.
TreeView
tv_
32.
UserObject
uo_
33.
VProcessBar
vpb_
34.
VTrackBar
vtb_
35.
VScrollBar
vsb_
2.6对象
<对象前缀>+'_'+PBL名称+'_'+对象名称
U_XXX_XXXX(非可视对象,U__PBL名称_对象名称)
VU_XXX_XXXX(可视对象,VU__PBL名称_对象名称)
注:
非可视对象需继承自nvo_Module
特别注意
1.门户程序不能使用非门户中的对象
2.非门户程序在BS_PUBLIC公共库有相同功能组件的情况下,不得使用其它组件
2.7变量
<变量作用范围前缀>+<变量数据类型前缀>+'_'+变量名称
例:
门诊号参数As_mzhm
注:
门户下的产品不能使用自定义公共全局变量
BSHRP4规定全局变量如下:
变量类型
变量名称
变量说明
使用说明
Window
gw_Main
门户主窗口
u_sp_User
go_User
当前用户的信息
包括的用户信息参见u_sp_User中实例变量
u_mh_dict
go_Dict
公用字典管理
u_sp_dbconnection
go_Pools
公用连接池管理
参见数据库连接管理
u_sp_AppEx
go_AppEx
公用对象创建工具
参见自定义公用变量的使用
u_mh_winlist
gu_winlist
窗口列表管理
boolean
gb_setdesk
设置桌面部件标志
string
gs_currentdirectory
当前执行文件所在目录
2.7.1作用范围
序号
类型
前缀
备注
1.
全局Global
g
2.
共享Share
s
3.
实例Instance
i
4.
局部Local
l
5.
参数Argument
a
2.7.2数据类型
序号
类型
前缀
备注
1.
Any
a_
2.
Blob
bb
3.
Boolean
b
4.
Character
c
5.
Date
d
yyyy.mm.dd
6.
DataTime
dt
Yyyy.mm.ddhh:
mm:
ss
7.
Decimal
dc
应定义小数位
8.
Double
db
界面中右对齐
9.
Integer
i
界面中右对齐
10.
Long
l
界面中右对齐
11.
Real
r
界面中右对齐
12.
String
s
界面中左对齐或居中
13.
Time
t
hh:
mm:
ss
14.
UnsignedInteger
ui
15.
UnsignedLong
ul
16.
Application
app
17.
CheckBox
cbx
18.
CommandButton
cb
19.
ContextKeyword
cxk
20.
ContextInformation
cxinfo
21.
DataStore
ds
22.
DataWindow
dw
23.
DataWindowChild
dwc
24.
DragObject
drg
25.
DrawObject
drw
26.
DropDownPictureListBox
ddplb
27.
DropDownListBox
ddlb
28.
DWobject
dwo
29.
DynamicDescriptionArea
dda
30.
DynamicStagingArea
dsa
31.
EnumerationDefinition
ed
32.
EnumerationItemDefinition
eid
33.
EditMask
em
34.
Environment
env
35.
Error
err
36.
ExtObject
ext
37.
Graph
gr
38.
GraphicObject
go
39.
GrAxis
grax
40.
GrDispAttr
grda
41.
GroupBox
gb
42.
HorizontalScrollBar
hsb
43.
InternetResult
ir
44.
Line
ln
45.
ListBox
lb
46.
ListView
lv
47.
ListViewItem
lvi
48.
MailFileDescription
mfd
49.
MailMessage
mm
50.
MailRecipient
mr
51.
MailSession
ms
52.
MDIClient
mdi
53.
Menu
m
54.
MenuCascade
mc
55.
Message
msg
56.
MultiLineEdit
mle
57.
NonVisualObject
nv
58.
OleControl
oc
59.
OleObject
oo
60.
OleStorage
ostg
61.
OmControl
omc
62.
OmCustomControl
omcc
63.
OmEmbeddedControl
omec
64.
OmObject
omo
65.
OmStream
omstm
66.
OmStorage
omstg
67.
Oval
oval
68.
Picture
p
69.
PictureButton
pb
7