2010-01-27 52 views
0

我们使用Crystal创建使用USB端口连接器到我们的打印机的收据。我们现在想让Crystal'ping'串口打开现金抽奖。有没有办法让Crystal来做到这一点?Crystal报告与Com端口通话

+0

打印机是否连接到钱箱? – t0mm13b 2010-01-27 22:24:11

+0

不,打印机是无关现金绘制的 – MrTelly 2010-01-27 22:32:15

回答

1

如果要打印收据到USB端口,您将无法ping通的COM端口打开从水晶抽屉。

有些事情,你可以尝试是创建一个Windows通用文本打印机连接的COM端口。然后转到属性并选择打印机命令选项卡,然后输入代码以在开始打印作业中打开抽屉。每次向该打印机发送作业时都会发送代码。然后在收到后立即向该新打印机发送空白报告。那个伎俩对我有效。

,你必须使用的代码依赖于抽屉/打印机品牌。 Check this site

+0

@Jose:优雅的解决方案,但...这意味着水晶报告将打印到一台打印机,这意味着两个打印作业,一个用于报告,另一个通过通用文本打印机使用一些转义代码序列,我想打开抽屉..要知道问题仍然是如何生成报告 - 它是通过另一个程序调用报告,如调用ActiveX Crystal报表的VB.NET/C#... – t0mm13b 2010-01-28 00:18:33

+0

@ Tommieb75:我认为MrTelly无法修改正在调用报告的程序。我曾经自定义我无法改变的罐装POS软件,并想出了一些解决方法来解决这类问题。如果钱箱连接到打印机,则他可以使用开始打印作业通过打印机驱动程序发送代码。但在这种情况下,他将不得不将两项打印作业发送到不同的打印机。 – 2010-01-28 00:30:23

+0

查看MrTelly的评论,他的问题上面,钱箱没有连接到打印机,你觉得呢? :) – t0mm13b 2010-01-28 01:05:36

0

这取决于连接,使用的打印机类型和现金抽屉。既然你没有提供什么语言可以与晶体交互(activex,dll)?一旦提供更多信息,我将再次编辑此答案。

编辑:好吧,这可能是值得使用串行的activex如MSComm.ocx,并写入通过MSComm.ocx串行端口。弹出现金抽屉的适当代码取决于硬件。 (你能否提供更多相关信息,请?)我也需要知道如何生成的水晶报表 - 是那里,你可以访问生成报表中的第三方源代码(同样,样本代码高亮哪里报告获取伪代码生成的吗?为下面的示例)

 
load crystal report 
print it 
; Here is where you need to emit a code to send to serial port to open cash drawer 

希望这有助于 最好的问候, 汤姆。

+0

汤姆, - “..什么语言可以与水晶互动......”实际上就是我所要求的。假设Crystal可以说COM有人有一些串口代码? – MrTelly 2010-01-27 22:31:36