王朝网络
分享
 
 
 

Delphiwe编写规范

王朝delphi·作者佚名  2006-12-17
宽屏版  字体: |||超大  

Delphiwe编写规范

Delphiwe编写规范 程 序 编 写 规 范

1、 变量声明d

 所有的变量不 论类型, 均以v开头, 如:

var vWorkerName:string;

vYear:integer;

vDate:tdate;

 _recordset对象的前缀为vrs。

 特殊的变量:vSql:基本上所有的SQL语句均先用变量vSql斌值, 如:

var vSql:string;

begin

vsql:=’select a.fdworker ‘;

vsql:=vsql+’ from tabworker a ‘;

end;

控件命名

类 前缀 示例

TEdit ed edWorkerNo

TDBGrid grd grdWorker

TCombobox cbo cboWorker

TDateTimePicker dp dpDate

TButton c cOk cCancel

TCheckBox chk chkCancel

TSpeedButton sb sbWorker

TClientDataSet cln clnWorker

TDataSource ds dsWorker

TAdoDataSet adods adodsWorker

TPanel pan panTop

TForm frm frmWorker

TDataSetProvider pvd pvdWorker

TTreeview trv trvRawType

TListview lst lstWorker

TPageControl pc pcWorkerInformation

TImage img imgWorker

TMemo ed edMemo

2、 函数及过程的命名3、

 函数的前缀用f

例如:处理数据检查的函数:function fCheckData:boolean;

 过程的前缀用p

例如:处理工人离职的过程:procedure pWorkerLeave;

命名规则

 所有变量或控件的命名 均采取英文意义命名, 并且尽量不 要用缩写。

例如: 对输入工人姓名的TEdit的命名为:edWorkerName

而不要命名为:edWN等缩写形式

 数据表的前缀为tab, 字段的前缀为fd。

例如: 工人表的名称为:tabworker

工人编号的字段为:fdworkerno

数据库操作方法

 操作数据库(选择、插入、更新、删除):基本上用SQL语句来操作数据库, 避免用Data Aware类的控件来操作数据库。

例如:插入一条生产记录:

var vSql:string;

vWorkerID:string;

vProductNum:string;

begin

xxxxxx;

………;

vsql:=’insert into tabproduct (fddate,fdworkerid,fdproductnum) values(‘;

vsql:=vsql+vinfo.vdbsqldate(date);

vsql:=vsql+’,’+(vWorkerID);

vsql:=vsql+’,’+(vProductNum);

vsql:=vsql+’)’;

vinfo.execute(vsql);

end;

*注:vinfo代表一个自定义类TInfo的一个实例,里面封装了各种函数,具体内容在后面有说明。

 用TDBGrid显示数据的方法:

1. 使用TDBGrid TDataSource TClientDataSet TDataSetProvider TAdoDataSet控件。

2. 连接方式为TDBGrid->TDataSource->TClientDataSet->TDataSetProvider->TAdoDataSet

3. 先用_recordset对象来接收数据,4. 然后把_recordset对象斌给TAdoDataSet控件,5. 再调用TClientDataSet的Close方法、Open方法。

 多用户操作数据的处理:通常把要操作的表进行锁定, 锁定方法为用TInfo类的pLockTable方法。

数据合法性检查方法

 通常在要保存数据的时候之前进行数据合法性的检查, 不 要在输入的时候检查数据的合法性。

检查包括:

1. 检查是否是整数;

用类TInfo的fIsInt函数判断。

2. 检查是否是浮点数;

用类TInfo的fIsFloat函数判断。

3. 检查是否是日期;

日期用TDateTimePicker来进行输入,通常不用检查。

4. 检查是否没有输入;

用类TInfo的flen函数判断。

5. 数据完整性的检查(检查内容会在开发文档中说明);

6. 数据逻辑性的检查(检查内容会在开发文档中说明);

 对于字符类型的数据, 注意一定要用trim函数清除前后的空格。

类TInfo的说明

Tinfo类封装了一些基本的函数、过程及常数:

 函数及过程:

6. function fIsFloat(vData:string):boolean;

7. function fIsInt(vData:string):boolean;

8. function fLen(vData:string):boolean;

9. procedure pBeginTrans;//事务开始

10. procedure pCommitTrans;//事务提交

11. procedure pRollBack;//事务回滚

12. procedure execute(const vSql:string;var vRs:_recordset;vAbort:boolean=false);overload;

安全的SQL执行函数1,vSql为要执行的SQL语句,vrs为接收返回值的_recordset对象,vAbort表示当发生属于连接(网络中断)的错误时,是否中止处理。通常执行包含在一个事务里的SQL语句时用true,而不在事务里的SQL语句不用指定。

例如: var vSql:string;

vrsWorker

begin

vsql:=’select a.fdworkerno,a.fdworkername ‘;

vsql:=vsql+’ from tabworker a ‘;

vinfo.execute(vsql,vrsworker);//这句没有指定vabort,则缺省为false

{上面这一句在执行,如果网络中断,导致不能连接到数据库,则会进行提示是否要重试,如果不要重试,则退出整个系统;如果重试,则会重试连接到数据库,但如果仍然不能连接,则重复进行提示直到连接上或由用户取消连接以退出系统}

vinfo.execute(vsql,vrsworker,true);//这句指定vabort

{上面这一句在执行,如果网络中断,导致不能连接到数据库,则会进行提示不能连接到数据库,所以执行中止。并会尝试连接到数据库。如果不能连接,则提示是否要重试,如果不要重试,则退出整个系统;如果重试,则会重试连接到数据库,但如果仍然不能连接,则重复进行提示直到连接上或由用户取消连接以退出系统}

end;

13. procedure execute(const vSql:string;vAbort:boolean=false);overload;

安全的SQL执行函数2,与1的区别在于1有返回数据集。

 常数:

1. vDateStr:当前计算机的日期格式,2. 如果当前计算机的格式为2位年份,3. 则转化为4位年份。

例如:当前计算机的短日期格式为’yy-mm-dd’,则vDateStr为’yyyy-mm-yy’。

4. vCurrentUserNo:当前登录的操作员的编号。

5. vCurrentUserName:当前登录的操作员的名6. 称。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有