提供了强大的功能,各种控件提供了丰富的属性和方法。我们应该充分利用这些属性和方法。要想知道某数据库的记录数, 用一个简单的语句即可完成。例如求Delphi的DBDemos数据库中表 day.db的记录总数,假设Table控件已加到Form上,具体实现语句为:
Edit1.text:=inttostr(Table1.recordcount);
如果是要知道符合某条件的记录数,也非常方便,具体实现语句为:
Edit1.text:=inttostr(Query1.recordcount);
Recordcount属性用来表示为数据集相连的表的记录总数。
还有一种通用的方法,具体实现语句为:
VAR i:integer;
Begin
i:=0;
Table1.open;
Table1.First;
While not Table1.eof do
BEG1N
i:=i+1;
Table1.next;
End;
Edit1.text:=inttostr(i);
如果使用了TQuery控件,具体步骤如下:
Query1.close;
Query1.SQl.clear;
query1.SQL.add (′ ...... ′);
//某查询语句
Query1.open
Query1.first;
i:=0;
While not Query1.eof do
BEG1N
i:=i+1;
Query1.next;
EnD
Edit1.text:=Inttostr(i);
三.给数据库报表加上网格线
Delphi 1.0和2.0版捆绑了Reportsmith报表制作工具,实现报表打印。如果打印一个很简单的报表,在程序中启动Reportsmith,就显得比较麻烦。对于比较简单的报表,我们一般按本报63期相应文章的方法实现报表打印。例如,用Delphi 1.0编写的商业财务软件《保灵商务营销管理系统》中报表打印就是自主开发的,整个系统显得短小、整体性比较好。Delphi 3.0和Delphi 4.0就不再捆绑Reportsmith,但增加了QReport组中报表控件的功能,使得报表制作更加
灵活。给报表加上网格线就太容易了。在QReport 组件中用来显示数据的
TQRExpr。它就有一个Frame属性, 按下 F11键,在“Object inspect”中,修改“Frame”属性,它提供7个子属性,其功能如下:
Color 显示网格线颜色
Style 报表网格线的形状,如实线、虚线等
Width 网格线的宽度
DrawBottom 网格的底部
Drawlefl 网格的左边
DrawRight 网格的右边
DrawTop 网格的底部
在制做报表前,最好在数据库表中添加几个记录,然后根据需要修改这些属性,使用报表的预览功能在设计期间看修改效果,不满意可立即修改。
四.定制Speedbar
在Delphi的可视化设计界面中,使用最频繁的地方要数位于屏幕左上角的加速按钮栏(Speedbar)了。在实践过程中,笔者无意中发现了Speedbar的定制方法,这在我用过的四本Delphi参考书中均未提及到。步骤如下:
右键点击Speedbar,在弹出菜单中选Properties, 这时会出现一个名为Speedbar Editor的对话框。假设想要增设一项“语法检查”的功能,可在左边Categories列表框中选Project, 再把右侧的Syntax Check图标拖放到
Speedbar的合适的位置上,这项功能就已经加上了。如果speedbar上没有多余的空间来容纳新的按钮, 可将鼠标停在 speedbar右框处,变为双向箭头的形状时,向右拖动一段距离,就可腾出空间。如想删除speedbar上的某个按钮,可简单地把它拖出speedbar的范围,就能删除。操作十分方便。 建议把Syntax Check、 Project Options(工程选项)、 WindowsApi Help加到 Speedbar中,可以提高开发效率。
五.设计Form时的快捷键
使用快捷键可以加快设计速度。下面列出的快捷键,可根据实际情况,有选择地熟练掌握。
Del :删除所选组件;
Esc :选择当前组件的容器(通常是Panel,Group或Form);
F11 :在Form或Unit和对象检查器之间切换;
F12 :在Form和代码编辑器间切换;
Ctrl+F12 :显示“查看Unit”对话框;
Shift+F12 :显示“查看Form”对话框;
TAB :下一个组件;
Shift+TAB :上一个组件;
方向键 :选中此方向上最近的组件;
Ctrl+方向键 :将所选组件移动一个点;
Shift+方向键 :将所选组件改变一个点的大小;
Ctrl+Shift+方向键 :将所选组件移动一个格;
Shift+click :按住Shift键再用鼠标点击组件,可以选择多个组件。 下面这条是我摸索出来的: Ctrl+drag :按住Ctrl键在一个容器组件(如Panel,QReport,Groupbox等)里拖动鼠标,可强制选择鼠标拖过的矩形框中的所有属于此容器的可视组件(不包括该容器组件)。
六.命令行参数的使用
Delphi提供了访问命令行参数的方便的方式,那就是使用ParamStr和ParamCount函数。其中ParamStr(0)返回的是当前程序名,如
C:\TEST\MYPROG.EXE,ParamStr(1)返回第一个参数,以此类推;ParamCount则是参数个数。示例如下:
var
I: Word;
Y: Integer;
begin
Y := 10;
for I := 1 to ParamCount do begin
Canvas.TextOut(5, Y, ParamStr(I));
Y := Y + Canvas.TextHeight(ParamStr(I)) + 5;
end;
end;
七.DCU文件(编译的库单元)的重用
(1)在interface里的uses子句中引用。如Windows,Dialogs等,要求被引用的DCU一定要放在Delphi4\Lib子目录中。
(2)在implementation里的uses子句中引用。如果是自行编写的DCU文件,应采用这一方式,并将被引用的DCU文件放入当前工程所在的子目录中。
八.使用字符串资源的技巧
不同于其它资源,字符串资源不能直接编辑,需要先按格式编制一个文本文件,再用程序将其编译成资源文件。下面用一个简单的例子来说明。首先用文本编辑器编一个文件lb.rc,其内容如下:
STRINGTABLE
BEGIN
1,"开始"
2,"退出"
END