2010-01-27 98 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