canvas教程

delphi开发经验技巧...(2)

字号+ 作者:H5之家 来源:H5之家 2016-12-24 14:02 我要评论( )

提供了强大的功能,各种控件提供了丰富的属性和方法。我们应该充分利用这些属性和方法。要想知道某数据库的记录数, 用一个简单的语句即可完成。例如求Delphi的DBDemos数据库中表 day.db的记录总数,假设Table控件已加

提供了强大的功能,各种控件提供了丰富的属性和方法。我们应该充分利用这些属性和方法。要想知道某数据库的记录数, 用一个简单的语句即可完成。例如求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

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Delphi笔记

    Delphi笔记

    2016-12-23 14:01

  • DELPHI技巧:用Delphi编写圆周率模拟器

    DELPHI技巧:用Delphi编写圆周率模拟器

    2016-08-29 13:00

  • delphi 用image 画图

    delphi 用image 画图

    2016-08-01 12:01

  • Delphi 的绘图功能[10]

    Delphi 的绘图功能[10]

    2016-06-05 16:00

网友点评