PB程序编制规范初稿.docx
《PB程序编制规范初稿.docx》由会员分享,可在线阅读,更多相关《PB程序编制规范初稿.docx(23页珍藏版)》请在冰点文库上搜索。
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
已废除
只因兼容性而暂时存在,不能使用其中的对象
注:
●有些基于某个产品的公共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_sheet祖先窗口,该窗口为所有窗口听祖先窗口中。
用于菜单调用(需要模块参数)的窗口统一继承自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
70.
PBToCPPObject
pbcpp
71.
PictureListBox
plb
72.
Pipeline
pl
73.
PowerObject
po
74.
ProfileCall
procall
75.
ProfileClass
proclass
76.
ProfileLine
proln
77.
ProfileRoutine
prort
78.
Profiling
pro
79.
RadioButton
rb
80.
Rectangle
rec
81.
RemoteObject
rem
82.
RichTextEdit
rte
83.
RoundRectangle
rrec
84.
RteObject
rteo
85.
ScriptDefinition
scrd
86.
SingleLineEdit
sle
87.
Service
srv
88.
StaticText
st
89.
Structure
str
90.
Tab
tab
91.
TabPage
tabpg
92.
TraceActivityNode
tcan
93.
TraceBeginEnd
tcbe
94.
TraceError
tcerr
95.
TraceFile
tcf
96.
TraceLine
tcln
97.
TraceGarbageCollect
tcgc
98.
TraceObject
tco
99.
TraceRoutine
tcrt
100.
TraceSQL
tcsql
101.
TraceTree
tct
102.
TraceTreeNode
tctn
103.
TraceTreeError
tcterr
104.
TraceTreeSQL
tctsql
105.
TraceTreeGarbageCollect
tctgc
106.
TraceTreeLine
tctln
107.
TraceTreeObject
tcto
108.
TraceTreeRoutine
tctrt
109.
TraceTreeUser
tctu
110.
TraceUser
tcu
111.
TypeDefinition
td
112.
Transaction
tr
113.
Transport
trp
114.
TreeView
tv
115.
TreeViewItem
tvi
116.
UserObject
uo
117.
VariableCardinalityDefinition
vrcd
118.
VariableDefinition
vrd
119.
VerticalScrollBar
vsb
120.
WindowObject
wo
121.
Window
w
2.8结构
序号
类别
前缀
备注
1.
全局级结构
gstr_
2.
应用级结构
astr_
3.
菜单级结构
mstr_
4.
窗口级结构
wstr_
5.
对象级结构
ostr_
2.9函数
序号
类别
格式
1.
全局级函数
GF_PUBLIC_XXXX(GF+PUBLIC+_+函数名称)
2.
子系统使用的公共函数
GF_XXX_XXXX(GF+_+PBL名称+_+函数名称)
3.
应用级函数
AF_XXX_XXXX(AF+_+函数名称)
4.
菜单级函数
MF_XXXX(MF+_+函数名称)
5.
窗口级函数
WF_XXXX(WF+_+函数名称)
6.
对象级函数
OF_XXXX(OF+_+函数名称,用于内部使用)
UF_XXXX(UF_+_+函数名称,用于外部调用)
7.
全局扩展函数
GE_XXXX(GE+_+函数名称)
8.
局部扩展函数
LE_XXXX(LE+_+函数名称)
2.10事件
所有用户自定义事件均以ue_开头,后接事件名称。
若定义的事件为PB内置的标准事件,则事件名称应与标准的名称相同,即将名称“pbm_xxxx”替换为“ue_xxxx”。
2.11数据窗口
一般数据窗口:
D_XXX_XXXX(D+_+PBL名称+_+数据窗口名称)
下拉式数据窗口:
DD_XXX_XXXX(DD+_+PBL名称+_+下拉式数据窗口名称)
2.12表与视图
表:
XX_XXXX(系统简写+_+表名拼音缩写).例:
住院系统的费用库(ZY_FYMX)
视图:
V_XX_XXXX(V+_+系统简写_+视图名).例:
门诊系统的收费汇总视图(V_MZ_SFHZ)
2.13字段名
字段名一般是字段中文名称拼音的大写首字母缩写,一般为4个字母.如:
药品序号(YPXH)
2.14主外键
主键:
PK_XXXX_XXXX(PK+_+表名+_+列名)
外键:
FK_XXXX_XXXX(FK+_+表名+_+列名)
2.15索引
IDX_XXXX_XXXX(IDX+_+表名+_+索引名)
2.16触发器
TR_XXXX_XXXX_XXXX(TR+_+所属表名+_+作用类型+_+触发器名).
2.17存储过程
PR_XX_XXXX(PR+_+系统简写+_+存储过程名)
3界面规范
3.1应用
1.系统运行平台为中文WindowsXP、Windows7。
界面在完成功能的下,窗体中各控件安排均匀,分布合理,能做到清晰、大方、整齐。
2.显示模式为1024*768或更高显示方式,支持宽屏显示器,有特殊要求的应用程序除外。
主要功能应支持分辨率变动自适应。
3.系统中采用MESSAGEBOX来与用户进行简单的信息交互,同时MESSAGEBOX严禁出现在事务中。
3.2窗口
1.用程序主窗口采用MDI方式,应具有Miscohelp提示。
覆盖整个屏幕,应有菜单、工具条、显示状态栏;菜单各项对应打开的窗口为SHEET类型,覆盖整个工作区,不用菜单、工具条、显示状态栏;应提示信息、出错信息、确认信息、与用户的交互提示而弹出的窗口用RESPONSE类型的窗口,其他的弹出窗口一律用POPUP类型的窗口,并显示在屏幕中央;所有窗口的标题显示相应的功能说明
2.功能窗体初始位置居中,横纵尺寸比例应采用16:
9,不应覆盖菜单栏、工具栏和提示栏。
窗体最好覆盖整个工作区,表单类功能窗口要求支持分辨率自适应。
4.窗体内字体采用中文系统(SYSTEM)字体或宋体9号字,11号字,题头可选楷体,不准用斜体字型。
3.窗体统一采用黑色字体,如有特殊要求,可选用红色或蓝色字体,但特殊色彩字体不宜过多,同一窗体色彩不能超过四种。
4.色调的运用方面,一般采用黑,白,灰。
窗体底一般用灰色,字体用黑色,数据窗口底或列表及编辑框用白色。
禁止使用大片其他颜色区。
如有特别需要,可用其他颜色和图标做细小的点缀。
5.代码输入采用弹出式响应窗体,弹出式响应窗体实现动态跟随,可在窗体内输入输入码。
6.窗体输入部分支持全屏幕编辑,含ENTER键跳转。
7.窗体控件布局顺序与TAB键跳转顺序一致。
5.除特殊功能窗口外所有窗体按ESC可退出。
8.输入部分避免采用滚动条。
9.代码维护窗体和部分实现特殊业务的窗体采用响应窗体。
6.除特殊场景使用情况外,日期变量输入和显示统一采用YYYY.MM.DD的形式,例:
2010.06.01
3.3数据窗口
7.数据窗口背景颜色一般用白色(TABLUES列表格式)与灰色(Freeform录入格式)列头应与每列对齐,列头用3D格式,灰色,字体可用SYSTEM、宋体9号和宋体11号三种,高度比字体稍大。
1.在数据窗口的SUMMARY区内可以加入记录信息,如当前记录位置,记录数等。
字符前景色为BLUE。
2.数值型的数据显示或录入必须右对齐,日期型可居中或左对齐,字符串型必须左对齐(包括以下拉数据窗口形式显示的列)。
3.作为信息提示用的文本域一律靠右对齐,无边框。
字符前景色为TEXT(黑),背景色为BUTTONFACE,但当与之相关联的输入域为必输项时,字符前景色为BLUE。
4.作为信息显示操作用的文本(输入)域一律靠左对齐。
边框类型为3DLOWERBORDER。
字符前景色为TEXT(黑色);若只显示,则字符背景色为ButtonFACE,若可由用户输入,则字符背景色为WINDOWBACKGROUND。
3.4按钮
1.应用程序中所有按扭统一尺寸,统一颜色,统一采用中文系统字体。
位置应于窗体右侧或下侧,在右侧的按扭的右上角为起始点,在下侧的按扭以右下角为起始点。
尺寸限制在400*90左右,在窗体中的按钮可用门户标准工具栏替代的尽量使用标准工具栏。
2.菜单及按扭的快捷键位置放于汉字后,统一采用英文单词的首字母或第一个汉字的汉语拼单首字母,如遇到雷同现象,可自行修改。
快捷键包以()。
如窗体中只有两个按扭,可不采用快捷键,但应有默认ENTER和ESC键,如超过两个按扭,应采用快捷键,部分见附表。
3.一般按钮的属性
按钮名称
热键
说明
确认
ALT_O
一般用于设置,确定表示修改有效保存设置并关闭窗口,一般不用热键,用Enter键触发。
取消
ALT_C
一般用于设置,表示修改无效并关闭窗口,一般不用热键,用ESC键触发。
保存
ALT_S
在窗口录入信息比较多时,在记录录入时需不断保存时采用。
退出
ALT_X
关闭窗口,一般不用热键,用ESC键触发,
查询
ALT_Q
设置条件后从新检索数据。
刷新
ALT_F
直接从新检索数据。
统计
ALT_S
在从新检索数据过程中有
增加
ALT_A
记录增加
删除
ALT_D
记录删除
修改
ALT_M
记录修改
3.5工具栏
1.工具栏采用门户标准工具栏控件vu_public_toolbarn。
2.工具栏要求一般摆放在窗体顶部,大小合适,与窗口缩放同步,色彩风格要求与系统风格统一。
3.工具栏按钮要求程序指定标准格式图片,按钮带快捷键并在同一窗口内不允许重复。
4.表单类窗口一般采用32位大图标上下,文字在下格式
3.5控件
1.各对象和控件的属性约定
对象、控件或属性名称
说明
Font(字体)
宋体,Regular,9,Blank
FrameWindow
包括主菜单、Controlmenu;不含Maximizebox和Miximizebox,大小不可变,window颜色为Buttonface,client颜色为AppWrkSpc;状态为最大化。
SheetWindow
继承基类无须调整大小,一般不含菜单,通常宽度为3658,高度为2060,其他与FrameWindow相同
ResponseWindow
除高宽根据需要确定外,其他与SheetWindow相同
DataWindow
数据源一般为SQLselecet,显示方式为对单条记录输入输