门票打印机的问题,打不出东西来?怎么办?(200分)

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

linmang

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序如下:
var
device:array [0..cchdevicename-1] of char;
driver:array [0..(max_path-1)] of char;
port:array [0..32] of char;
hdmode:thandle;
pdmode:pdevmode;
i ,j:integer;
begin
printer.getprinter(device,driver,port,hdmode);
if hdmode <> 0 then
pdmode:=globallock(hdmode);
if pdmode <> nil then
begin
pdmode^.dmpaperlength:= 64;
pdmode^.dmpaperwidth:=185;//按实际MM设置纸
pDMode^.dmPaperSize:=DMPAPER_USER;
//pDMode^.dmFields:=pDMode^.dmFields or DM_PAPERSIZE;
GlobalUnLock(hDMode);
printer.setprinter(device,driver,port,hdmode);
end;

Printer.begin
Doc;
Printer.Canvas.Font.Charset := GB2312_CHARSET;
Printer.Canvas.Font.Size :=14;
i := strtoint(edit1.Text);
j := strtoint(edit2.Text);
//在这里显示printer.pageheight 和pagewidth 还是387 和1098 怎么回事?
Printer.Canvas.TextOut(25,100,'testtttttttttttttttttttttthhhhhhhhhhhhh';
//具体走几页纸跟这个25和100和后面字符串都有关,又看不出规律来,着急
Printer.EndDoc;
end;

哪位指教一下,这样的打印机怎么控制啊,是usb接口的,boca systems.
 
under win98 ?
 
win200 pro.
只在打印的开始打出来<HW1,1><G18>
这个数字是G18 到G30或G15 G17不一样,
后面有时还有跟有@,或是P
有时侯还会有 <RX..等,这是怎么回啊
急,请指教
 
一般来说,你不需要这么麻烦的。直接定义个TextFile MyFile,然后AssignPrn(MyFile),对MyFile进行写,最后CloseFile();就可以打印的了。
 
驱动检查一下,试试用别的软件打印。另外win2000,您的自定义纸张设置有问题!(不过不会打印出乱码)
 
to reflect:试过你说的方法,打印在监窗口可以看到,有文件提交打印,然后完成了,但是打印机没有任何动静
 
to szgh:自定义纸张可能是有点问题,但打印出这东西也不大对劲,另外我试着用记事打印几个英文字符也是这种现象,而且走纸很多张,只有第一张开头看到刚才说的那些<HW1,1......,后面的页都是什么也没有,驱动也重装过了
 
只有两种可能:1,驱动;2,打印机坏
 
换一个驱动程序试试;将打印机挂在另一台机器上打印试试主。
 
换用assignprn的方法说i/o error 105,
打印机驱动调成boca systems 305 dpi ,boca systems 605 dpi,差别更远,
现在髟boca systems 203 dpi,还好一些,
可以控制一次走一页,但还是打不出字符来,试着
textout();到各种可以接受的位置都不行
 
多人接受答案了。
 
后退
顶部