您的位置:首页 > 编程语言 > C#

c# 客显(顾客显示器)应用实例

2014-11-25 20:53 288 查看
using System;

using System.Collections.Generic;

using System.Text;

using System.IO.Ports;

/// <summary>

/// 客显

/// </summary>

public class CustomerDisplay

{

#region 成员变量

public string spPortName;

private int spBaudRate;

private StopBits spStopBits;

private int spDataBits;

private CustomerDispiayType dispiayType;

#endregion --成员变量

#region 属性

/// <summary>

/// 客显发送类型

/// </summary>

public CustomerDispiayType DispiayType

{

get

{

return dispiayType;

}

set

{

dispiayType = value;

}

}

#endregion --属性

#region 构造函数

/// <summary>

/// 构造函数

/// </summary>

/// <param name="_spPortName">端口名称(COM1,COM2,COM3...)</param>

/// <param name="_spBaudRate">通信波特率(2400,9600....)</param>

/// <param name="_spStopBits">停止位</param>

/// <param name="_spDataBits">数据位</param>

public CustomerDisplay(string _spPortName, int _spBaudRate, string _spStopBits, int _spDataBits)

{

this.spBaudRate = _spBaudRate;

this.spDataBits = _spDataBits;

this.spPortName = _spPortName;

this.spStopBits = (StopBits)(Enum.Parse(typeof(StopBits), _spStopBits));

}

#endregion --构造函数

#region Method

#region 公共方法

/// <summary>

/// 数据信息展现

/// </summary>

/// <param name="data">发送的数据(清屏可以为null或者空)</param>

public void DisplayData(string data)

{

SerialPort serialPort = new SerialPort();

serialPort.PortName = spPortName;

serialPort.BaudRate = spBaudRate;

serialPort.StopBits = spStopBits;

serialPort.DataBits = spDataBits;

if (!serialPort.IsOpen)

{

serialPort.Open();

}

serialPort.BaseStream.Flush();

//先清屏

serialPort.Write(((char)12).ToString());

//指示灯

string str = ((char)27).ToString() + ((char)115).ToString() + (((int)this.DispiayType)).ToString();

serialPort.Write(str);

//发送数据

if (!string.IsNullOrEmpty(data))

{

serialPort.Write(((char)27).ToString() + ((char)81).ToString() + ((char)65).ToString() + data + ((char)13).ToString());

}

serialPort.Close();

}

}

#endregion --公共方法

#endregion --Method

}

/// <summary>

/// 客显类型

/// </summary>

public enum CustomerDispiayType

{

/// <summary>

/// 清屏

/// </summary>

Clear,

/// <summary>

/// 单价

/// </summary>

Price,

/// <summary>

/// 总计

/// </summary>

Total,

/// <summary>

/// 收款

/// </summary>

Recive,

/// <summary>

/// 找零

/// </summary>

Change

}

调用:

CustomerDisplay display;

try

{

display= new CustomerDisplay(“COM1”,2400,System.IO.Ports.StopBits.One.ToString(), 8);

//收款

display.DispiayType = CustomerDispiayType.Recive;

}

display.DisplayData("3.24");

}

catch (Exception ex)

{

MessageBox.Show(ex.ToString());

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: