200分悬赏,大虾快来!该死的QuickReport!(200分)

  • 主题发起人 主题发起人 shenjian
  • 开始时间 开始时间
S

shenjian

Unregistered / Unconfirmed
GUEST, unregistred user!
使用QuickReport有如下问题:
1.QuickReport对不同打印机有不同反应,有的打印机打不出来,有的打的出来.有的只有表格没数据。
2.QuickReport打印大量文本时QRDBRICHEDIT无法输出!而且用其他控件又
无法控制格式,头疼!
3.QuickReport预览窗体特难看!又方法改变吗?
问:
那位大虾给我一个稳定的,免费的,解决了问题的!类似QuickReport的
控件集,我给他200大洋.(如有<例如:ReportBuild pro 4.01 及ID号>
则Email给 shenjian@goldenter.com ,我将送上大洋!
 
我有ReportBuild 4.20 for D5但要10兆.无法寄
自己到俄国人的站点上下载吧.
 
1.选在在激光打印机设置中好象有一项将文本以图形(位图)方式打印选项。
3.自定义预览窗口请看<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=150700" target="_blank">Quick Report种预览窗口中的按钮如何汉化?</a>
<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=134680" target="_blank"> 又一个报表问题 </a>
 
find source ,change it,
or change control pack.
 
多上网查查
 
你用的是D4里的Quickreport3.03版吗?去下载3.05升级后会好很多。
同时下载打印机的最新驱动。
如果你用的是Espon的打印机,情况有点糟,安装程序会安装一个Espon的并口驱动程序。这样其他的打印机(特别是一些老型号的)多数会发生你说的上述问题。
而且卸载Espon的驱动也没用。要重装Windows才行。
 
打印机打不出来可能是QRREPORT没有detail项
没有数据可能是QRREPORT没有连DATASOURCE;
QRDBRICHEDIT无法输出,确实这样,没办法;
自定义报表窗口看看下面的code;OK;
自 定 义 快 速 报 表 的 打 印 预 览 窗 口
---- Quick Report 2.0 中 提 供 的 默 认 打 印 预 览 窗 口 是 英 文 界 面 的, 如 果 开 发 的 中 文软 件 中 带 有 这 种 英 文 显 示, 不 免 有 些 小 小 的 缺 憾。 因 此 有 必 要 实 现 中 文 界面 的 打 印 预 览 窗 口。 但 是Delphi 提 供 的 源 代 码 中 并 没 有 打 印 预 览 窗 口 的.PAS 源文 件, 这 就 无 法 直 接 修 改 源 码, 只 能 全 部 自 己 编 程 实 现。 经 多 次 实 践, 笔 者模 仿 实 现 了 与 默 认 预 览 窗 口 外 观 类 似, 功 能 相 同 的 打 印 预 览 窗 口。 步 骤 如下:
---- 1. 新 建 一 个 窗 体, 设 置Name 为MyPreview。
---- 2. 在 窗 体 上 添 加 一Toolbar 控 件, 模 仿 默 认 预 览 窗 口 创 建 相 应 的Toolbutton, 并 设
置 各 按 钮 的Hint 提 示。
---- 3. 添 加 一Panel 控 件, 对 齐 方 式 置 为alBottom。 再 在 此Panel 上 放 一ProgressBar( 左 对 齐)
和Panel( 右 对 齐), 分 别 显 示 报 表 装 载 进 度 和 其 他 提 示 信 息。
---- 4. 添 加QRPreview 控 件, 对 齐 方 式 置 为alClient。
---- 5. 添 加OpenDialog, 设 置Filter 属 性 为*.QR; 添 加SaveDialog, 设 置Filter 属 性 为
*.QR|*.TXT|*.HTM|*.CSV, 设 置DefaultExt 属 性 为*.QR。
---- 6. 双 击 各 个Toolbutton, 输 入 相 应 代 码。
---- 可 以 按 以 下 方 法 调 用 自 定 义 预 览 窗 口。
---- 重 载TQuickRep 的OnPreview 事 件, 输 入 如 下 代 码:
procedure TRptForm.RptFormPreview(Sender: TObject);
begin
with TMyPreview.Create(Application)do
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
CurRep := self;
Show;
end;
end;

附 各 成 员 方 法 的 具 体 实 现:
unit Myprv;
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
ComCtrls, ToolWin, qrprntr,Quickrpt,
StdCtrls, ExtCtrls,qrextra,qrhtml;
type
TMyPreview = class(TForm)
QRPreview1: TQRPreview;
ToolBar1: TToolBar;
( 其 余 成 员 变 量 和 成 员 方 法 声 明 略。)
private
{ Private declarations }
FPageCount : integer;
// 生 成 报 表 的 总 页 数
public
{ Public declarations }
CurRep : TQuickRep;
// 所 预 览 的 报 表
procedure UpdatePanelShow;
end;
implementation
{$R *.DFM}
procedure TMyPreview.UpdatePanelShow;
begin
// 更 新 显 示
Panel2.Caption :=
' 第 '+inttostr(QRPreview1.PageNumber)+
' 页 总 '+inttostr(FPageCount)+' 页';
end;
procedure TMyPreview.ToolButton2Click(Sender: TObject);
begin
//ZoomToFit 缩 放 至 全 屏
QRPreview1.ZoomToFit;
end;
procedure TMyPreview.ToolButton3Click(Sender: TObject);
begin
//ZoomTo100% 缩 放 至 实 际 大 小
QRPreview1.Zoom:=100;
end;
procedure TMyPreview.ToolButton4Click(Sender: TObject);
begin
//ZoomToWidth 缩 放 至 页 宽
QRPreview1.ZoomToWidth;
end;
procedure TMyPreview.ToolButton6Click(Sender: TObject);
begin
//First page
QRPreview1.PageNumber := 1;
UpdatePanelShow;
end;
procedure TMyPreview.ToolButton8Click(Sender: TObject);
begin
//prior page
QRPreview1.PageNumber := QRPreview1.PageNumber+1;
UpdatePanelShow;
end;
procedure TMyPreview.ToolButton7Click(Sender: TObject);
begin
//next page
QRPreview1.PageNumber := QRPreview1.PageNumber-1;
if QRPreview1.PageNumber =0 then
QRPreview1.PageNumber:=1;
UpdatePanelShow;
end;
procedure TMyPreview.ToolButton9Click(Sender: TObject);
begin
//Last page
QRPreview1.PageNumber := FPageCount;
UpdatePanelShow;
end;
procedure TMyPreview.QRPreview1PageAvailable(Sender: TObject;
PageNum: Integer);
begin
//get pagecount
FPageCount := PageNum ;
UpdatePanelShow;
end;
procedure TMyPreview.FormClose
(Sender: TObject;
var Action: TCloseAction);
begin
CurRep := nil;
Action := caFree;
end;
procedure TMyPreview.ToolButton14Click(Sender: TObject);
begin
//close the window
Close;
end;
procedure TMyPreview.ToolButton11Click(Sender: TObject);
begin
//print setup
QRPreview1.QRPrinter.PrintSetup;
end;
procedure TMyPreview.ToolButton13Click(Sender: TObject);
begin
//print
QRPreview1.QRPrinter.Print;
end;
procedure TMyPreview.ToolButton16Click(Sender: TObject);
begin
//save button
if SaveDlg1.Execute then
begin
if (SaveDlg1.FIlterIndex <>1)and(CurRep = nil)then
Exit;
case SaveDlg1.FilterINdex of
//--*.QR
1: QRPreview1.QRPrinter.Save(SaveDlg1.FileName);
//--*.TXT
2: CurRep.ExportToFilter
(TQRAsciiExportFilter.Create(SaveDlg1.FileName));
//--*.HTM
3: CurRep.ExportToFilter
(TQRHTMLExportFilter.Create(SaveDlg1.FileName));
//--*.CSV
4: CurRep.ExportToFilter
(TQRCSVExportFilter.Create(SaveDlg1.FileName));
end;
end;
end;
procedure TMyPreview.ToolButton17Click(Sender: TObject);
begin
//load button
if OpenDlg1.Execute then
QRPreview1.QRPrinter.Load(OpenDlg1.FileName);
end;
procedure TMyPreview.QRPreview1
ProgressUpdate(Sender: TObject;
Progress: Integer);
begin
//updage progress bar
ProgressBar1.Position := Progress;
end;
procedure TMyPreview.SaveDlg1TypeChange(Sender: TObject);
begin
//set DefaultExt property of Savedialog
with SaveDlg1do
case FilterIndex of
0: DefaultExt := '.QR';
1: DefaultExt := '.TXT';
2: DefaultExt := '.HTM';
3: DefaultExt := '.CSV';
end;
end;
end.
//end of Unit
 
感谢wwwjjjccc!谢谢你提供了定制窗口的方法!不过,声明如下:
1> Detail项正确。
2> DataSource关联
3> 打印机是 HP LaserJet 6L PCL, 不算老,喷墨的
4> 格式问题还无人回答
wgzhang 那里当,ID多少?县谢谢了!By the way有没有 For D4的
 
》》打印机是 HP LaserJet 6L PCL, 不算老,喷墨的???
LaserJet ,喷墨的?
 
www.qusoft.com,即生产商.
已证实QUICK REPORT,和EPSON 等打印机是不兼容的,
解决办法:下载QUICK REPORT 3.0.6
问题是:我没有下载地址!
有哪位大虾可帮忙吗?
 
建议使用OLE,直接调用WORD和EXCEL,把打印问题转换成用WORD和EXCEL打印,预览非常漂亮,还有自动分页、缩放打印等等现成的功能,不是很爽吗?我以前用这种方法解决了很多问题,但没有把它总结和写成控件。希望对你有启发。
 
下载QUICK REPORT 3.0.6,不过是For D5的,有原代码,我就是用他解决问题的。
http://www.qusoft.no/dfab/qr306pd5.exe
 
沈前卫:
quick report 3.0.6就是D5自己带的那个么?能不能发给我一个关于它的例程?
qianzhong@163.net
thanx
 
其实quick report 不是很稳定,还不如用ReportBuilder5.0,功能相当强大,而且
又有汉化资源,带有丰富的例子,可以到:
http://www.net-wing.net/kangwei/reportbuilder/Rbent5.exe
下载。
 
FSTAO
谢谢提供下载地址
到http://www.gislab.ecnu.edu.cn/delphibbs/dispQ.asp?LID=181679
领分!
 
买一张(程序员大本营)光盘即可搞定!
 
HP 6L PCL驱动程序不对,就是WIN98自动安装的那个,我也遇到这个问题,解决方法
是到HP网站下载正确的驱动,或安装Win98下的HP lastjet驱动(不是HP lastjet 6l pcl)它适用于lastjet系列的激打。
Lastjet系列是激打,不是喷墨的。
 
报表汉化不需自己重做
你找到delphi4的lib目录下的qrprev用delphi4打开,将里面的hint改成中文就
可以了,不过要先做备件。delphi5和delphi4都可以我试过了的。
 
多人接受答案了。
 

Similar threads

后退
顶部