还是我自己来解答吧。经过努力,我已基本解决此问题。用TPRINTER对象是肯定无法实现的。我是用 openprinter 和 writeprinter的方法来实现的。但实验的结果在喷墨机上不行,只能在针打上实现,我也不明白为什么,可能是因为我实验的喷墨机没有连续纸型可用的原因吧。
解决方案 »
- 把一个简单函数翻译成C#,高分送上。
- activeX在代码中调用代码将窗口关闭,但窗口还是存在。如何解决?在线等
- ???如何取得小键盘的+,-,*,/ 的键值 ???
- 哪位知道BMP转换为Tif格式怎么做
- 求odac的正式使用版的!!!!
- 熟悉水晶报表的朋友请进
- 升到3星,同时庆祝看论坛cpu的占用率终于低下来了~~
- 请问如何动态创建TEDIT控件,能在窗体上显示出来
- 请问以下查询中,为何没有查到记录,query1记录数显示为1?
- delphi 里面有没有类型判别函数
- 那位大虾最近有时间,帮我做一个比较简单的Web Server Application程序,有报酬
- 哪位熟悉C语言和Delphi语言的高手帮我翻译一下?有点难度!
_
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||_ \
| | \\\ - /'| | |
| \_| `\`---'// |_/ |
\ .-\__ `-. -'__/-. /
___`. .' /--.--\ `. .'___
."" '< `.___\_<|>_/___.' _> \"".
| | : `- \`. ;`. _/; .'/ / .' ; |
\ \ `-. \_\_`. _.'_/_/ -' _.' /
`-.`___`-.__\ \___ /__.-'_.'_.-'
`=--=-'
uses prints
function PrintRawStr(S : String):integer;
Var
Handle : THandle;
N : Longword;
DocInfo1 : TDocInfo1;
P : Byte;
Printername : String;Begin
Printername := Printer.Printers[0]; //取得打印机文件名
P := Pos(' on ',PrinterName);
If P > 0 then
PrinterName := Copy(PrinterName,1,P - 1); If not OpenPrinter(PChar(PrinterName),Handle,nil) then
Begin
Case GetLastError of
87 : printrawstr:=1;
else
printrawstr:=2;
End ;
Exit;
End; With DocInfo1 do
Begin
pDocName := PChar('raw job test'); // 打印进程名
pOutputFile := nil;
pDataType := 'RAW';
end; StartDocPrinter(Handle,1,@DocInfo1);
StartPagePrinter(Handle);
WritePrinter(Handle,PChar(S),Length(S),N);
EndPagePrinter(Handle);
EndDocPrinter(Handle);
ClosePrinter(Handle);
printrawstr:=0;
End;
下驱动程序以页为单位走纸的限制