C
chenjianzu
Unregistered / Unconfirmed
GUEST, unregistred user!
我的POS系统中,写了如下代码控制打印机(Epson TM-U210PD)输出:
var F:TextFile;
begin
qrybillprint.Open();
ASSIGNFILE(F,'LPT1');
REWRITE(F);
WRITELN(F,' 出 品 小 票');
Writeln(F,'——————————————————————');
Writeln(F,' 台号:'+qrybillprint.FieldByName('fldDeskID').AsString+' '+ FormatDateTime('yyyy-mm-dd hh:mm:ss',Now()));
Writeln(F,' 帐单号: '+ qrybillprint.FieldByName('fldBillCode').AsString);
Writeln(F,'——————————————————————');
while not qrybillprint.Eofdo
begin
Writeln(F,' '+qrybillprint.FieldByName('fldItemCode').AsString+' '+qrybillprint.FieldByName('fldItemName').AsString);
Writeln(F,' '+'数量: '+qrybillprint.FieldByName('fldQty').AsString);
Writeln(F,'——————————————————————');
qrybillprint.Next();
end;
qrybillprint.Close();
CloseFile(F);
end;
当 qryBillPrint 返回的数据超过四个后,只能打印出四个数据,第五个就无法正常打印。
利用该打印机自检功能时发现在一行英文: Buffer Capacity 512 bytes (缓冲区??)
是不是说该打印机只能一次性接收 512 字节的数据,超过部分的数据就无法打印?
那应该怎么解决呢?
var F:TextFile;
begin
qrybillprint.Open();
ASSIGNFILE(F,'LPT1');
REWRITE(F);
WRITELN(F,' 出 品 小 票');
Writeln(F,'——————————————————————');
Writeln(F,' 台号:'+qrybillprint.FieldByName('fldDeskID').AsString+' '+ FormatDateTime('yyyy-mm-dd hh:mm:ss',Now()));
Writeln(F,' 帐单号: '+ qrybillprint.FieldByName('fldBillCode').AsString);
Writeln(F,'——————————————————————');
while not qrybillprint.Eofdo
begin
Writeln(F,' '+qrybillprint.FieldByName('fldItemCode').AsString+' '+qrybillprint.FieldByName('fldItemName').AsString);
Writeln(F,' '+'数量: '+qrybillprint.FieldByName('fldQty').AsString);
Writeln(F,'——————————————————————');
qrybillprint.Next();
end;
qrybillprint.Close();
CloseFile(F);
end;
当 qryBillPrint 返回的数据超过四个后,只能打印出四个数据,第五个就无法正常打印。
利用该打印机自检功能时发现在一行英文: Buffer Capacity 512 bytes (缓冲区??)
是不是说该打印机只能一次性接收 512 字节的数据,超过部分的数据就无法打印?
那应该怎么解决呢?