关于工资条的打印难题,望各位大大能帮助解决!!!(急)(200分)

  • 主题发起人 主题发起人 xux88
  • 开始时间 开始时间
X

xux88

Unregistered / Unconfirmed
GUEST, unregistred user!
要求如果某位员工的某个工资项目没有发生数,则该项目不打印(包括标题),
有发生数的打印成工资条。
 
用ReportMachine 吧,写简单的脚本就可以了
 
http://www.playicq.com/dispdocnew.php?t=&id=2857
这是一个用Report machine作的工次报表程序
 
自己控制打印机也挺容易的
 
听课,感兴趣,
 
希望这个对你有帮助http://www.yesky.com/20011108/203916.shtml
 
这个也好解决的 我的OICQ :82968069 有时候可以了了
办法: 只是QRP 的DATESET 值不设定就可以了 细节太多了没有办法说
 
难到这么难,没人会还是嫌分少,如果是后者可加分
 
我提了一个相同的问题。。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1719306
记录如下:
编号|姓名|工资一|工资二|工资三|扣一|扣二|扣三
甲工资条:
编号|姓名|工资二|工资三|扣一|扣三
乙工资条:
编号|姓名|工资三|扣一|扣二|扣三
比如,有水电费的,条子上列出水电费,没有的就不列出。
就是说工资条的项目各不相同。 怎么样才能实现呢?
还有,哪有最细的字体呢? 长点的,细点的。 打一张清晰的工资条太难了。。 :((
先谢过各位大虾了!!!
 
每个人的工资条都要单独打吗?奇怪。
 
当然要单独打,是发给每个人看的。
问题我已经自己解决了,直接用painter对象打印的。
 
forlook,能否请你详细谈谈你的解决办法?
 
我的代码太长,介绍思路:
//代码起
printer.begin
doc;
table1.first;
while (not table.eof) do
begin

if 字段1值>0 then
begin

printer.cancas.textout(100,200,'字段1标题');
//坐标设计很关键
printer.cancas.textout(100,230,'字段1内容');
end;
if 字段2值>0 then
begin

printer.cancas.textout(200,200,'字段2标题');
//坐标设计很关键
printer.cancas.textout(200,230,'字段2内容');
end;

........
table1.next;
end;
printer.enddoc;
//代码止
有用的函数:
Printer.Canvas.TextWidth()
这个是取得打印纸上的打印的字段的长度,至于它有什么用,你想想吧。。 :) 确定X坐标非常有用的。
另,如果你的项目比较多,你应该用到CreateFont()函数,那样可以打出细长字,搜搜吧。。。
建议用printer作为关键字,搜索一下。
 
能不能把你的那部分代码发给我参考一下xux88@sina.com
 
给我一分
wqt0318@sohu.com
 
给我一分
gesc@drc.dq.cnpc.com.cn
 
这么久都没有其他人能解决吗?这可是我在大富翁上的第一个问题,真令人失望!!!
 
建议你使用fast report报表控件很方便的。
 
用fast report报表控件怎么实现,能详细点吗?
 
QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
写上判断语句阿
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部