您的位置:程序门 -> delphi -> windows sdk/api



关于打印连续走纸的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


关于打印连续走纸的问题
发表于:2007-01-05 22:51:45 楼主
我用bs_300k的打印机,用delphi直接写并口,怎么走6-7张后,票就会往上跳一点,
奇怪
prntticketno:=copy(aticketno,(length(aticketno)-1),2);
    amoney:=num2cnum(strtoint(amoney));
    printchannel:=getsetupini( 'current ', 'no ');
    stationid:=getsetupini( 'current ', 'id ');
    assignfile(f, 'lpt1 ');
    rewrite(f);
    {初始化打印机}
  //   write(f,chr(27)+ '@ ');   //chr(27)=esc
    {设置汉字显示方式}
    //write(f,chr(28)+chr(ord( '& ')));   //chr(28)=fs
    {设定打印相对水平位置}
  //   write(f,chr(27)+chr(ord( '\ '))+chr($ff)+chr($00));

    write(f,chr(28)+chr(51)+chr(63));
    write(f,chr(27)+chr(43)+chr(63));


    //设置高速打印
  //   write(f,chr(28)+chr(ord( 'x '))+chr($01));
    writeln(f);
    writeln(f, '     '+stationid+ '         '+printchannel+ '             '+auserid+ '         '+prntticketno);
    writeln(f);
    write(f,chr(27)+chr(ord( '\ '))+chr($cf)+chr($00));
    //放大金额字体
    write(f,chr(28)+chr(ord( 'w '))+chr($01));
      write(f,   '             '+amoney);
    //解除放大字体
    write(f,chr(28)+chr(ord( 'w '))+chr($00));

    writeln(f);
    writeln(f);
    write(f,chr(27)+chr(ord( '\ '))+chr($cf)+chr($00));

    writeln(f, '     '+apntdate+ '         '+apnttime);

    write(f,chr(27)+chr(ord( 'j '))+chr($ff));

    write(f,chr(11));


    flush(f);
    closefile(f);
发表于:2007-01-06 16:22:211楼 得分:0
代码太长没心思看……
不过偶原来做pos系统,打印小票的时候用到两种方法:带硬字库的的打印机,直接向端口写esc/pos指令控制,正好当时用的是epson-tm210系列或兼容系列;不带硬字库的用printers对象就很好用!
发表于:2007-01-08 11:30:352楼 得分:0
对啊,我也是用epson自带的指令库啊,直接写并口啊


快速检索

最新资讯
热门点击