阀门测试软件知识点总结

来源:互联网 发布:网络的利与弊反方 编辑:程序博客网 时间:2024/04/27 21:00

今天开始操作阀门测试软件的优化升级。主要涉及的知识点如下。

1.由于涉及到DEVEXPRESS插件的使用,故需要与原来软件相同的版本。若版本不同,则相应的界面无法编辑打开。即某些新版本的函数无法调用。但有时可以正常运行。


2.对于与硬件的接口,与IC操作基本一致,即根据硬件的相关协议(及接口函数)进行相应的调用即可。而对于不同的硬件,需要调用不同的协议,因此,最好将相关协议进行封装操作。


3.winform程序读取和改写配置文件App.config元素的值。app.config和web.config一样,它也是一个XML文件。

把app.config文件中ImgPath这个元素的Value值读取出来,操作如下:

string strPath = System.Configuration.ConfigurationSettings.AppSettings["ImgPath"].ToString();

在对app.config文件的元素Value值进行修改操作时,只能把app.config文件当作一个普通的XML文件来对待,利用System.Xml.XmlDocument类把这个app.config文件读到内存中,并通过System.Xml.XmlNode类找到appSettings节点,通过System.Xml.XmlElement类找到节点下的某个元素,利用SetAttribute方法来修改这个元素的值后,最后再将app.config文件保存到原的目录中,这样,才算完成了对一个元素Value值的修改操作。

public static void SetValue(string AppKey, string AppValue)
        {
            System.Xml.XmlDocument xDoc =newSystem.Xml.XmlDocument();
            xDoc.Load(System.Windows.Forms.Application.ExecutablePath +".config");
 
            System.Xml.XmlNode xNode;
            System.Xml.XmlElement xElem1;
            System.Xml.XmlElement xElem2;
            xNode = xDoc.SelectSingleNode("//appSettings");
 
            xElem1 = (System.Xml.XmlElement)xNode.SelectSingleNode("//add[@key='"+ AppKey + "']");
            if(xElem1 !=null) xElem1.SetAttribute("value", AppValue);
            else
            {
                xElem2 = xDoc.CreateElement("add");
                xElem2.SetAttribute("key", AppKey);
                xElem2.SetAttribute("value", AppValue);
                xNode.AppendChild(xElem2);
            }
            xDoc.Save(System.Windows.Forms.Application.ExecutablePath +".config");
        }

4.App.config文件的格式的具体要求见下一篇文章。

5.ExcelPackage的优势就是解放了在程序中设置格式的弊端,总体原理为:在相应路径下放置一个Excel模板,执行导出操作时按照模板样式在指定行插入数据,构建出一个模板样式的新Excel。


6.在WINFORM的程序编写中,有些事件集成到了窗体初始化事件中,从而在引用窗体时调用相关事件,并且非软件编辑人员一般观察不到。即窗体初始化亦是一个事件。


7.注意串口协议的使用说明,即一切指令都有一定的格式,将一定的指令字符串通过串口(serialport)发送到外部接收器即可。C#程序中需要做的是如何接收或组织指令字符串以符合外部接收的需要即可。

常用串口操作:SerialPort sp = (SerialPort)sender; //此处获取端口缓冲区中的所有内容
int size = sp.BytesToRead;//获取接收缓冲区中数据的字节数

byte[] buf = new byte[n];
sp.Read(buf, 0, n);



8.

原创粉丝点击