预览报表错误?????!!!!!

ably 2000-09-07 12:32:00
DELPHI4.0 当多次预览报表(quickrep)时(如15次),出现如下错误
metafile is not valid
canvas does not allow drawing
out of system resources
需退出软件后再进入,则预览9次出错,以后逐次减少
有时错误造成需重新启动计算机,才可预览,救救这个可怜的程序吧!!!
附∶预览程序
with TwtPrvform.Create(Application) do
begin
wtQRPreview.QRPrinter := TQRPrinter(Sender);
CurRep := quickrep1;
Show;
end;
调用程序
with Trptform.create(self) do
begin
QuickRep1.print;
QuickRep1.Free;
free;
end;
...全文
125 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dragongong 2000-09-07
  • 打赏
  • 举报
回复
就这个程序来说 要加上:
procedure TwtPrvForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:= caFree;
end;
zcw 2000-09-07
  • 打赏
  • 举报
回复
with TwtPrvform.Create(Application) do
try
quickrep1.Preview
finally
free;
end;
reprint 使用说明 直接从datasource,dbgrid,stringgrid导入数据, 只需简单设置,不用手工制作,即可生成您需要的报表,具有预览功能。即可自定义纸张,又可适应 打印机默认纸张。各种打印设置,功能更强大。 一 、控件属性: 1、colstitle 设置报表的列标题属性 (1)alignment 列标题对齐方式。 (2)font 列标题字体 (3)print 设置是否打印列标题 (4)rowspace 列标题行的高度 2、datasource 选择要打印的datasource 3、dbgrid 选择要打印的dbgrid 4、stringgrid 选择要打印的stringgrid 5、detail 设置要打印的明细数据属性 (1)arrange 设置明细字段排列方向 Horizontal 横向打印(默认的一般打印) Vertical 竖向打印(字段竖向排列适合打印字段内容较长的报表如“会议纪录”) (2)aotureturn 打印明细字段时,如果字段超过列的宽度是否允许自动换行 (3)colsline 设置竖线属性引用tpen类 (4)footer 设置明细尾 (5)frame 设置明细边框属性引用tpen类 (6)head 设置明细头同footer (7)rowsline 设置横线属性引用tpen类 (8)rowspace 设置明细行的高度 (9)top 明细与标题的距离 6、page 设置纸张的上下左右边距 7、pagefooter 设置页脚同明细尾 8、pageheader 设置页眉同页脚 9、printobject 选择要打印的对象 (datasource 、dbgrid、 stringgrid ) 10、title 设置标题类页眉、页脚 二 、控件方法: (1) preview 预览 (2) print 打印 (3) SaveToFile() 保存为报表文件 (4) SaveToStream() 保存为流(然后就可把整个报表存到数据库了很方便哦! ~_~) (5) PrintFile() 打印报表文件 (6) PrintStream() 打印流(流的数据库存取就不用多说了吧) (7) PreviewFile() 预览文件 (8) PreviewStream() 预览流 (9) OptionToStream() 报表的属性保存为流 (10) OptionFromStream() 从流中得到报表属性 三、 控件事件: AfterPrint 打印后 BeforePrint 打印前 (本来很多事件,但没有预览,后来加上预览以及一些方法后实现很困难就去掉了!) 四、注意事项 (1) text 属性,输入“¦;#¦;”打印页码值,如果想打印页码可输入“第¦;#¦;页” 输入¦;RecordCount¦;”打印记录数 (2) 不同的打印机,打印和预览效果可能有一点点不同(保证数据打印完全正确一致)。本人用一台针式和一台激光打印机做测试,开始差别较大后经过调试基本一致,不知其他打印机如何。 就这些个吧基本满足了我的软件开发需要,解决了很多问题,关键是做报表省了很大力气,当然了很复杂的报表还是要其它报表控件来解决。如果有其他问题或好的建议可与我联系。 程序设计:吴进昊 E-mail :jinhaowu@hotmail.com qq :54254770 2003.01.03 新增明细栏的左右对齐. 纸张类型、打印方向设置! 标题的每页打印设置。 列标题的每页,每行打印设置。 修改了打印时的错误!
Flex:Web报表引擎——MyReport 2.3.6.0 + 免Flex开发集成版 release 2.3.6.0 --新增功能:报表编辑器支持打开/报表本地文件功能 --新增功能:单元格垂直合并 --新增功能:报表编辑器,标题行支持单个和多个单元格添加 --修改功能:修改报表编辑器,添加列,删除列功能 --修改功能:修改报表编辑器行编辑效果 --优化样式文件数据量 release 2.3.5.1 --修正Bug:单元格合并时,合并列宽计算错误 release 2.3.5.0 --新增功能:增加报表高度自动递增设置 --新增功能:新增一维码EAN13,EAN8函数:ToEAN13,ToEAN8 --新增功能:新增LenInt函数 --新增功能:表达式引擎支持一元运算符+,-, ! --新增功能:表达式引擎支持字符串定义"",'' --新增功能:打印预览数据筛选 --修改功能:修改统计函数类 --修改功能:修改Fixed,Ceil,Floor,Round函数 --修改功能:修改表达式编辑器函数列表 --修正Bug:报表编辑器删除设计项界面刷新问题 --修正Bug:修改报表右边距界面刷新问题 详情参考:http://blog.csdn.net/hunkcai/archive/2011/04/09/6312603.aspx Web报表引擎: Web上的良好的打印解决方案,WinForm的打印预览体现,报表自动化,支持直接打印,页小计,统计,转成金额大写,一维码显示,图片显示 ,条件样式等功能,满足中国式报表的常见功能需求。 Web报表编辑器: * Web上良好的报表设计用户体现,可视化编辑,支持设计/预览视图撤换。 * 通过下拉框选择,快速设置报表数据的绑定。 * 支持单元格内容格式化(数字,金额,日期等)输出。 * 通过表达式编辑,轻松设计页小计行或页统计行。 * 支持标题高度,行高,列宽拖动编辑,拖放调整顺序等良好操作。 内含: * MyReport报表引擎库文件MyReport.swc。 * MyReport免Flex开发集成版,适用于以传统html构建的系统,希望集成MyReport报表引擎的报表预览、打印和报表设计功能,并且不需要进 行Flex相关的二次开发的用户。 * Flex示例工程和.Net示例工程。 * 相关说明文档和示例数据。 注: * Flex示例工程,用Adobe Flash Builder 4开发环境打开,用Flex SDK 4.1进行编译。 * .Net示例工程,用Visual Studio 2010开发环境打开。 * 只需少量工作就能把MyReport整合,获得良好的打印体现和报表设计体现。 * 报表引擎效果图参考:http://blog.csdn.net/hunkcai/archive/2010/01/14/5190898.aspx * 报表编辑器效果图参考:http://blog.csdn.net/hunkcai/archive/2010/04/21/5512031.aspx
FastReport问题集 Q: 我怎样添加我的自定义函数? A: 使用 TfrReport.OnUserFunction 事件. 这里有一个简单的例子: procedure TForm1.frReport1UserFunction(const Name: String; p1, p2, p3: Variant; var val: Variant); begin if AnsiCompareText(‘SUMTOSTR‘, Name) = 0 then val := My_Convertion_Routine(frParser.Calc(p1)); end; 然后,你就可以在报表(任何表达式或脚本)的任何地方使用 SumToStr 函数了。 Q: 但是它仅仅能工作在一个TfrReport组件中。可我想在任何地方(在所有的TfrReport组件中)使用的我的自定义函数? A: 使 OnUserFunction event 句柄作为所有组件的公用句柄。如果你不能做到这一点,你需要创建函数库: type TMyFunctionLibrary = class(TfrFunctionLibrary) public constructor Create; override; procedure DoFunction(Fno: Integer; p1, p2, p3: Variant; var val: Variant); override; end; constructor TMyFunctionLibrary.Create; begin inherited Create; with List do begin Add(‘DATETOSTR‘); Add(‘SUMTOSTR‘); end; end; procedure TMyFunctionLibrary.DoFunction(Fno: Integer; p1, p2, p3: Variant; var val: Variant); begin val := 0; case Fno of 0: val := My_DateConvertion_Routine(frParser.Calc(p1)); 1: val := My_SumConvertion_Routine(frParser.Calc(p1)); end; end; 要注册函数库,调用 frRegisterFunctionLibrary(TMyFunctionLibrary); 要卸载函数库,调用 frUnRegisterFunctionLibrary(TMyFunctionLibrary); Q: 我怎样将我的函数添加到函数列表中 (用表达式生成器)? A: 使用 frAddFunctionDesc 过程 (在FR_Class 单元中): frAddFunctionDesc(FuncLib, ‘SUMTOSTR‘, ‘My functions‘, ‘SUMTOSTR()/Converts number to its verbal presentation.‘); 注意: "/" 符号是必须的! 它从它的描述中分隔函数语法。 FuncLib 被声明为你自己的函数库 (如果你不使用函数库可以将其设置为nil). 当函数库未注册时,所有它的函数将自动从函数列表中删除。 ---------------- 使用变量 ------------------------------------- Q: 我怎样编程实现填充变量列表(在数据词典中)? A: 数据词典中的所有变量及分类都被存储在 TfrReport.Dictionary.Variables 中. with frReport1.Dictionary do begin // 创建分类(名称用空白) Variables[‘ New category‘] := ‘‘; // 创建变量 Variables[‘New Variable‘] := ‘CustomerData.Customers."CustNo"‘; Variables[‘Another Variable‘] := ‘Page#‘; end; Q: 我定义了字符串变量: with frReport1.Dictionary do Variables[‘Month‘] := ‘March‘; 但是当我运行报表是,出现了错误,为什么? A: 因为 FastReport 假定数据词典中的字符串变量值是一个表达式,它需要分析、计算它。 可以使用其它的方法: with frReport1.Dictionary do Variables[‘Month‘] := ‘‘‘‘ + ‘March‘ + ‘‘‘‘; 或者, 使用 frVariables 来传输固定数据到报表。 Q: 我不想在数据词典中显示某些数据集? A: 使用 TfrReport.Dictionary.DisabledDatasets: with frReport1.Dictionary do begin // 关闭该数据集 DisabledDatasets.Add(‘CustomerData.Bio‘); // 或者, 关闭整个数据模块/窗体 DisabledDatasets.Add(‘CustomerData*‘); end; Q: 我怎样将数据传送到报表? A: 有几个方法可以实现它. 第一是使用全局对象 frVariables (在 FR_Class 单元中被定义): frVariables[‘My variable‘] := 10; 这段代码创建了一个名称为“My variable”,值为 10 的变量。这是最好的传输固定数据的报表的方法。 第二种方法是使用 TfrReport.OnGetValue 事件. 这可以使用这个方法来传送动态数据、记录等。 procedure TForm1.frReport1GetValue(ParName: String; var ParValue: Variant); begin if ParName = ‘MyField‘ then ParValue := Table1MyField.Value; end; 最后, 第三种方法是通过编程在数据词典中定义变量(可以参考以前的问题): with frReport1.Dictionary do begin Variables[‘MyVariable‘] := ‘CustomerData.Customers."CustNo"‘; Variables[‘Another Variable‘] := ‘10‘; end; Q: 我能在报表和程序间传送数据吗? A: 使用 frVariables 对象. 如果你在报表的任何对象的脚本中写入以下代码: MyVariable := 10 那么,在你的程序中,你可以使用以下代码来获取 MyVariable 的值: v := frVariables[‘MyVariable‘]; ---------------- 脚本 (FastReport Pascal) --------------------------------- Q: Band 中是否可以使用脚本? A: 当然. 选择 band ,然后按 Ctrl+Enter 或在对象浏览器中选择 "OnBeforePrint" 属性。 Q: 报表页中是否可以使用脚本? A: 当然. 选择页 (在空白处单击) ,然后在对象浏览器中选择 "OnBeforePrint" 属性。如果该页是一个对话框窗体,那么这个属性就是 "OnActivate". Q: 我有两个对象: Memo1 和 Memo2. 我能否在 Memo1 的脚本中调用 Memo2 的属性和方法? A: 当然, 例如,你可以这样做: 对象名.属性名. Q: 在脚本中,我可以使用对象的哪些属性? A: 几乎所有你能在对象浏览器中看到的属性。例如,可以使用 Font.Name, Font.Size等来存取字体属性。 ---------------- 其它问题 -------------------------------------------- Q: 怎样改变多页报表中某一页的顺序? A: 拖动页标签到目的位置。 Q: 我想查看所有的字段及变量,我想在报表中使用列表来实现它? A: 设置 TfrReport.MixVariablesAndDBFields := True.现在,所有的数据字段及变量可在“插入数据字段”对话框中可存取了。 Q: 我不想显示导入选项对话框? A: 在导入组件(比如,TfrTextExport)中设置所有必需的选项,然后通过设置ShowDialog属性为False来关闭此对话框。 Q: 为什么 TotalPages 变量不起作用? 它总是返回 0. A: 在你的报表中设置 Two-pass 选项. 要设置它,你需要在报表设计器的“文件”菜单中,打开“报表选项”对话框。 Q: 我用BLOB字段来存储我的报表。当我运行报表设计器时,它显示我的报表未命名? A: 在运行报表设计器前,这样做: frReport1.FileName := ‘Name of my report‘; Q: 我想在重新定义报表设计器中的“打开”及“保存”按钮的功能? A: 查看 TfrDesigner 组件. 它有几个必需的事件: OnLoadReport 和 OnSaveReport. 这里有一小段代码例子: procedure TForm1.frDesigner1LoadReport(Report: TfrReport; var ReportName: String; var Opened: Boolean); begin with MyOpenDialog do begin Opened := ShowModal = mrOk; if Opened then begin Report.LoadFromBlobField(…); ReportName := …; end; end; end; procedure TForm1.frDesigner1SaveReport(Report: TfrReport; var ReportName: String; SaveAs: Boolean; var Saved: Boolean); begin if SaveAs then with MySaveDialog do begin Saved := ShowModal = mrOk; if Saved then begin Report.SaveToBlobField(…); ReportName := …; end; end else Report.SaveToBlobField(…); end; Q: 在 QR 中, 我可以写这样的代码: QRLabel1.Caption := ‘Some text‘. 我可以用FR这样做吗? A: FR 对象并不是一个组件 (这并不像 QR, RB). 但使用 TfrReport.FindObject 方法可以通过对象名称找到该对象。 var t: TfrMemoView; begin t := TfrMemoView(frReport1.FindObject(‘Memo1‘)); if t <> nil then t.Memo.Text := ‘FastReport‘; end; Q: 我想在用户预览(TfrPreview组件)中自定义热键? A: 这个组件有个窗口: Tform 属性. 将自定义句柄指定到 Window.OnKeyDown 属性. Q: Fast Report 2.4 不能装载 FreeReport 2.21 文件? A: 这仅需要使用16进制数改变报表文件的第一字节,然后在源代码中修改下面的部分。在这些修改之后, 装载报表并保存它. 最后,返回到源代码处. FR_Class: function ReadString(Stream: Tstream): String; begin { if frVersion >= 23 then} Result := frReadString(Stream) {else Result := frReadString22(Stream);} end; procedure ReadMemo(Stream: Tstream; Memo: Tstrings); begin { if frVersion >= 23 then} frReadMemo(Stream, Memo){ else frReadMemo22(Stream, Memo);} end; FR_Utils: procedure frReadMemo(Stream: Tstream; l: Tstrings); var s: String; b: Byte; n: Word; begin l.Clear; l.Text := frReadString(Stream); exit; Stream.Read(n, 2); if n > 0 then repeat Stream.Read(n, 2); SetLength(s, n); Stream.Read(s[1], n); l.Add(s); Stream.Read(b, 1); until b = 0 else Stream.Read(b, 1); end; function frReadString(Stream: Tstream): String; var s: String; n: Integer; b: Byte; begin Stream.Read(n, 4); SetLength(s, n); Stream.Read(s[1], n); if (n > 0) and (s[n] = #$0A) then SetLength(s, n - 2); // Stream.Read(b, 1); Result := s; end; Q: 怎样不在打印预览中打印报表? A: 这里有一段代码: frReport1.PrepareReport; frReport1.PrintPreparedReport(‘‘, 1, True, frAll); 或 frReport1.PrintPreparedReportDlg; Q: 我想在报表中旋转图片。问题是这张图片是由我的应用程序生成的。是否有方法可以在打印前将这幅图片装载到报表中? A: 使用 TfrReport.OnBeforePrint 事件: if View.Name = ‘Picture1‘ then TfrPictureView(View).Picture.LoadFromFile(…) 或 .Assign 或 .你所想要做的任何事情
Report Machine 2.4 =================== 这是一个报表控件包,For Borland Delphi Versions 3,4,5,6.100% 源码. 最后更新日期:2002.05.25. 目录 ----- 说明 特点 最后更新 历史 安装 Demo程序 版权说明 注册 说明 ---- 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. 特点 ---- 复杂的报表?在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 最后更新 -------- 新版本:2002/05/25更新,欢迎下载(有免费版下载) --FormReport可以打印ListView --TRMReport增加DefaultDictionaryFile属性,可以设置默认数据字典 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. 历史记录 -------- 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的第一版. 安装 ----- 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版本。 打开菜单";FileOpen...";打开DclRMachine6.DPK,选择";Install"; 4.Delphi 5.X 从Delphi IDE中卸载以前的Report Machine版本。 打开菜单";FileOpen...";打开DclRMachine5.DPK,选择";Install"; 5.Delphi 4.X 从Delphi IDE中卸载以前的Report Machine版本。 打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件 与4.X有些不兼容) 打开菜单";FileOpen...";打开DclRMachine4.DPK,选择";Install"; 6.Delphi 4.X 从Delphi IDE中卸载以前的Report Machine版本。 打开所有的DFM文件,选择保存。(因为我是在Delphi 5.0中完成的,DFM文件 与3.X有些不兼容) 打开菜单";FileOpen...";打开DclRMachine3.DPK,选择";Install"; Demo程序 --------- Report Machine包含一些例子,这是学习使用Report Machine的最快途径。 http://rmachine.8u8.com/download/demos.rar 需要用BDE Administrator建立一个Database Alias: 名称: RMachineDemo Path: 版权说明 ---------- Report Machine可免费应用于非商业应用,如果应用于商业用途,请与作者联系。 付费 ------------------ Report Machine是共享控件,如果你做了东西,赚到了money,并且认为Report Machine还不错,请赞助我, 以便作者有动力开发出更好的产品,如果只是拿来玩玩,不需注册. 参考价格:(这只是参考价格,多少你看着办) 个人:40元人民币 公司:200元人民币 现在提供下载的是免费版本,这是个免费版,与标准版相比少了一些控件,包含源码。 网上付费:http://rmachine.y365.com/html/register.htm 汇款地址:天津市蓟县供电局计算站 王海丰 301900 如果你在使用中有什么问题或建议,或发现BUG,请与作者联系,谢谢!!! Report Machine WWW: http://rmachine.yeah.net http://reportmachine.delphibbs.com 作者: wanghaifeng_1@163.net

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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