zoukankan      html  css  js  c++  java
  • 02 配置文件

    本文地址为:http://www.cnblogs.com/ADTL/p/5361468.html 

    NewLife配置文件很方便。

    使用示例:

    1、新建WinForm程序

    2、引用NewLife.Core.dll文件

    3、新建类CommConfig

     /// <summary>
        /// 串口配置
        /// </summary>
        [XmlConfigFile(@"ConfigCommConfig.config")]
        public class CommConfig : XmlConfig<CommConfig>
        {
            /// <summary>
            /// 串口名
            /// </summary>
            [Description("串口名")]
            public String PortName { get; set; }
            [Description("波特率")]
            public Int32 BaudRate { get; set; }
            /// <summary>
            /// 数据位
            /// </summary>
            [Description("数据位")]
            public Int32 DataBits { get; set; }
            /// <summary>
            /// 停止位
            /// </summary>
            [Description("停止位 None/One/Two/OnePointFive")]
            public StopBits StopBits { get; set; }
            /// <summary>
            /// 奇偶校验
            /// </summary>
            [Description("奇偶校验 None/Odd/Even/Mark/Space")]
            public Parity Parity { get; set; }
            /// <summary>
            /// 非序列化字段
            /// </summary>
            [XmlIgnore]
            public int 呵呵 { get; set; }
            #region 方法
            /// <summary>
            /// 新建文件
            /// </summary>
            protected override void OnNew()
            {
                PortName = "COM1";
                BaudRate = 115200;
                DataBits = 8;
                StopBits = StopBits.One;
                Parity = Parity.None;
            }
            #endregion
        }

    4、使用代码

    SerialPort spTest = new SerialPort();
            private void FormDemo_Load(object sender, EventArgs e)
            {
                comboBoxPortName.Items.Clear();
                foreach(var spName in SerialPort.GetPortNames())
                {
                    comboBoxPortName.Items.Add(spName);
                }
                comboBoxPortName.Text = CommConfig.Current.PortName;
            }
            
            private void btnOpen_Click(object sender, EventArgs e)
            {
                CommConfig.Current.PortName = comboBoxPortName.Text;
                CommConfig.Current.Save();
                
                spTest.PortName = CommConfig.Current.PortName;
                spTest.BaudRate = CommConfig.Current.BaudRate;
                spTest.DataBits = CommConfig.Current.DataBits;
                spTest.StopBits = CommConfig.Current.StopBits;
                spTest.Parity = CommConfig.Current.Parity;
                spTest.Open();
            }
    
            private void btnTestSend_Click(object sender, EventArgs e)
            {
                spTest.WriteLine("hello Comm");
            }

    5 配置文件在文件目录ConfigCommConfig.config

    http://www.cnblogs.com/ADTL/p/5361468.html 

    内容如下:

    <?xml version="1.0" encoding="utf-8"?>
    <CommConfig>
      <!--串口名-->
      <PortName>COM19</PortName>
      <!--波特率-->
      <BaudRate>115200</BaudRate>
      <!--数据位-->
      <DataBits>8</DataBits>
      <!--停止位 None/One/Two/OnePointFive-->
      <StopBits>One</StopBits>
      <!--奇偶校验 None/Odd/Even/Mark/Space-->
      <Parity>None</Parity>
    </CommConfig>

    示例程序

  • 相关阅读:
    设计模式之装饰模式
    SpringAOP 失效解决方案、Spring事务失效
    Jmeter测试出现端口占用情况
    ElasticSearch创建动态索引
    Zuul + Ribbon 脱离Eureka完成负载均衡+重试机制
    TCP的三次握手与四次挥手笔记
    Java中的阻塞队列
    Jmeter5.1——聚合报告参数分析
    SpringCloud"灰度部署"——动态刷新网关配置
    JVM学习笔记——类加载过程
  • 原文地址:https://www.cnblogs.com/ADTL/p/5361468.html
Copyright © 2011-2022 走看看