delphi打印小票 要用到什么技术?
用的打印机是那种小的票据打印机

解决方案 »

  1.   

    用FastReport吧,2。53的版本比较好用。
      

  2.   

    用FastReport
    没做过POS系统,不过打印应该是一样的吧,只是应该调试下,使打印符合纸张
      

  3.   

    打印那个东西应该要用到精确定位了,干脆直接用printers的输出到打印机上面
      

  4.   

    小票的长度是不固定的。
     //windows打印
     procedure windowsPrint;
     var
      _nPrint,i,j:Integer;
     begin
      with Printer do
       begin
        _nPrint := 12;  //行高
        BeginDoc;
        Canvas.Font.Name:='宋体';
        Canvas.Font.Size:=9;
        J := 4;
        for i:=0 to printBuffer.Count-1 do  //printBuffer是要打印的内容,先准备好
         begin
          Canvas.TextOut(0,J,printBuffer[i]);
          Inc(J,_nPrint);
         end;
       EndDoc;
      end;
     end;
     //一般EPSON系列的POS打印机可用上面的方法
     //直接端口打印
     procedure printToPort;
     var
      F:TextFile;
      i:Integer;
     begin
      with Printer do
       begin
        AssignFile(F,Global.printforfile);
        ReWrite(F);
        for i:=0 to printBuffer.Count-1 do
         Writeln(F,printBuffer[i]);
        for i:=0 to Global.printbline-1 do
         Writeln(F,' ');    //Writeln(F,Chr(27)+'p'+Chr(0)+Chr(60)+Chr(255)); 打开钱箱
        CloseFile(F);
       end;
     end;
     //一般POS58的打印机用下面的方法
    通常如果打印机内带汉字库,建立直接端口打印,否则采用windows打印,
    打印机没有内置汉字库直接端口打印汉字会出现乱码,采用windows打印需要安装正确的
    打印驱动程序.
      

  5.   

    首先在FastReport中自定义你小票的长和宽
    下面就正常进行
      

  6.   

    偶原来做过,现在N多超市还在用.两种方案
    如果打印机带硬字库,建议了解通讯协议后直接写端口,速度超快
    如果不带硬字库,则要装打印机驱动,可以用PRINTER单元,速度会稍慢点
    偶原来做的EPSON TM-200的针打,现在很多热敏的本身速度就很快,可以不考虑这些因素了.