请问有没有Delphi的认正?

steventone 2003-10-15 04:34:24
请问有没有Delphi的认正?
...全文
21 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeff2win 2003-10-18
  • 打赏
  • 举报
回复
http://arch.pconline.com.cn/pcjob/train/train/10203/40259.html

有,上海马上会有正式的borland代理来操作,很快11月份吧,绝对可靠
klbt 2003-10-15
  • 打赏
  • 举报
回复
没有听说过,帮你顶。
内联函数(Inlining) D7中的inline关键字作为保留字并不会对编译器产生实际作用,在2009中此关键字起到内嵌到代码中起到实际作用。语法如下: function foo: Integer; inline; 内部函数/过程也可以使用,但在D2009测试版中,类方法的内部函数使用inline后不认Self指针;类的子过程/子函数,也可以使用inline关键字,但没有实际效果,且虚方法/继承方法(virtual/override)不能使用。 重载运算符(Operator Overloading) 可以重载部分运算符,如+、-、类型转换等,在D2006只支持到record,但从2007开始支持到Class,以下示例修改自官网: TMyClass = class // Addition of two operands of type TMyClass class operator Add(a, b: TMyClass): TMyClass; // Subtraction of type TMyClass class operator Subtract(a, b: TMyClass): TMyclass; // Implicit conversion of an Integer to type TMyClass class operator Implicit(a: Integer): TMyClass; // Implicit conversion of TMyClass to Integer class operator Implicit(a: TMyClass): Integer; // Explicit conversion of a Double to TMyClass class operator Explicit(a: Double): TMyClass; end; class operator TMyClass.Add(a, b: TMyClass): TMyClass; begin //... end; var x, y: TMyClass begin x := 12; // Implicit conversion from an Integer y := x + x; // Calls TMyClass.Add(a, b: TMyClass): TMyClass end; 类助手(Class Helpers) Helper是对原Class的扩展,是我们在不修改原类的基础上增加类方法,并加入原类的空间中。在Delphi中,对对象的调用实际上采用了两个步骤,首先是把对象地址放入eax寄存器中,然后call类方法,所以如果不使用继承类增加数据的话,用父类调用继承类的方法是没问题的,所以其实这样的方法在D7中也可以使用,但却很麻烦。所以Class Helper起到的就是这个作用,在Class Helper中可以增加的就是与实例无关的内容,所以任何需要增加实例Size的活VMT的功能不能声明,例如变量、虚方法等,但只占用类空间的没关系,如class var。在应用上我们可以通过这种方法方便的给VCL一类控件加上某个属性。 TFoo = class helper for TControl private function GetA: Integer; public class var X: Integer; procedure MSG(var Message: TMessage); message WM_MYMESSAGE; procedure ProcFoo; property A: Integer read GetA; end; // ... procedure TForm1.Foofoo; begin ProcFoo; // TControl -> TWinControl -> TScrollingWinControl-> TCustomForm -> TForm -> TFrom1: Call TFoo.ProcFoo end; strict关键字(Keyword “strict”) 众所周知,在Delphi中,类的private和protected域中的变量可以被同一单元中可以自由的被访问(Delphi的类没有“友元”的概念,但同一个unit中可以说自动友元化了),而并非是真正的私有或只能被继承类访问。而strict关键字的作用就是使该内容变成严格OO意义上的private/protected作用域,这点没有什么多说的。语法: strict private // Blah... strict protected // Blah... 结构方法(Records with Methods) 也没什么特别的,就是和class差不多,就一个不用创建和销毁、不能继承、没有作用域之类的类,很容易掌握,所以这里就不多介绍了。但是很有意思的是带参数的constructor可以通过编译,可能是为了初始化的方便吧。 抽象类和固实类(Abstract and Sealed Classes) 这两个概念在OO中也并不陌生,抽象类是不应该创建实例的(但D2006起的编译器就不给检查,连个Warning都没有,这还有啥用啊 -.- ),而固实类是不能被继承的。语法: TAnAbstractClass = class abstract // or (TParentClass) // Blah... end; TASealedClass = class sealed(TAnAbstractClass) // or empty // Blah... end; 类常量、类变量、类属性与静态类方法(Class const/var/property and Static Class Methods) 老的Delphi中只提供了类方法,而没有提供类变量、类常量和类属性,这真的是很不方便。这里先区分一下我所使用的类(Class)和对象(Object)即类的实例(Instance of Class)。当在Delphi中声明一个类的时候,这个类是有实际地址的,该地址记录了许多类的相关信息,比如实例的Size啊、虚方法信息啊一堆东西,而创建一个对象的时候则把类实例化,在堆(Heap)中分配一块地址,包括内部数据和VMT之类的东西。在调用实例的时候,首先要知道对象地址,然后才能访问内部变量和调用方法时使用Self指针即实例地址;而在调用类方法的时候,eax中的并不是实例的地址而是类的地址,然后再call方法,这时的Self指针并非实例地址而是类地址。所以对于每一个类和继承类来说,包括它和它的继承类的所有实例,类变量、常量都是同一个,这样就存在了一个唯一的可供使用的变量或常量,方便同步并且不需要使用较多的内存(可以参考C#中的类,不过C#中不允许从实例直接访问类变量、常量、方法)。而静态类方法则是在使用这个类方法的时候不传入class地址,也就是说没有Self指针,这样的类方法的访问开销要小于普通的类方法;这自然也就意味着,该类方法不能被继承(不能virtual/override)。另外,类属性的get/set方法必须使用静态类方法。 TFooClass = class private class procedure SetFoo(const Value: Integer); static; // A Static Class Method protected class var FX : Integer; // class var public const FC: Integer = 10; // class const class procedure VirtualProc; virtual; class property X: Integer read FX write FX; // class property class property Foo: Integer read FC write SetFoo; end; 类内部类型与嵌套类(Class Types and Nested Classes) 可以说现在的Class的域几乎相当于原来的整个unit,以前不能放里面的元素现在都可以放里面了,这个也没什么好多说的,试验一下就很容易明白了。 终方法(Final Methods) 这个也是建立在虚方法的基础上的,在override后使用final关键字,则表示该虚方法不能再被子类继承下去了。 TAClass = class public procedure Foo; virtual; end; TFinalMethodClass = class(TAClass) public procedure Test; override; final; // A Final Method end; For-in循环(For-in Loop) 这个应该是受.Net影响吧,支持遍历一个数组或提供了GetEnumerator函数的类。GetEnumerator要求返回一个类的实例,该类包含有Current属性和MoveNext方法。 procedure Foo(List: TStrings); i : Integer; lst : array[0..100]of Integer; s : string; begin for i in lst do ; for s in List do ; // Support of TStrings.GetEnumerator end;
1.4*ColEditor增加了对GRIDEH是否可以排序进行控制,但前题是单元要引用EhLibAdO*增加WaitForm,在费时的操作过程中使用,效果不错!*增加最优化网格宽度功能,让网格栏位的宽度根据其自身的数据最优化智能筛选BUG*待选字段值为空时,会重复增加进去*浮点型字段值比较有问题*Boolean字段型比较有问题,只认是与否1.3加入万能查询,以前是从胜天进销存中提取出来的,但我的速度快很多倍,因为我用了DisableControls,嘿嘿!*后来发现,智能过滤应该是对任何数据库都同样功能强大,因为它不是用FILTER属性,而是用ONFILTERRECODE事件来进行过滤的*对智通过滤做了一些改进,改掉一些BUG1.2增加了智能过滤功能,对任意一DATASET都可以!此功能参考QLFilter,在此表示感谢!以后会陆续增加一些MIS开发的常用功能组件或函数,请大家多多关注对了,几个按钮的ICON我暂时没有,没放上去丑了点,请大家自已加上去了!1.1ColEditor 更易于使用了,BUG基本排除!1.0本程序演示了如何使用编辑器在运行期设置表格的一些常用参数需要使用到Ehlib控件,最好使用3.6版本,旧版本也适用!使用前请双击本目录下的DB.UDL连接数据库,连接完成后即可选择数据表进行演示!在表格上按右键,即可出现功能菜单,点击进入!程序应该适用于各版本的DELPHI,但由于条件有限未做测试!希望大家多多交流,能得到大家的各种有用的源代码!本程序的全部代码您都可以任意使用,但源代码的最前面几行的注释不可以改变,否则您将无权使用!如有修改成更好用的版本,烦请给我一份,以便学习提高!jacky xuQQ:112876992Email:kingjit@163.comMSN:kingjit@163.comskype:kingjit@163.comhttp: www.kingjit.com======================您的回复就是我的动力,再没有人回复,就拉倒吧======================
Report Machine 2.6
===================

这是一个报表控件包,For Borland Delphi Versions 3,4,5,6,7.100% 源码.

最后更新日期:2002.10.11

目录
-----
说明
特点
最后更新
历史
安装
Demo程序
版权说明
注册

1.说明
----
Report Machine是一个报表控件包, Report Machine is reporting
tool component. It consists of report engine,designer and preview. Its capabilities
comparable with in QuickReport,ReportBuilder. It written on 100% Object Pascal
and can be installed in Delphi 2/3/4/5/6 and C++Builder 1/3/4/5/6.

2.特点
----
复杂的报表?在report machine面前,还会有什么复杂的报表存在吗?
不,不会有的,因为这是一个功能强大,完全自动化、完全自由设计的报表控件。
对于一般的主从表,单表,你甚至只需要点动鼠标次数=你的数据字段个数就可以
完成一个完全自定义的,并且支持用户进行格式修改加工,重新设计格式的报表!
想想fast report 吧,report machine会fast report会的,还会它不会的!
这是一个完全中文化报表控件,支持delphi3到delphi6,BCB3到BCB6。
它的最大优点就是:强大与自由!

report machine目前主要能做的:
一、支持屏幕打印,控制方法多样,可以打印全部rxlib控件
全部InfoPower控件,TDBGrid,TStringGrid,TImage,TEdit等,TDBGridEh,f1book,
TDecisionGrid等等众多控件。
二、支持最终用户设计、修改报表,只需连接相关的数据源,指出数据的位
置(设置报表样式),无论是主从表,子报表,套表,都可迅速生成。开发
一个报表只需几分钟的时间。
三、报表样式可以保存为rmf格式,下次可通过读入使用(配合SQL脚本就可以生成
报表)。并可以把带数据的报表保存为rmp格式,在任何机器上都可以浏览、打印,
而不需要数据库。
四、生成后的报表支持修改,包括字体的设置,边框的设置,修改内容等。
五、报表编辑器内自带ado,bde,ibx,Diamond dao,dbisam等数据访问控件,可以
通过这些控件开发独立的报表制作工具。其使用方法和delphi中的控件是一样的。
六、完全、自由自定义页面、边距、字体,标题和页眉页脚,并可以在自认合适的
地方插入函数来实现当前日期,页合计,总合计等功能,合计字段可以放在页头,分
组头,并支持条件合计,对分组合计,分页合计,总计等只需简单地设置属性即可。
七、完全支持d3--d6,c3--c6。
八、报表中可以在自认合适的事件(on beforeprint,on afterprint等)中加入程
序脚本,以控制、或实现更复杂的打印效果。
九、更新迅速,可根据使用人员与用户的意见,不断的加入新的功能。
十、首家支持缩放打印功能,可以根据打印时选择的纸张自动缩放报表。
十一、多种格式转换,可以把做出的报表转换为html,xml,bmp,jpeg等等格式。
十二、自动对超长记录折行,超长的内容也会自动折行。
十三、最新增加GridView,类似于电子表格,非常非常适合制作复杂报表

最新更新和问题解答请访问论坛:www.pcjingning.com

3.最后更新
--------
v.2.2(Build 2002/01/28)
- 完善缩放打印功能
- TRMCrossView去掉一些BUG

v.2.2(Build 2002/01/11)
- 增加缩放打印功能,
- TRMFormReport打印StringGrid,DBGrid等Grid时,对超宽Grid增加分页功能,
- MemoView增加属性CalcValue,可以访问MemoView中的内容,
- CalcMemoView增加TotalCalc属性,现在CalcMemoView科轻松实现页小计,页累计,
页总计,并且可以放在页头,栏目头,分组头,数据头。

v.2.2(Build 2001/12/10)
- 修正一些BUG,
- 增加了导出到BMP,GIF,JPEG文件功能,
- Designer增加最近打开文件功能,
- 添加字段的时候可以选择不要在字段名前附加表名。

v.2.1(Build 2001/11/29)
- 修正了几个BUG.

v.2.1(Build 2001/11/22)
- 修正了几个BUG.
- 增加多语言功能.

v.2.1(Build 2001/11/15)
- 修正了几个BUG.

v.2.1(Build 2001/11/12)
- TRMBandView增加属性LinesPerPage,可以设置每页打印记录数,
- TRMBandView增加属性PrintColFirst,当Column>1时,可以选择先列后行还是
先行后列打印,
- 修正没有安装打印机时的错误,
- 打印预览功能有些改变和增强.

v.2.1(Build 2001/11/07)
- EHLib可以打印Footer了,
- TRMFormReport增加分组功能,
- TRMCalcMemoView可以放在GroupHeader上了,
- TRMCalcMemoView增加Filter属性,之计算满足条件的纪录,
- 其他一些细节上的改变.

v.2.1(Build 2001/11/01)
- TRMFormReport中增加了数据对齐方式,数据显示格式.

v.2.1(Build 2001/10/30)
- 修正预览时,页面设置的错误.

v.2.1(Build 2001/10/25)
- TRMFormReport可以打印Rx,InfowPower全系列控件,
- TRMFormReport可以打印EHLib,
- 可以打印多个PageFooter,方便制作页小计.

v.2.1(Build 2001/10/18)
- 大大增强了TRMFormReport功能,可以与ScreenReport,
Dev ExpressPrinting System媲美;
- TRMFormReport增加了表格的自动缩放功能.可根据纸张的大小自动进行水平或
垂直方向的表格缩放.也就是说程序员不必再为迁就打印宽度和高度而反复调
整屏幕格式和字体大小,而且对于屏幕上带横向滚动杆的任意超宽表格都可以
缩放到指定大小的纸上.再也不用考虑打印超出纸张的问题了,也不会为迁就
打印而影响屏幕格式的美观而感到遗憾!使得表格打印更直接更方便,最大程
度地减少您的工作量;
- TRMFormReport增加一个事件OnPrintObject,在这个事件内程序员可自行编制
TRMFormReport不直接支持打印的任意控件;
- 请注意:TRMDBGridReport,TRMwwDBGridReport等已不再维护,因为TRMFormReport
具有以上几个GridReport的所有功能,并且更强.

v.2.1(Build 2001/10/08)
- 改掉了几个BUG;
- 增加TRMAngledLabel,可以打印倾斜角度的文字;
- TRMGridReport,TRMFormReport等做了一些改进.

v.2.1(Build 2001/09/25)
- 改掉了几个BUG;
- 背景图片增加Top,Left属性;
- TRMPictureView增加支持GIF格式图片.

v.2.1(Build 2001/09/21)
- 增加TRMStringGridReport,直接打印TStringGrid,TDrawGrid等继承自TCustomGrid的Grid;
- 增加TRMDecisionGridReport,直接打印TDecisitonGrid;
- 增加背景图片功能,可以实现套打.

v.2.1(Build 2001/09/17)
- 修正TRMOLEView只能缩放显示的错误,现在可以按实际大小,居中等显示.
- 增加TRXWWRichView,可以打印InfowPowwer中的TwwDBRichView.

v.2.1(Build 2001/09/14)
- 修正TRMRxRichView插入字段的错误.

v2.1
- 改掉一些BUG
- 增加属性PrintFrame,PrintVisible,可以实现套打;
- 报表增加选项(布缩放边框宽度),可以防止表格线变粗;
- Printer单元作了大量修改,Windows2000下支持自定义纸张.

v1.1
- 对DataManger作了大量修改,现支持各种数据存取控件(直接支持BDE,ADO,IBX,Diamond);
- 增加Query Designer;
- 增加Report Explorer.

v1.0 Preview 4
- Bug fixes;
- Added RX DateEdit control to the Dialog controls;
- Added possibility to excluding particular dataset or entire datamodule from
all db-related lists (see TfrDataDictionary.DisabledDatasets and code
of main demo);
- Added OnBeforePrint property to the report page (see Object Inspector) and
OnActivate event to the dialog form;
- Now you can tune export options in the export components (TfrTextExport and
etc);
- TRMFormReport做了修改,可以增加TRMFormReport不支持的控件;
- 其它功能增强或修改.

v1.0 Preview 3.
- Bug fixes;
- Added Data dictionary;
- Some changes in interface;
- 增加Auto Append Blank
- TGridReport(TwwGridReport)改进,支持颜色,对齐方式.下一版本将支持分组,合计功能.
- 下一版本将增加一个组件TFormReport,直接打印Form,类似于Screen Report.

v1.0 Preview 2.
- Fixed old bugs, added new;
- 一些性能改善;
- 对备注内容处理更完善;
- Added mouse wheel support in designer and preview (D4 and above);
- Object Inspector now looks like Delphi OI;
- Added expression builder;
- More options for "Text" object: line and char spacing, top and left gaps,
"Suppress repeated values" option; (可是设置行距,字距)
- Now you can turn off variable processing in the "Text" and "RichText"
objects. See "Text only" option of these objects;
- Added TRMReport.OnObjectClick event. This event fires when user clicks on
any object when previewing report;
- Added new Child band;
- Improved export filters (frames export in TXT, tables in RTF, pictures
in HTML); added more export options;
- Added paper bins support;
- Added component for printing table;
- Added "Columns" property for data-bands. See last report in the demo;
- Code changed: TfrReport.OnEnterRect now called OnBeforePrint;
- Added TRMDesigner.OnLoadReport, OnSaveReport and CloseQuery properties.

4.历史记录
--------
2001.08.30
Report Machine 2.1

2000.05.10
Report Machine 1.1

2000.03.17
Report Machine 1.0正式版

2000.02.21
Report Machine 1.0 Preview 3.

2000.02.12
Report Machine 1.0 Preview 2.

2000.01.25
Report Machine 1.0 Preview 1. Report Machine的第一版.

5.安装
-----
1.如果没有安装RxLib 2.60及以上版本,请打开RM.INC文件,
将"{$DEFINE RX}"改为"\\{$DEFINE RX}"

2.如果没有安装InfoPower及以上版本,请打开RM.INC文件,
将"{$DEFINE InfoPower}"改为"\\{$DEFINE InfoPower}"

3.Delphi 6.X
Delphi IDE中卸载以前的Report Machine版本。
打开菜单"File\Open..."打开DclRMachine6.DPK,选择"Install"

4.Delphi 5.X
Delphi IDE中卸载以前的Report Machine版本。
打开菜单"File\Open..."打开DclRMachine5.DPK,选择"Install"

5.Delphi 4.X
Delphi IDE中卸载以前的Report Machine版本。
打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件
与4.X有些不兼容)

打开菜单"File\Open..."打开DclRMachine4.DPK,选择"Install"

6.Delphi 4.X
Delphi IDE中卸载以前的Report Machine版本。
打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件
与3.X有些不兼容)

打开菜单"File\Open..."打开DclRMachine3.DPK,选择"Install"

6.Demo程序
---------
Report Machine包含一些例子,这是学习使用Report Machine的最快途径。

http://rmachine.8u8.com/download/demos.rar
需要用BDE Administrator建立一个Database Alias:
名称: RMachineDemo
Path:

7.付费
------------------
Report Machine是共享控件,如果你做了东西,赚到了money,并且认为Report Machine还不错,请赞助我,
以便作者有动力开发出更好的产品,如果只是拿来玩玩,不需注册.

参考价格:(这只是参考价格,多少你看着办)
个人:70元人民币
公司:290元人民币

网上付费:http://rmachine.y365.com/html/register.htm
汇款地址:天津市蓟县供电局计算站 王海丰 301900

如果你在使用中有什么问题或建议,或发现BUG,请与作者联系,谢谢!!!

Report Machine WWW:
http://rmachine.yeah.net
http://reportmachine.delphibbs.com

作者:
wanghaifeng_1@163.net
1.4 *ColEditor增加了对GRIDEH是否可以排序进行控制,但前题是单元要引用EhLibAdO *增加WaitForm,在费时的操作过程中使用,效果不错! *增加最优化网格宽度功能,让网格栏位的宽度根据其自身的数据最优化 智能筛选BUG *待选字段值为空时,会重复增加进去 *浮点型字段值比较有问题 *Boolean字段型比较有问题,只认是与否 1.3 加入万能查询,以前是从胜天进销存中提取出来的,但我的速度快很多倍,因为我用了DisableControls,嘿嘿! *后来发现,智能过滤应该是对任何数据库都同样功能强大,因为它不是用FILTER属性,而是用ONFILTERRECODE事件来进行过滤的 *对智通过滤做了一些改进,改掉一些BUG 1.2 增加了智能过滤功能,对任意一DATASET都可以!此功能参考QLFilter,在此表示感谢! 以后会陆续增加一些MIS开发的常用功能组件或函数,请大家多多关注 对了,几个按钮的ICON我暂时没有,没放上去丑了点,请大家自已加上去了! 1.1 ColEditor 更易于使用了,BUG基本排除! 1.0 本程序演示了如何使用编辑器在运行期设置表格的一些常用参数 需要使用到Ehlib控件,最好使用3.6版本,旧版本也适用! 使用前请双击本目录下的DB.UDL连接数据库,连接完成后即可选择数据表进行演示! 在表格上按右键,即可出现功能菜单,点击进入! 程序应该适用于各版本的DELPHI,但由于条件有限未做测试! 希望大家多多交流,能得到大家的各种有用的源代码! 本程序的全部代码您都可以任意使用,但源代码的最前面几行的注释不可以改变,否则您将无权使用! 如有修改成更好用的版本,烦请给我一份,以便学习提高!

2,076

社区成员

发帖
与我相关
我的任务
社区描述
华为认证、思科认证、项目管理、计算机等级考试、Linux认证、微软认证、H3C认证等IT认证相关的技术交流空间。
社区管理员
  • IT培训
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧