基本信息
源码名称:顾客显示屏(中文+数字)
源码大小:0.05M
文件格式:.zip
开发语言:C#
更新时间:2019-12-17
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
顾客显示屏(中文 数字)
顾客显示屏(中文 数字)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO.Ports;
namespace 顾客显示屏_中文_数字_
{
public enum PoleDisplayType : uint
{
/// <summary>
/// 黑屏
/// </summary>
Dark = 0,
/// <summary>
/// 单价
/// </summary>
Price = 1,
/// <summary>
/// 合计
/// </summary>
Total = 2,
/// <summary>
/// 收款
/// </summary>
Payment = 3,
/// <summary>
/// 找零
/// </summary>
Change = 4
}
public class PoleDisplayer
{
private static string text;
private static PoleDisplayType type;
private static SerialPort serialPort = null;
private const string PORT_NAME = "COM3";
private const int BAUD_RATE = 2400;
/// <summary>
/// 传入显示的字符串与显示类型方法
/// </summary>
/// <param name="_text"></param>
/// <param name="_type"></param>
public static void Display(string _text, PoleDisplayType _type)
{
text = _text;
type = _type;
Thread thread = new Thread(new ThreadStart(Display));
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
private static void Display()
{
try
{
if (serialPort == null)
{
serialPort = new SerialPort(PORT_NAME, BAUD_RATE, Parity.None, 8);
serialPort.Open();
}
if (serialPort.IsOpen)
{
char esc = (char)27;
serialPort.Write(esc @"@");
serialPort.Write(esc @"s" Convert.ToInt32(type).ToString());
//serialPort.WriteLine(FillString(text));//填充八位数字,不建议使用
serialPort.WriteLine(text);
}
}
catch
{}
}
/// <summary>
/// 填充text,不含小数点的8位(不建议使用)
/// </summary>
/// <param name="text"></param>
private static string FillString(string text)
{
string temp = text.Replace(".", string.Empty);
for (int i = 0; i < 8 - temp.Length; i )
{
text = "0";
}
return text;
}
}
}