首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Delphi7在星形TSP100上打印条形码

用Delphi7在星形TSP100上打印条形码
EN

Stack Overflow用户
提问于 2013-08-05 19:38:38
回答 2查看 1.3K关注 0票数 0

我有一个Star Micronics TSP100 printer,我正试图通过Delphi7的OPOS使用它,但我似乎不能让它打印条形码。

我可以打开、声明和启用、打印文本和剪切,但不能打印条形码。

我尝试了许多导入Active X控件来处理打印机的方法,就像我对Bixolon Samsung POS打印机所做的那样,它工作得很好。

欢迎任何指导者。

代码:

代码语言:javascript
复制
procedure TForm1.OpenbtnClick(Sender: TObject);
begin
  showmessage(inttostr( posprinter1.Open('StarTSP100')));
end;

procedure TForm1.ClaimbtnClick(Sender: TObject);
begin
   showmessage(inttostr( posprinter1.ClaimDevice(0)));
end;

procedure TForm1.EnablebtnClick(Sender: TObject);
begin
  POSPrinter1.DeviceEnabled := True;
end;

procedure TForm1.PrintbtnClick(Sender: TObject);
begin
  POSPrinter1.PrintNormal(2,'A Test' + #10);
end;

procedure TForm1.PrintBCbtnClick(Sender: TObject);
begin
  POSPrinter1.PrintBarCode(2, '1234567890', 108, 1000, trunc(POSPrinter1.RecLineWidth * 0.8), -2, -13);
end;

procedure TForm1.CutbtnClick(Sender: TObject);
begin
  POSPrinter1.CutPaper(100);
end;

end.
EN

回答 2

Stack Overflow用户

发布于 2013-08-05 20:36:55

您可以使用CapRecBarCode方法检查打印机是否支持条形码打印。

您正在将条形码大小设置为1000 x (RecLineWidth * 0.8)宽。如果条形码对于纸张来说太大,或者如果您指定的空间对于条形码字符串的长度来说太小,则通常不会打印条形码。

可能是高度1000太大了,所以没有打印出来,如果是这种情况,PrintBarcode的返回值将是106 - Illegal。尝试一个小得多的数字,我们使用6096作为高度。

票数 0
EN

Stack Overflow用户

发布于 2014-11-28 02:40:09

我测试了autor代码,发现了问题。在可以打印代码39,EAN,代码打印后,必须设置MapMode = 4;(默认MapMode = 1)。

代码语言:javascript
复制
procedure TForm1.PrintBCbtnClick(Sender: TObject);
begin
POSPrinter1.MapMode := 4;  
POSPrinter1.PrintBarCode(2, '1234567890', 108, 1000, trunc(POSPrinter1.RecLineWidth * 0.8), -2, -13);
end;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18057217

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档