首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >.ini文件C#中的串口数据保存

.ini文件C#中的串口数据保存
EN

Stack Overflow用户
提问于 2022-10-20 11:30:59
回答 2查看 50关注 0票数 -1

我已经构建了使用串口C#的应用程序表单。

当我关闭可执行文件时,我想在.ini文件中保存上一次使用的序列号和COM数据。因此,我可以在下一次使用应用程序时使用相同的数据。

代码语言:javascript
复制
        private void btnSave_Click(object sender, EventArgs e)
    {
        try
        {

            _Ser.PortName = cBoxPort.Text;
            _Ser.BaudRate = Convert.ToInt32(cBoxBaud.Text);
            _Ser.DataBits = Convert.ToInt32(cBoxDatabits.Text);
            _Ser.StopBits = (StopBits)Enum.Parse(typeof(StopBits), cBoxStopBits.Text);
            _Ser.Parity = (Parity)Enum.Parse(typeof(Parity), cBoxParitybits.Text);
            this.Close();
            string[] data = { cBoxPort.Text, cBoxDatabits.Text, cBoxStopBits.Text, cBoxParitybits.Text };
        }

        catch (Exception err)
        {

            MessageBox.Show(err.Message, ("Error"), MessageBoxButtons.OK, MessageBoxIcon.Error);

        }

        MessageBox.Show("Configuration has been saved","Status");
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-10-20 11:39:06

我认为最好的方法是用要保存的数据序列化对象并检索它,只需反序列化对象。

下面是如何使用XML文件How to serialize/deserialize simple classes to XML and back来执行此操作的示例

一个简单的方法是使用JSON,下面是一个应用于您的代码的示例。

您将需要引用Newtonsoft.Json

代码语言:javascript
复制
_Ser.PortName = cBoxPort.Text;
        _Ser.BaudRate = Convert.ToInt32(cBoxBaud.Text);
        _Ser.DataBits = Convert.ToInt32(cBoxDatabits.Text);
        _Ser.StopBits = (StopBits)Enum.Parse(typeof(StopBits), cBoxStopBits.Text);
        _Ser.Parity = (Parity)Enum.Parse(typeof(Parity), cBoxParitybits.Text);

将对象序列化为.json文件

代码语言:javascript
复制
string dataFile = @"c:\DataFile.json";
        string jsonString = JsonConvert.SerializeObject(_Ser);
        File.WriteAllText(dataFile, jsonString);

从.json文件检索数据

代码语言:javascript
复制
string recoverdata =  File.ReadAllText(dataFile);
        _Ser = JsonConvert.DeserializeObject<[put here the type of your object "_ser"] >(recoverdata);
票数 0
EN

Stack Overflow用户

发布于 2022-10-20 11:54:41

您需要生成一个json,然后保存上次在该json上提交的端口。当程序打开时,您应该从json读取最后记录的端口,然后再次打开端口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74139150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档