3.6.1 用户登录界面
用户登录界面如图3.9所示:
图3.9 用户登录界面
启动程序后,首先进行的是用户的认证。通过图3.9用户登录界面,可以看到,用户登入界面主要有用户名和密码两部分组成。用户只有输入正确的用户名和相应的密码才可以进入主控制界面。
该用户登入界面是基于MFC对话框实现的。用户设定的用户名和密码被保存在管理文件当中。当用户输入用户名和密码后,点击确定按钮,程序会定位到相应管理文件。通过ifstream infile("load.txt",ios::nocreate)函数对文件实现打开操作,通过getline()函数对文件进行扫描,通过eof()函数判断其是否到文件的底部。如果扫描未到达文件的底部,而检索到已保存的用户名和相应密码与登入界面中输入的用户名与密码对应一致时,则通过AfxMessageBox()函数进入欢迎界面(见图3.10),在用户单机确定以后进入主页面。
图3.10 欢迎界面
否则,在文件的检索过程中,当检索到文件末端还未检索到匹配的用户名和密码,则通过AfxMessageBox()函数弹出报错对话框提示用户名或者密码错误(见图3.11)。
图3.11 报错对话框
3.6.2 主窗口界面
主窗口界面主要记录了上油箱的温度,下油箱的温度,主缸的压力,主缸的位置及电机的状态等主要监控的量。其中温度的单位为摄氏度,压力的单位为千牛,位移的单位为毫米。对于电机的状态主页面显示的是电机的开启或关关闭状态,可以看到显示红色颜色的电机为开状态,显示灰色的电机为关状态。在主页面的上部可以看到串口号的组合框,里面存放这COM1,COM2, COM3及 COM4四个串口号,通过选择不同的串口号,可以实现不同串口间的通讯。在串口号组合框的旁边有一个打开串口和关闭串口按钮,通过点击它们可以实现打开串口和关闭串口的功能。其具体的样式参见图3.12。
图3.12主窗口界面
下面就对其各部分的功能的实现过程进行简单的说明。
对于打开串口的功能,本系统用的是串口初始化函数InitPort(this, nPort, 9600,'N',8,1,EV_RXFLAG | EV_RXCHAR,512),这个函数是用来初始化串口[21],即设置串口的通信参数:需要打开的串口号、波特率、奇偶检验方式、数据位和停止位。其具体的设置如下所示:
Int nPort=m_ctrlComboComPort.GetCurSel()+1; //得到串口号if(m_SerialPort.InitPort(this,nPort,9600,'N',8,1,EV_RXFLAG|EV_RXCHAR,512))
{
m_SerialPort.StartMonitoring();
m_bSerialPortOpened=TRUE; //串口打开
}
else
{
AfxMessageBox("没有发现此串口或被占用");
m_bSerialPortOpened=FALSE; //串口未打开
}
对于主窗口中的其他数据的获得,本工程中用到了窗口通信用户层协议编制原则。该原则主要包括以下几个方面:
(1) 数据必须有包头。包头是供接收方判断一个数据包开始传输的重要标志,接受方从接受到的数据中判断接收到了包头,就认为接收的数据已经开始,真正的数据信息马上就会到达。包头字符必须有别于数据信息,这种特征是数据包中其他数据没有的,否则就会引起混乱。
(2) 非定长数据包必须有包尾。所谓非定长,是指没有指明数据包的长度。对于非定长的数据包,接收方只能根据包尾的标志判断数据包是否结束。同包头一样,包尾字符必须也有别于数据信息,这种特征是数据包中其他数据没有的,否则也会引起混乱。
- 上一篇:CPE流涎薄膜机组主辅机监控系统设计与开发
- 下一篇:灌区供电系统设计与无功补偿容量计算
-
-
-
-
-
-
-
江苏省某高中学生体质现状的调查研究
中国传统元素在游戏角色...
C++最短路径算法研究和程序设计
现代简约美式风格在室内家装中的运用
浅析中国古代宗法制度
高警觉工作人群的元情绪...
上市公司股权结构对经营绩效的影响研究
g-C3N4光催化剂的制备和光催化性能研究
巴金《激流三部曲》高觉新的悲剧命运
NFC协议物理层的软件实现+文献综述