打印一个txt的文件(100分)

  • 主题发起人 主题发起人 lh_shan
  • 开始时间 开始时间
L

lh_shan

Unregistered / Unconfirmed
GUEST, unregistred user!
各位兄弟姐妹如用delphi来打印一个txt的文件
 
1、pringdialog,与memo或richedit等配合可以打印文本文件。
2、quickreport等报表控件直接文本文件。
 
不用quickreport来做报表,就好pascal在DOS下做报表一样,在DELPHI里怎么实现呀
???
 
assignprn(f)
try
rewrite(f)
writeln(f,'out ')
fnally
closefile(f)
end
 
ngdsjck的办法是可以的,但是页边距也许你不满意,还有一种方法
假设你的TXT文件是放在Memo里面的
在你打印事件里面添加以下代码:
//略...
var
i,x,y,Line:integer;//x,y,是输出字符串的位置,Line是行号
begin
x:=40;y:=40;Line:=0;//从左边40,上边40开始打印
printer.begin
doc;
for i:=0 to Memo1.LinesCount-1do
begin
y:=y+24*Line;//有一个专门的函数可以得到字符的高度,好像是StringHeight(str),这里假设打印两行的间距是24
printer.canvas.TextOut(x,y,Memo.Lines);
//增加当i多大的时候换页的判断,比如i=30的时候换页
if i>30 then

begin
newpage;
Line:=0;
y:=0;
end
else
Inc(Line);

end;
printer.enddoc;
end;
 
多人接受答案了。
 
我是初学者,如果能写的更详细就好了。
好象我要将Table1中的数据打印出来,如何处理????[?][?][?][?]
 
后退
顶部