基本信息
源码名称:顾客显示屏(中文+数字)
源码大小:0.05M
文件格式:.zip
开发语言:C#
更新时间:2019-12-17
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 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;
         }
     }
}