怎么样把LISTBOX里的内容打印出来呢!(57分)

  • 主题发起人 主题发起人 happytimes_dsq
  • 开始时间 开始时间
H

happytimes_dsq

Unregistered / Unconfirmed
GUEST, unregistred user!
例如,里面内容是 06-06-16 13:13:13 张在 在线
06-06-16 13:13:13 张在 在线
06-06-16 13:13:13 张在 在线
这样的数据每次是不定行数的.我想把里面的内容也是这样按LISTBOX里的一行行打印出来.
 
先将LISTBOX的内容保存在临时表,再将其打印出来
 
小弟没涉及过这方面,能给小弟写下代码吗?对于大哥来说应该不难吧.谢谢了
 
或者放在Grid里面打印,或者直接导出到Excel里面打印
 
谢谢各位高手的回复.能给小弟代码吗?
 
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Lines:=listbox1.Items;
richedit1.Print(RichEdit1.Text);
end;
 
这样打印出来字的字体,大小,颜色是和RichEdit里设置是一样的吧,不需要在代码中设置些什么参数吗?打印会自动换行,按LISTBOX的格式打印吗?大哥测试过了吗!谢谢回复
 
可以完全用代码来实现打印
 
to happytimes_dsq;
你试试就知道了!字体是和richedit一样,楼主又没说要按LISTBOX的字体打!
打印当然会自动换行,和listbox的格式一样,你又学一招吧?[:D]
 
清新空气,说的对
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Lines:=listbox1.Items;
richedit1.Print(RichEdit1.Text);
end;
 
to 空气:
我试了,但是无法打印呀.我的机器是连入的公司的LAN,通过控制连接服务器的打印机打印的.这样要做什么调整吗?当我执行这段代码,托盘里的打印标志就提示"已暂停",我再去看打印机就没有打印.
 
to happytimes_dsq;
1:你的机器上安装了几个打印机驱动?
2:因为如此打印没有打印对话框,所以无法设置选择打印机,你们服务器的打印机是否为你机器上的默认打印机;
 
我设置了下默认打印机.现在能成功打印出来了.字体,大小什么的都对.但是位置不对呢?都在左上角.怎么样居中呀? 还有,我是想按LISTBOX的格式打印,能不能只用REDIT过度,因为如果按REDIT格式,还得把它做的在界面上和LISTBOX一样大.或者怎么处理下.谢谢了
 
用fastReport,我可以给一个打印StringGrid的例子
 
好呀.麻烦发到我邮箱里:duanshuaiquan@126.com
对于现在的问题,您有解决的办法吗?谢谢你的回复
 
richedit1.Alignment:=taCenter;
这就居中了!
如果你还想要更好的打印效果就不能这么做了!要不用Grid,要不用报表!
[?]
例如,里面内容是 06-06-16 13:13:13 张在 在线
06-06-16 13:13:13 张在 在线
06-06-16 13:13:13 张在 在线
这样的数据每次是不定行数的.我想把里面的内容也是这样按LISTBOX里的一行行打印出来.
麻烦你!问问题不要象挤牙膏好不?一次问完,想做成什么样的效果!
 
to lz
procedure TFormDeposit.CustomItem4Click(Sender: TObject);
begin
frReportDeposit.LoadFromFile(reportFilePath+'Reports/Deposit.frf');
fmPreview:=TfmPreview.Create(self);
try
frReportDeposit.Preview:=fmPreview.frPreview1;
frReportDeposit.ShowReport;
fmPreview.Showmodal;
finally
fmPreview.Free;
end;
end;

procedure TFormDeposit.frReportDepositGetValue(const ParName: String;
var ParValue: Variant);
begin
//主数据区
if CompareText(ParName, 'id') = 0 then
ParValue := Grid.Cells [0,grid.Row ];
if CompareText(ParName, 'depositType') = 0 then
ParValue := Grid.Cells [1,grid.Row];
if CompareText(ParName, 'reNo') = 0 then
ParValue := Grid.Cells [2,grid.Row];
if CompareText(ParName, 'amount') = 0 then
ParValue := Grid.Cells [3,grid.Row];
if CompareText(ParName, 'operator') = 0 then
ParValue := Grid.Cells [5,grid.Row];
if CompareText(ParName, 'depositDate') = 0 then
ParValue := Grid.Cells [6,grid.Row];
if CompareText(ParName, 'currencyType') = 0 then
ParValue := Grid.Cells [7,grid.Row];
.......................................
 
to 清新空气.
用了你说的方法,可以了.可是问题是为什么只能打印8行呢?多了(比如10行)打印机就没有反映了.在我LISTBOX里最多会有1024行.我要实现把他们全部打印出来.肯定要分页.你现在的方法应该不能分页吧!我用QuickReport做个简单的报表.把 LISTBOX的数据转到QuickReport的RICHMEMO(或text),可是1024并不能全部填上,只是有多大地方填多少数据.(好象是没有滚动条的吧,还是我没找到?) 是不是一定要连接数据库呢?(因为我没有用数据库).不然我的这1024条数据要怎么能分页按格式打印呀.
麻烦帮帮忙
 
关注.搞定了教教我呀!!!!!!!!
 
多人接受答案了。
 
后退
顶部