基本上就是QuickReport实现套打。但这里提出一个需求就是:可以自己定义打印模板,模板由图形编辑工具生成,可快速完成报表的绘制,精确定义报表几何尺寸、填充表头文字、定义单元格的数据来源(数据文件导入及数据提取)。最终生成报表模板文件。
问题由此产生:Delphi支持向VC++那样的动态生成控件吗?还要有分层打印。(什么是分层打印啊)
我今天上午才安装了个DELPHI 7,对DELPHI还一无所知,所以还没出现开发过程中可能产生的问题,我会继续在这个帖子里问,希望能获得大家的帮助!谢谢!
问题由此产生:Delphi支持向VC++那样的动态生成控件吗?还要有分层打印。(什么是分层打印啊)
我今天上午才安装了个DELPHI 7,对DELPHI还一无所知,所以还没出现开发过程中可能产生的问题,我会继续在这个帖子里问,希望能获得大家的帮助!谢谢!
解决方案 »
- DbGridEh 一个单元格的值改变时另一单元格的值随之改变
- 关于delphi6.0通过ado调用sqlserver2000存储过程的问题
- 求助
- 调用dll问题
- 各位大哥谁有SeSkin控件包,给小弟发一个to [email protected]
- 一个关于菜单的很简单的问题?
- 感兴趣的话来狼网论坛看看
- 关于Installshield(我在Installshield6.2中安装,能创建快捷方式,可是在7.0中创建不了呀!!)
- mdi子窗口关闭时触发父窗口的什么消息?
- 谁知道DELPHI中的排序函数?
- 一个小问题,请大家勇跃参加。除“UP”和“关注”者外,来者有分。在线待待
- 怎样看.dcu文件的源码啊,有没有什么反编译的东西
动态生成报表的难度很大,我在VB里见识过
DELPHI中我还没是试成功,
我的想法是利用OO的原理,在应用服务器上编写中间件,将报表模板全部定义好
再把数据从数据库服务器调出后套打在报表里
但自定打印模板,不可能真正实现完全自定依的.
打印票据用什么比较适合啊?
我们这个是商业软件,不敢用D版的东西(上级有不给买,指定用quickreport……)
我的Email:[email protected]
TQRType = (rLabel, rBand, rMemo, rRep, rExpr,
rNone
);
TRepItem = record
Name: string;
ParentName: string;
QRType: TQRType;
Layer: Integer;
Ptr: Pointer;
end;TRepcontainer = class
private
FRepList: TRepList;
public
function GetCount: Integer;
constructor Create;
destructor Destroy;
function GetByName(Name: string): Pointer;
function GetId(Name: string): Integer;
procedure SetLayer(Name: string; Layer: Integer);
procedure Free;
procedure Add(Item: Pointer);
procedure Delete(Index: Integer);
procedure Clear;
procedure SortLayer;
procedure RePaint;
public
property Count: Integer read GetCount;
property Reps: TRepList read FRepList write FRepList;
end;可以在析构函数里做资源的释放。控件的类型按照TQRType注册在FRepList中,
释放的时候采用下面的方法:
procedure TRepcontainer.Delete(Index: Integer);
var
Item: PTRepItem;
ptr: Pointer;
begin
if Assigned(FRepList) then
begin
Item := PTRepItem(FRepList[Index]);
if Item <> nil then
begin
ptr := Item.Ptr;
case Item.QRType Of
rLabel:
PTQRLabel(ptr)^.Free;
rBand:
PTQRBand(ptr)^.Free;
rMemo:
PTQRMemo(ptr)^.Free;
rRep:
PTQuickRep(ptr)^.Free;
rExpr:
PTQRExpr(ptr)^.Free;
else
end;
end;
FRepList[Index] := nil;
end;
end;
包括自己定义打印模板(窗口编辑工具,包含chart编辑),基本上跟delphi设计期一样要用的话当然还要自己继续完善美化给我留个mail