• POS机打印


    procedure TLingSD.PosPrint(DJBH: string; ChongD: Boolean; DYSJ, CZY,
    ChongDYY: string);
    var
    F: TextFile;
    _Title, Stemp: string;
    DuanK :String;
     
    begin
    MXPrint.Close;
    MXPrint.Params[0].Value := DJBH;
    MXPrint.Open;
    MXPrint.First;
    //获得单据信息
    GetData(DJBH);
    //
    //开始打印输出
    //初始化
    DuanK := GetIniPosPort;
    Assignfile(F, DuanK);
    // AssignFile(F,'c: extPos.txt');
    Rewrite(F);
    //开钱箱
    Writeln(F, CHR(27) + 'p' + CHR(0) + CHR(60) + CHR(255)); //开钱箱指令:27, 112, m, n1, n2 其中m为0
    //打印表头
    //Writeln(F,chr($b)+chr(27)+'K'+chr(40)); // 向后倒纸
    Writeln(F, CHR(27) + CHR(33) + CHR(0)); //字符打印命令
     
    if ChongD then
    _Title := PosHeader + '(重打)'
    else
    _Title := PosHeader;
    Writeln(F, _Title);
    //时间,操作员
    Stemp := BanLSJ + ' 操作员:' + CZY;
    Writeln(F, Stemp);
    //单号
    Writeln(F, '单号:' + DJBH);
    Writeln(F, '-------------------------------');
    Writeln(F, '品名 数量 单价 金额 ');
    Writeln(F, '效期 批号 规格 ');
    Writeln(F, '厂商 ');
    //开始打印明细
    MXPrint.First;
    while not MXPrint.Eof do
    begin
    Write(F, AddSpace(MXPrintYAOPMC.AsString , 14));
    Write(F, AddSpace(MXPrintShuL.AsString, 6));
    Write(F, AddSpace(MXPrintDanJ.AsString, 6));
    Writeln(F, AddSpace(MXPrintJinE.AsString, 6));
     
    Write(F, AddSpace(MXPrintSHIXRQ.AsString, 11));
    Write(F, AddSpace(MXPrintPiH.AsString, 12));
    Writeln(F, AddSpace(MXPrintGUIG.AsString, 9));
     
    Writeln(F, AddSpace(MXPrintSHENGCCJ.AsString, 32));
    Writeln(F, AddSpace('----', 32));
    MXPrint.Next;
    end;
    MXPrint.Close;
    Writeln(F, '-------------------------------');
    Writeln(F, '合计:' + FormatFloat('¥0.00', HeJJE));
    Writeln(F, '地址:' + YDLianXDZ);
    Writeln(F, '电话:' + YDLianXDH);
     
    // Writeln(F, '实收:' + FormatFloat('¥0.00', HeJJE - YouHJE));
    // Writeln(F, '优惠:' + FormatFloat('¥0.00', YouHJE));
    //
    // if HuiYID <> -1 then //打印会员卡号及积分信息
    // begin
    // Writeln(F, '会员卡号:' + HuiYKH);
    // Writeln(F, '本次积分:' + FormatFloat('0', BenCJF));
    // end;
     
    Writeln(F, PosFooter); //打印页尾
    Writeln(F, chr($B) + chr(27) + 'J' + chr(160)); // 向前进纸
    Closefile(f);
    end;
     

  • 相关阅读:
    [ARC080D] Prime Flip
    硬币游戏
    点分治
    OneInDark对众数的爱
    [CF838D] Airplane Arrangements
    网络流总结(转载)
    二分图最大权完美匹配(KM)
    网络流
    FWT
    FFT & NTT
  • 原文地址:https://www.cnblogs.com/maweiwei/p/13728257.html
Copyright © 2020-2023  润新知