一、2000年问题
在程序中使用有关日期的组件,如DatetimePicker,MaskEdit等时,均使用长日期格式即可。
二、赋予初始值
procedure Tform1.Button1Click(Sender:TObject);
Var
S:string;
begin
Table1.append;
DBEdit1.text:=锦江区;
DBComboBox1.text:=望滨路;
S:=DBComboBox1.text;
DBCheckedBox1.checked:=false;
End;
以上,将为DBEdit1、DBComboBox1、DBCheckedBox1赋予初始值。通过对象浏览器研究组件对象的继承关系后,你一定还可以发现更多的隐含属性,这将为我们的编程工作提供很大的帮助。
三、动态问题
1、动态组合框(DBLookupComboBox)
为了使用户可以自己方便地改变组合框中的内容,例如经常变动的工作人员名单,应该使用DBLookupComboBox代替一般的DBComboBox。步骤如下:
(1)建立一个工作人员名单数据库,在程序中提供对此库的增加、修改、删除等操作。
(2)使用DBLookupComboBox时,将属性ListSource指向名单库,Listfield和Keyfield指向名称字段,DataSource和Datafield指向欲写入的数据库和字段。在运行时,程序从名单库中提取名称信息,从而实现动态产生组合框中的内容。DataSource和Datafield也可以不填,这时提供动态信息,但不向任何数据库写入内容。
这种方法也适用于Dbgrid,方法见后所述的“lookup字段的使用”一节。
2、动态SQL
? 程序中可以动态地为Query组件写入SQL语句,填入参数。例如:
procedure Tform1.Button1Click(Sender:TObject);
Var
S:string;
begin
Query1.active:=false;
S:=select*fromt1.dbf
Query1.SQL.add(s);
S:=whereid=:id;
Query1.SQL.add(s);
Query1.Params[0].AsString:=1;
Query1.active:=true;
End;
以上程序将选出t1.dbf所有id为1的记录。使用动态SQL,可以实现动态查询、动态报表等功能,十分有用。
四、报表制作
在DELPHI3.0中,不再有DELPHI1.0、DELPHI2.0原有的ReprotSmith报表制作工具,改为一套完整的QuickReport报表组件,使得报表与应用程序的连接更为紧密,运用更加灵活方便。具体的制作可参考DELPHI3.0提供的例子程序Qr2demo。有以下几点值得注意:
(1)建立新报表可以在File菜单的New...中选取Report,也可以先建立一个空表单(Form)后,再放上一个QuickReport组件。前者建立一个从TQuickReport继承的对象,后者不进行继承,若程序中使用了复杂报表(几个报表的组合)。
(2)主要对明细报表制作(Master/Detail)。
这类报表可以用两种方法生成,一种是像Qr2demo中一样,使用两个Table组件,另一种是使用一个Query组件,配合SQL语句实现。例如:
Select*fromxl.dbfa,byq.dbfb Wherea.xlmc=b.xlmc
则将选出两个库中所有xlmc字段相同的记录,从而实现了主要对明细关系。
(3)BeforePrint事件和OnPrint事件可提供打印前的预处理。
以下程序中,Qrimage画了一个“勾”,通过BeforePrint事件和OnPrint事件预处理当前记录的下一条记录,从而在产生报表时决定在当前记录的“高压”还是“低压”处打勾。Qrimage的enabled属性决定其是否显示和打印。
procedure do1(s1:string);
begin
if s1=高压then
begin
qr1.qrimage1.enabled:=true;
qr1.qrimage2.enabled:=false;
end
elseif s1=低压then
begin
qr1.qrimage1.enabled:=false;
qr1.qrimage2.enabled:=true;
end
else begin
qr1.qrimage1.enabled:=false;
qr1.qrimage2.enabled:=false;
end;
end;
procedure Tqr1.qr2BeforePrint(Sender:TQuickRep;varPrintReport:Boolean);
begin
query2.active:=true;
query2.first;
qrimage1.enabled:=false;
qrimage2.enabled:=false;
end;
procedure Tqr2.QRDBText5Print(sender:TObject;varValue:String);
begin
do1(query2.fieldbyname(DianYa).asstring);
if not query2.eof then
query2.next;
end;
五、lookup字段的使用
在实际的数据库程序中,我们经常使用编码表,例如对消费品名进行编码,在存入消费库中时使用消费品编码,而在使用DBGRID或其他数据明了构件显示出来时使用具体内容。这就要使用lookup字段了。
我们可以作以下试验:
(1)新建一个项目,使用database desktop建两个库,别名test,如下:
nameid:编码表 字段名 Name Id 记录1 Tanglu 1 记录2 shangwang 2
id:欲存入表(现为空)
字段名 Id 记录1 记录2
在Form1上放如下构件:
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关文章
热点关注
- AnsiString?PChar?赋值
- Report Machine 3.0 (报表
- MapX v5.02.25 破解文件
- WDBOX v1.0 多选下拉列表
- 用Delphi开发视频聊天软件
- Delphi客户服务器应用开发
- AES 加密算法函数包及演示
- ACCESS/SQL 数据库存取图
- 熊猫烧香核心源码(Delphi
- 把整个网页保存成JPG图片(
- 高级计算器 V1.0 (含代码)
- Delphi版模仿熊猫烧香病毒
- 精确定位打印程序 (含源代
- Delphi文件管理(六)
- 将数字四舍五入保留两位小
- 绝地程序编辑器 v1.0.1.4
- 关于自定义界面的方案(Eas
- Delphi 对象链接与嵌入(
- 用HTML页面做程序界面演示
- Delphi模拟最小化恢复关闭
- 用Delphi实现24位真彩色图
- 限制客户机运行程序 (有关
- Delphi中用API实现在MSN的
- DELPHI数据库应用程序的开
- Delphi 动态链接库编程(
- QQ号码自动申请器及源代码
- Win9x 下调整系统时钟控件
- delphi中的XML解析控件TXM
- 几个游戏内存修改器代码
- TT8 DevExpress 最新系列
- Tnt Delphi Unicode Contr
- DelphiTwain 2004-1-20 (
- Delphi中数据的自动录入
- 经验技巧:分享两条Delphi
- Delphi中Hash表的使用方法
IDC资讯
虚拟主机
域名注册
托管租用
vps主机
智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD




