怎样做出通用的pos小票打印程序POS小票打印机分为热敏和针式俩种。打印纸的宽度分为58毫米、76毫米和80毫米三种。打印接口分为:串口、并口、USB和网口(以太网)。热敏打印机速度较快,打印的时候噪音少,针打可以使用多联纸自动复印。热敏打印机价格一般比较便宜,不需要频繁地更换色带。并口打印机,可直接"端口输出",不需要安装打印机的驱动程序。几乎所有的POS小票打印机都可以兼容EPSON的ESCPOS打印机指令。const//末尾走纸几行c_run_paper_lines=6;//ESC指令开钱箱c_OpenMoneyBoxCommand=CHR(27)+CHR(112)+CHR(0)+CHR(17)+CHR(8);//ESC指令自动切纸c_cut_paper=CHR(29)+CHR(86)+CHR(66)+CHR(0);type//usb接口票打用TOutBufPassThrough=recordnDataLen:word;sEscData:array[0..1024]ofAnsiChar;end;//usb接口开钱箱procedureOpenUSBMoneyBox;varprt:TPrinter;esc:TOutBufPassThrough;begintryprt:=Printers.Printer;prt.beginDoc;esc.nDataLen:=Length(c_OpenMoneyBoxCommand);strpCopy(esc.sEscData,c_OpenMoneyBoxCommand);windows.ExtEscape(prt.Handle,PASSTHROUGH,sizeOf(esc),@esc,0,nil);prt.endDoc;exceptend;end;//usb接口切纸procedureusbCutPaper;varprt:TPrinter;esc:TOutBufPassThrough;begintryprt:=Printers.Printer;prt.beginDoc;esc.nDataLen:=Length(c_cut_paper);strpCopy(esc.sEscData,c_cut_paper);windows.ExtEscape(prt.Handle,PASSTHROUGH,sizeOf(esc),@esc,0,nil);prt.endDoc;exceptend;end;procedureTfrmReprint.Print80;varsPort:string;RPrinter:TextFile;i:Integer;sBill,sBarcode,sXH,sPortType:string;MyList:TStringList;BillId:string;sTmp:string;iTmp:Integer;sMoney:string;sGoodName:string;iLen:Integer;sTmp2:string;begin//生成一个小票的文本文件sBill:=ExtractFilePath(Application.ExeName)+'bill.txt';AssignFile(RPrinter,sBill);Rewrite(RPrinter);try//店名Writeln(RPrinter,''+UserInfo.ShopName);Writeln(RPrinter,'机号收款员交易流水号');sTmp:=UserInfo.MachineId+''+UserInfo.UserCode;iTmp:=32-Length(sTmp);i:=Length(cdsMaster.FieldByName('saleno').Text);whilei