一、PB开发标准与命名约定
在PB代码开发中,局部变量不使用作用域限定符,所有的运算符及赋值动词(=)的前后者应加上一个空格,并且函数的参数表中的每个变量前面也要加入一个空格。如:wf_GetAttrib( id, name, date ) 。
应使用TAB而不是空格来缩排循环或复合语句中的代码,显示其包含关系。
函数名,事件名或变量名一律用英文书写,首字母用大写,单词之间不用连字符(_)如:wf_RightTrim() 。
数据库命令(INSERT , SELECT …)使用全部大写。
行延续时,连接标记应置于行尾。
单行结构的语句应分解多行:
If n_Rows > 6 then
dw_report.Retrieve()
EndIf
而非 If n_Rows >6 then dw_report.Retrieve() 。
在函数或事件代码中,应加入相应的注释内容与函数头(事件头)如下所示:
///
// 目标:
// 参数: Ag1
// Ag2
// Ag3
// 返回值:
//以下开始为代码
PBL库的命名规则应为PPP_OOOO , PPP为项目缩写,OOOO为能体现此库的内容的缩写。
1、PB对象命名约定
对 象 前 缀 示 例
应用 N/A Order_entry
应用级函数 af_
应用级结构 as_
窗口 w_
窗口函数 wf_
窗口结构 ws_
菜单 m_
菜单函数 mf_
菜单结构 ms_
标准用户对象 u_
定制类用户对象 u_cc_
标准类用户对象 u_cs_
可视定制用户对象 u_vc_
可视标准用户对象 u_vs_
用户对象函数 uf_
用户对象结构 us_
结构对象 s_
查询 q_
函数对象 f_
数据窗口对象 d_
2、PB数据类型命名约定
数据类型 前 缀 示 例
Blob bb_
Window w_
Menuitem m_
DataWindow dw_
DataWindowChild dwc_
ListViewItem lvi_
TreeViewItem tvi_
UserObject uo_
Integer I_
Unsigned Integer ui_
Long l_
Unsigned Long ul_
Boolean b_
String s_
Character c_
Double dbl_
Real r_
Decimal dec_
Date d_
Structure str_
Transaction trans_
Time t_
DateTime dtm_
3 、PB控件命名约定
控 件 前 缀 示 例
CheckBox cbx_
CommandButton cb_
DataWindow dw_
DropDownListBox ddlb_
DropDownPictureListBox ddplb
EditMask em_
Graph gr_
GroupBox gb_
HscrollBar hsb_
Line ln_
ListBox lb_
ListView lv_
MultiLineEdit mle_
OLE 2 ole_
Picture p_
PictureButton pb_
PictureListBox plb_
RadioButton rb_
Rectangle r_
RichTextEdit rte_
SingleLineEdit sle_
StaticText st_
Tab tab_
Tab Page tabp_
TreeView tv_
UserObject uo_
VscrollBar vsb_
4 、PB变量作用域约定
范 围 前 缀 示 例
Globle g?_
Shared sh?_
Instance i?_
Argument a?_
二、PB开发界面规范
1、 总则
系统运行平台为中文Win95或中文Win98。
屏幕分辨率为800x600,大字体。
系统整体界面采用MDI多文档界面。系统使用一个主窗口,每个细分功能使用一个MDI子窗口。
要求界面在完成功能的前题下,能做到清晰、大方、整齐。
2、 窗口区域分隔
菜单:位于MDI主窗口上,各MDI子窗口不再设菜单,子窗口内功能实现由命令按钮来完成。
数据显示操作区:位于MDI子窗口的中间主要部分。外框使用PB的GROUPBOX控件。若在数据显示操作区内还需对信息进一步分类,则每一类信息使用GROUPBOX作为外框,显示操作区整体不再设外框。
操作选择区:在数据显示区的下方或右边可以放置命令按钮,并加GROUPBOX作为外框。
记录信息显示区:一般可以设置在DATAWINDOW对象内的SUMMARY区。若有需要,也可以操作选择区的边上放置。
窗口布局如下图所示:
3、 窗口及窗口控件
MDI子窗口依其功能可以分为录入/修改,查询/统计,打印,条件录入等。
窗口及窗口控件所用字体一律为宋体,9号,普通。
作为信息提示用的文本域一律靠右对齐,无边框。字符前景色为TEXT(黑),背景色为BUTTONFACE,但当与之相关联的输入域为必输项时,字符前景色为BLUE。
作为信息显示操作用的文本(输入)域一律靠左对齐。边框类型为3D LOWER BORDER。字符前景色为TEXT(黑色);若只显示,则字符背景色为ButtonFACE,若可由用户输入,则字符背景色为WINDOWBACKGROUND。
各输入域或带边框的文本域的高为61 (PB单位)。命令按钮的高为88(PB单位),宽为340(PB单位)。
命令按钮的快捷方式为:“S存盘”,“X退出”,“I插入”,“A增加”,“D删除”,“C取消”,“P打印”,“Q查询”。遗漏项在实际工作中进行补充。
作为外框用的GROUPBOX应使用3D LOWER BORDER。
MDI子窗口的高为1550,宽为2800(PB单位)。
POPUP窗口大小由需要决定,显示时位置为OWNER CENTER。
4、 DATAWINDOW 对象
主要使用FREEFORM或GRID两种风格的DW来表达数据。其中FREEFORM对应于主表结构的一条数据,GRID对应于从表结构的多行数据。
日期域使用 YYYY/MM/DD格式来显示日期。若编辑风格为DROPDOWN ,则不选中ALWAYS SHOW ARROW项。
在DW的SUMMARY区内可以加入记录信息,如当前记录位置,记录数等。字符前景色为BLUE。
DW内部的控件使用与上一部分相同的规则。在界面安排上,原则上用竖排4列,分别为文本提示区,字段信息区,文本提示区,字段信息区。
5、 MESSAGEBOX 对话框
系统中采用MESSAGEBOX来与用户进行简单的信息交互。
MESSAGEBOX共分成提示/交互/选择信息(用INFORMATION!图标),警告信息(用EXCLAMATION!图标),严重错误信息(用STOPSIGN!图标)。
提示/交互/选择信息 指向用户作信息反馈,由用户决定程序运行分支方向,由用户来选择决定某一操作的方法等MESSAGEBOX。
警告信息 指向用户提出系统警告,且程序有能力自我恢复继续运行。如本次存盘失败,用户可以再次尝试进行存盘操作。
严重错误 指系统发生了不可恢复错误,向用户作相应的信息提示。