2014-08-29 28 views
1

我有一个合作伙伴技术CD7220-U 1.0客户显示器,我正在尝试使用C#开发POS系统。我需要使用客户显示器显示单价和总金额。 所以我搜索了谷歌,并找到几个解决方案,以显示在显示器上的文字。 这里是我跟着链接,如何显示文本并清除合作伙伴CD7220-UN客户显示器/杆式显示器的文本

1)http://www.codeproject.com/Questions/67846/How-to-display-text-on-USB-Posiflex-Customer-Displ

2)http://www.codeproject.com/Tips/658377/PartnerTech-CD-POS-Customer-Display-NET-Class

在该示例(1)

using Microsoft.PointOfService; 

private const string WelcomeMessage = "Welcome\r\n"; 
private PosExplorer posExplorer; 
private LineDisplay posLineDisplay; 
private DeviceInfo posLineDisplaydevice; 

public void LineDisplayUnit() 
{ 
this.posExplorer = new PosExplorer(this); 
this.posLineDisplaydevice = this.posExplorer.GetDevice("LineDisplay", "POSIFLEX_LINEDISPLAY"); 

try 
{ 
this.posLineDisplay = (LineDisplay)this.posExplorer.CreateInstance(this.posLineDisplaydevice); 
this.posLineDisplay.Open(); 
this.posLineDisplay.Claim(1000); 
this.posLineDisplay.DeviceEnabled = true; 
this.posLineDisplay.DisplayText(WelcomeMessage); 
this.posLineDisplay.DisplayTextAt(2, 1, this.LeftAlign("Amount", 7) + this.RightAlign(this.GrandTotalAmount.ToString("0.00"), 12)); 
this.posLineDisplay.Close(); 

} 
catch (Exception) 
{ 

} 
} 

我有以下例外 enter image description here

例如,我可以将文本发送给客户显示。但我无法清除屏幕。

下面的代码

public void WriteSomethingRedToPrinterThroughDisplay() 
    { 
     cUSB.OpenPort(); // Open the USB Port 
     cUSB.WritePort(Strings.Chr(12)); // Clear pole display 
     cUSB.WritePort(Strings.Chr(27) + Strings.Chr(61) + 
     Strings.Chr(1)); // Send print through pole display 
     cUSB.WritePort(Strings.Chr(27) + Strings.Chr(64)); // Initialize printer 
     cUSB.WritePort(Strings.Chr(27) + Strings.Chr(114) + 
     Strings.Chr(1)); // Select Red color to print 
     cUSB.WritePort(string.Format("{0,-10}{1,7:-0.000} 
     {2,10:0.00}{3,13:-0.00}", tempitemid, tempunits, 
     tempunitprice, tempsubtotal) + Strings.Chr(10)); // Print text and new line 
     cUSB.WritePort(Strings.Chr(27) + Strings.Chr(114) + 
     Strings.Chr(0)); // Set color to default Black 
     cUSB.WritePort(Strings.Chr(27) + Strings.Chr(61) + 
     Strings.Chr(2)); // De-select printer and enable pole display 
     cUSB.ClosePort(); // Close the USB Port 
    } 

请给我正确的教程或正确的方法来显示在显示单元的文本。您的帮助将受到高度赞赏。

回答

3

使用上面提到的second link。您可以照原样使用public class USB。 使用cUSB.WritePort("\f")来清除立杆显示。

private void button1_Click(object sender, EventArgs e) 
{ 
cUSB.OpenPort(); // Open the USB Port 
cUSB.WritePort("\f"); // Clear pole display 
cUSB.ClosePort(); 
} 

我想下面的代码对你也是有用的。

\f - 画面清晰

\n - 与标签新行

\r - 下一行

\t - 标签

\v - 第一行第一列

+0

感谢您的帮助。它运作良好。非常感谢您的帮助。 – PasinduM 2014-08-29 14:54:36