Delphi开发宝典Word格式文档下载.docx

上传人:b****2 文档编号:422104 上传时间:2023-04-28 格式:DOCX 页数:72 大小:272.12KB
下载 相关 举报
Delphi开发宝典Word格式文档下载.docx_第1页
第1页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第2页
第2页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第3页
第3页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第4页
第4页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第5页
第5页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第6页
第6页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第7页
第7页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第8页
第8页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第9页
第9页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第10页
第10页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第11页
第11页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第12页
第12页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第13页
第13页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第14页
第14页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第15页
第15页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第16页
第16页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第17页
第17页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第18页
第18页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第19页
第19页 / 共72页
Delphi开发宝典Word格式文档下载.docx_第20页
第20页 / 共72页
亲,该文档总共72页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Delphi开发宝典Word格式文档下载.docx

《Delphi开发宝典Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Delphi开发宝典Word格式文档下载.docx(72页珍藏版)》请在冰点文库上搜索。

Delphi开发宝典Word格式文档下载.docx

单表编辑界面继承,写入具体的界面操作

BillEditForm

多表编辑界面继承,写入具体的界面操作

SimplePropForm

注意:

不是属于以上几类窗体的,就自行设计窗体,但一定要从BaseForm窗体继承。

二、类及其实例

1.类的结构:

(下例为主从表的类)

unitCssClas;

基础数据类单元

系统变量单元

基类单元

interface

uses

BizClas,Classes,SysUtils,Variables,BaseDataClas;

constThisPackage='

cssman'

;

//传递给后台,调用那一个Java包

type

TCssSalebillHeader=class;

//销售部配件发货单表头

TCssSaleBillLine=class;

//销售部配件发货单明细

基类

TCssSalebillHeader=class(TBizObject)

private

FSalebillHeaderId:

integer;

//单据Id,作为主键,必须在第一个声明,发布

FSalebillHeaderNo:

string;

//单据编号

FSalebillHeaderDate:

//单据日期

FSaleDeptId:

//发货部门

FSaleDeptCode:

//发货部门编码

FSaleDeptName:

//发货部门名称

FExcRate:

Double;

//汇率

FCreateOperatorId:

//制单人ID

FCreateTime:

//制单时间

FNote:

//备注

FStat:

//单据状态

FIdpath:

//权限

FSqlWhere:

//条件语句

对Tlist容器的理解

FImportDataFlag:

//导入标志

FMaxSearchRltCmt:

//最大查询数

FCssSalebillLineofCssSalebillHeader:

TList;

此参数设定,在类对象Create的时候,要不要同时创建关联对象

protected

//继承覆盖创建一个类函数

//输入参数类名:

//AClassName用于决定创建什么类,如果为空创建本身

functionCreateNewObject(AClassName:

string='

'

):

TObject;

override;

此三个函数是构造一个类的基本要素

public

//构建

constructorCreate(IsCreateCssSalebillLine:

Boolean=False);

//析构

destructorDestroy;

自定义新方法

//根据部门和仓库,获得销售部库存(DeptStock)

procedureDoGetDeptStock(ptType:

TPostType=ptStrWait);

published//属性如何发布

propertySalebillHeaderId:

integerreadFSalebillHeaderIdwriteFSalebillHeaderId;

propertySalebillHeaderNo:

stringreadFSalebillHeaderNowriteFsalebillHeaderNo;

propertySalebillHeaderDate:

stringreadFSalebillHeaderDatewriteFSalebillHeaderDate;

propertySaleDeptId:

integerreadFSaleDeptIdwriteFSaleDeptId;

propertySaleDeptCode:

stringreadFSaleDeptCodewriteFSaleDeptCode;

propertySaleDeptName:

stringreadFSaleDeptNamewriteFSaleDeptName;

propertyExcRate:

DoublereadFExcRatewriteFExcRate;

propertyCreateOperatorId:

integerreadFCreateOperatorIdwriteFCreateOperatorId;

propertyCreateTime:

stringreadFCreateTimewriteFCreateTime;

propertyNote:

stringreadFNotewriteFNote;

propertyStat:

integerreadFStatwriteFStat;

propertyIdpath:

stringreadFIdpathwriteFIdpath;

propertySqlWhere:

stringreadFSqlWherewriteFSqlWhere;

propertyImportDataFlag:

integerreadFImportDataFlagwriteFImportDataFlag;

propertyMaxSearchRltCmt:

integerreadFMaxSearchRltCmtwriteFMaxSearchRltCmt;

propertyCssSalebillLineofCssSalebillHeader:

TListreadFCssSalebillLineofCssSalebillHeader

writeFCssSalebillLineofCssSalebillHeader;

end;

TCssSalebillLine=class(TBizObject)

//销售部配件发货单Id

FSeq:

//行号

FCssItemId:

//配件ID

FCssItemCode:

//配件编码

FCssItemName:

//配件名称

FQty:

//数量

FPrice:

//单价

FAmount:

//金额

constructorCreate;

published

propertySeq:

integerreadFSeqwriteFSeq;

propertyCssItemId:

integerreadFCssItemIdwriteFCssItemId;

propertyCssItemCode:

stringreadFCssItemCodewriteFCssItemCode;

propertyCssItemName:

stringreadFCssItemNamewriteFCssItemName;

propertyQty:

DoublereadFQtywriteFQty;

propertyPrice:

DoublereadFPricewriteFPrice;

propertyAmount:

DoublereadFAmountwriteFAmount;

implementation

usesAuthClas,ResConst;

//---TCssSalebillHeader类开始---------------------------------------------

constructorTCssSalebillHeader.Create(IsCreateCssSalebillLine:

begin

inheritedCreate;

{在此处键入创建该子类时需要初始化的变量和对象}

//对象在资源文件中的名称代号

//主键个数

PKNum:

=1;

//包代号

注意关联对象列表的创建

PackageId:

=ThisPackage;

//关联是结果集

bRelationIsRecord:

=True;

//创建TCssSalebillLineOfCssSalebillHeader对象列表

ifIsCreateCssSalebillLinethen

FCssSalebillLineOfCssSalebillHeader:

=TList.Create;

end;

//析构

destructorTCssSalebillHeader.Destroy;

注意关联对象列表的释放

vari:

{在此处键入释放该子类前需要释放的对象}

//释放FCssSalebillLineOfCssSalebillHeader对象列表

ifAssigned(FCssSalebillLineOfCssSalebillHeader)then

begin

fori:

=0toFCssSalebillLineOfCssSalebillHeader.Count-1do

TCssSalebillLine(FCssSalebillLineOfCssSalebillHeader[i]).Free;

FCssSalebillLineOfCssSalebillHeader.Free;

inheritedDestroy;

//继承覆盖创建一个类函数

//为了确保父类创建正确的子类

//输入参数类名:

//AClassName用于决定创建什么类,如果为空创建本身

functionTCssSalebillHeader.CreateNewObject(AClassName:

if(AClassName='

)orSameText(AClassName,'

TCssSalebillHeader'

)then

result:

=TCssSalebillHeader.Create

常用的字符串比较

elseifSameText(AClassName,'

TCssSalebillLine'

=TCssSalebillLine.Create

注意关联对象(子表)的创建

else

=nil;

procedureTCssSalebillHeader.DoGetDeptStock(ptType:

TPostType);

自定义方法需要传递给后台的参数

Action:

='

getdeptstock'

Post(paSelect,sSelect,ptStr);

//---TCssSalebillHeader类结束---------------------------------------------

//---TCssSalebillLine类开始---------------------------------------------

constructorTCssSalebillLine.Create;

destructorTCssSalebillLine.Destroy;

functionTCssSalebillLine.CreateNewObject(AClassName:

//---TCssSalebillLine类结束---------------------------------------------

end.

2.类的注册

//功能:

注册客户端使用到的所有业务类

//基类在对业务类进行解析时,要在BizReg单元寻找业务类的注册.若没有,则会解析失败

必须Uses类单元才能找到相应的类

unitBizReg;

usesclasses;

usesLoginClas,VaultClas,AuthClas,BaseDataClas,FinClas,CssClas,DrpClas,MktClas,

RptClas,WhClas,ErpClas;

initialization

RegisterClasses([TCPCVault,TLoginUser,TModal_Class,TSys_Menu,TSys_Func,Toperator_ext_menu_ctrl,TCssSalebillHeader,TCssSalebillLine,TDept]);

2.类实例的使用

类建立,注册以后,必须通过其实例才能存储数据和进行其他处理,如:

procedureTCssProvBillTotalSearchForm.SearchBillObj(strSqlWhere:

string);

1.类实例的声明

varRptObj:

TRptSqlTool;

Begin

2.类实例的创建

RptObj:

=TRptSQLTool.Create;

RptObj.DSId:

//1号数据连结

3.类属性的赋值

RptObj.SQLType:

=0;

//0-查询

//执行查询

4.类方法的调用

RptObj.SQL:

=‘Select*FromDept’;

RptObj.ExecSQL(ptstr);

5.类数据的显示

//显示结果集在DataStringGrid上

dgView.LoadFromDataSet(RptObj.ResultSet,True);

6.类实例的释放

RptObj.Free;

三、命名规则

1.控件前缀:

由于系统基类和一些通用方法在对控件进行数据处理时,会结合控件类型,前缀,名称(对应类属性名)进行解析.故控件的命名必须标准.

控件

命名前缀

前缀长度

命名

Tedit

edt

3位字符

前缀+对应类属性名

Tmemo

mm

2位字符

TbuttonEdit

bedt

4位字符

TmaskEdit

medt

TspinEdit

sedt

TcheckBox

cbx

TcomboBox

cb

TDataStringGrid

dg

2.文件命名:

Unit单元文件名称:

模块前缀+通用名+Frm

对应Form名称:

模块前缀+通用名+Form

3.类命名:

模块前缀+通用名+Clas,注意要与后台Java类同名

四、控件的使用

系统使用的控件除TLabel、TEdit、Tcheck、Tmemo等基本控件外,还有公司自行开发的控件。

现介绍几个常用的控件(如:

TButtonEdit,TdataStringGrid)的一些用法。

1、TbuttomEdit的用法

TbuttomEdit控件是在TEdit的基础上增加了一些功能而开发出来的编辑框控件,最大的优点是可以显示多种格式及数据形式。

下面介绍它的一些重要的属性及相关方法。

a)AddOnId和AddOnIdFieldName属性

AddOnId这个属性是根据整个系统的特点而设计的一个非常有用的属性,由于数据库的设计中很多数据表中用一个ID值来作为数据的唯一标识,所以很多字段有相应的Id,Code和Name。

如商品则有ItemId,ItemCode,ItemName。

那么在存放ItemCode字段这个的TbuttonEdit中就可以在AddOnId属性中存放ItemId字段了。

AddOnIdFieldName这个属性是存放Id的字段的名称的。

如在存放ItemCode字段的TbuttonEdit的控件中赋给AddOnIdFieldName属性值为ItemId,这样TbuttonEdit就会在从对象中取数据时自动根据AddOnIdFieldName属性值来把ItemId的值保存到AddOnId属性中,也会在保存数据时根据AddOnIdFieldName属性值取的AddOnId属性中的ItemId的值来保存到对象中。

b)AutoClearAddon属性

这个属性的作用是当TbuttonEdit的Text的值改变了的时候,控件会自动清空AddOn属性的值,即字段的Id值。

当该属性为True时,给TbuttonEdit赋值时一定要将给AddOn赋值的语句写在给其Text赋值之后。

下面的语句是错误的:

BedtItemCode.AddOn:

=ItemTmp.ItemId;

BedtItemCode.Text:

=ItemTmp.ItemCode;

两句应该调换位置才是正确的。

c)ButtonStyle属性

这个属性设置TbuttonEdit的显示形式的。

它有四个值,分别是:

lsDropdown,lsEllipsis,lsNormal,lsSelect。

当是lsDropdown值时,TbuttonEdit是下拉框的形式,在属性Items中写入要显示的值;

当是lsEllipsis值时,TbuttonEdit的编辑框右边有出现一个小按钮,可以在OnButtenClick事件中为小按钮写入事件;

当是lsNormal值时,TbuttonEdit是一个普通的编辑框;

当是lsSelect值时,TbuttonEdit也是下拉框的形式,但是和lsDropdown的区别是在属性Items中是要显示的值,在属性Values中是字段真正要传回后台的值。

d)DataFormat属性

DataFormat这个属性是设置TbuttonEdit的数据类型的。

它有五个值,分别是:

dfDate,dfDateTime,dfInteger,dfNumber,dfString。

当是dfDate值时,TbuttonEdit的数据类型是日期型;

当是dfDateTime值时,TbuttonEdit的数据类型是日期时间型;

当是dfInteger值时,TbuttonEdit的数据类型是整数型;

当是dfNumber值时,TbuttonEdit的数据类型是实数型;

当是dfString值时,TbuttonEdit的数据类型是字符串型。

e)FocusControl属性

FocusControl这个属性的作用是在设置焦点控

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2