我做得超市前台收银系统现在打印小票如果不连续打印就没问题!如果连续打印就是打印一个,在任务栏里有个打印图标,在接着打印,就会出现小票打印一半得情况!就是一半没有打印出来!如果打印一个,当图标消失再打印就正常!这是为什么是不是打印机连续接指令,反映不过来!望高手指点!

解决方案 »

  1.   

    // 票打
    procedure printdata;
    begin
     // blmoney:=0;//初始部类金额
      dataprint.print_data.ADOQuery1.Close;
      dataprint.print_data.ADOQuery1.Parameters[0].Value:=str;
      dataprint.print_data.ADOQuery1.Open;
      posdm.ADOQuery3.Close;
      posdm.ADOQuery3.Parameters[0].Value:=str;
      posdm.ADOQuery3.Open;
      dataprint.print_data.top1.Caption:=frmsetpos.Edit4.Lines.Strings[0]; //票头1
      dataprint.print_data.top2.Caption:=frmsetpos.Edit4.Lines.Strings[1]; //票头1
      dataprint.print_data.button1.Caption:=frmsetpos.Edit5.lines.strings[0];//票尾1
      dataprint.print_data.button2.Caption:=frmsetpos.Edit5.lines.strings[1];//票尾1
      //dataprint.print_data.button3.Caption:=frmsetpos.Edit5.lines.strings[2];//票尾1
      dataprint.print_data.xpno.Caption:=str1; //流水号
      //判断是不是会员
      if hyid='' then
      begin
        dataprint.print_data.hy.Caption:='';
        dataprint.print_data.hyid.Caption:='';
      end
      else begin
         dataprint.print_data.hyid.Caption:=hyid;
         dataprint.print_data.hy.Caption:='会员编号';
      end;
        if frmpos.Label26.Caption='' then
      begin
        dataprint.print_data.qrlabel34.Caption:='';
      end
      else begin
        dataprint.print_data.QRLabel34.Caption:='刷卡:'+formatfloat('0.00',card_money)+'元';
      end;
      dataprint.print_data.pay.Caption:=formatfloat('0.00',pay)+'元';//应收
      dataprint.print_data.ssqr.Caption:=frmcheck_out.Edit1.Text+'元';//实收
      dataprint.print_data.zlqr.Caption:=frmcheck_out.Edit2.Text+'元'; //找零  dataprint.print_data.syy.Caption:=frmlogin.ComboBox1.Text;
      dataprint.print_data.sytql.Caption:=Frmsetpos.edit2.Text;
      print_data.Print;
      print_data.Free;
    end;