MFC工控项目实例之五CFile类读写系统参数

server/2024/9/20 7:23:10/ 标签: mfc, c++

承接专栏《MFC工控项目实例之四在调试目录下创建指定文件夹》
实时保存输入的iPlotX坐标轴最小值、最大值到CFG.PAR文件,打开界面从CFG.PAR文件中实时读取保存的最小值、最大值在编辑框中显示。
1、SEAL_PRESSURE.h中添加代码

class CSEAL_PRESSUREApp : public CWinApp
{
public:...CString m_CFGFileName;void LoadCFGFile(void);void SaveCFGFile(void);...
}

2、SEAL_PRESSURE.cpp中添加代码

CSEAL_PRESSUREApp::CSEAL_PRESSUREApp()
{TCHAR exeFullPath[MAX_PATH];GetModuleFileName(NULL,exeFullPath,MAX_PATH);m_Path = exeFullPath;for(int i = m_Path.GetLength() - 1; i > 0 ; i --){if(m_Path.GetAt(i) == '\\')break;}SetCurrentDirectory(m_Path);m_Path = m_Path.Left(i);m_CFGFileName = m_Path + "\\CFG.PAR";
}	BOOL CSEAL_PRESSUREApp::InitInstance()
{...LoadCFGFile();   CSEAL_PRESSUREDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();...SaveCFGFile();return FALSE;
}void CSEAL_PRESSUREApp::LoadCFGFile()
{CFile file;if(file.Open(m_CFGFileName,CFile::modeRead)){if(!file.Read(&m_sys_data,sizeof(m_sys_data))){memset(&m_sys_data,0,sizeof(m_sys_data));}file.Close();}else{memset(&m_sys_data,0,sizeof(m_sys_data));}
}void CSEAL_PRESSUREApp::SaveCFGFile()
{CFile file;if(file.Open(m_CFGFileName,CFile::modeCreate|CFile::modeWrite)){file.Write(&m_sys_data,sizeof(m_sys_data));file.Close();}
}

3、SYS_DATA.cpp中添加代码

SYS_DATA::SYS_DATA(CWnd* pParent /*=NULL*/): CDialog(SYS_DATA::IDD, pParent)
{//{{AFX_DATA_INIT(SYS_DATA)m_fMaxTime = 0.0;m_fMaxPressure = 0.0;m_fMinPressure = 0.0;//}}AFX_DATA_INITm_fMaxTime = theApp.m_sys_data.m_fMaxTime;m_fMinPressure = theApp.m_sys_data.m_fMinPressure;m_fMaxPressure = theApp.m_sys_data.m_fMaxPressure;
}

运行程序
在这里插入图片描述


http://www.ppmy.cn/server/50120.html

相关文章

LeetCode 58. 最后一个单词的长度

LeetCode 58. 最后一个单词的长度 你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串 示例 1: 输入:s “Hello World”…

鸿蒙开发学习随记(1)——ArkTS基础语言学习

目录 变量与常量 数组 函数 常规函数 箭头函数 接口与对象 联合体 枚举类型 变量与常量 在ArkTS语言中有三种常见的数据类型:number,string,boolean。 变量这样声明定义: //变量命名let name:string "zhangsan"//let是一个关键字声明…

Mac电脑FTP客户端推荐:Transmit 5 for Mac 中文版

Transmit 5是一款专为macOS平台设计的功能强大的FTP(文件传输协议)客户端软件。Transmit 5凭借其强大的功能、直观易用的界面和高效的性能,成为需要频繁进行文件传输和管理的个人用户和专业用户的理想选择。无论是对于新手还是经验丰富的用户…

kafka安装部署之资源评估

目录 1、环境资源评估 1.1、操作系统评估 1.2、磁盘评估 1.2.1、磁盘选型评估 1.2.1.1、磁盘类型评估 1.2.1.1、磁盘构成评估 1.2.2、磁盘容量评估 1.3、内存评估 1.4、CPU评估 1.5、带宽评估 1.6、常见线上资源配置 2、安装流程 2.1、安装jdk 2.2、安装zookeepe…

理解查准率P、查全率R及Fβ度量怎么得来的

如果得到的是一组样本在两个算法上的一次预测结果,其中每个样本都被赋予了一个为正样本的概率(例如,通过逻辑回归或朴素贝叶斯分类器得到的概率估计),那么可以通过改变不同的阈值点来利用这些预测结果画出PR曲线。 如果…

AGI大辩论,AI安全等级,Sora团队访谈,AI民科,AI提升编程效率

更多内容: https://agifun.love 智源社区 ICML 2024 | 具有动态目标感知片段的药物发现 今天为大家介绍的是来自Sung Ju Hwang团队的一篇论文。基于片段的药物发现是一种在广阔的化学空间中发现药物候选物的有效策略,并已广泛应用于分子生成模型。然而…

普通校验和

校验和是一种用于验证数据完整性的方法,通常包含普通校验和和复杂校验和。这里主要说明普通校验和。 普通校验和:简单,快速,如IPv4协议复杂校验和:复杂,较慢,如文件验证 普通校验和 以16位为…

如何备份和恢复 Docker Desktop 数据

如何备份和恢复 Docker Desktop 数据 在使用 Docker Desktop 进行开发和部署时,备份和恢复 Docker 数据是非常重要的。本文将详细介绍如何在 Docker Desktop 中备份和恢复数据,确保您的容器和相关数据在任何情况下都能得到保护。 为什么需要备份和恢复…

【ARMv8/ARMv9 硬件加速系列 3.3 -- SVE LD2D 和 ST2D 使用介绍】

文章目录 SVE 多向量操作LD2D(加载)LD2D 操作说明LD2D 使用举例ST2D(存储)ST2D 使用举例ST2D 存储示例代码ld2d 和 st2d 小结SVE 多向量操作 在ARMv8/9的SVE (Scalable Vector Extension) 指令集中,st2d和ld2d指令用于向量化的存储和加载操作,具体地,它们允许同时对两个…

Linux机器通过Docker-Compose安装Jenkins发送Allure报告

目录 一、安装Docker 二、安装Docker Compose 三、准备测试用例 四、配置docker-compose.yml 五、启动Jenkins 六、配置Jenkins和Allure插件 七、创建含pytest的Jenkins任务 八、项目结果通知 1.通过企业微信通知 2.通过邮件通知 九、配置域名DNS解析 最近小编接到一…

聊聊语法糖

语法糖(Syntactic sugar)是指编程语言中添加的某种语法,这种语法对语言的功能没有影响,但更方便程序员使用,并能增加程序的可读性,减少代码出错的机会。 历史: 语法糖这一术语是由英国计算机科…

elementui写一个自定义的rangeInput的组件

组件定义 使用el-row确保元素都在一行上对外暴露的prop是minValue和maxValue,但是不建议直接使用,使用计算属性minValueComputed和maxValueComputed更改计算属性的值的不要直接更改计算属性,也不要直接更改原本的prop,通知外层的父…

基于Matlab的细胞计数图像处理系统(GUI界面有报告) 【含Matlab源码 MX_003期】

简介: 本文旨在解决生物血细胞数目统计的挑战,提出了基于图像处理的综合方案。通过MATLAB平台,我们设计并实现了一套完整的细胞图像处理与分析流程。在预处理阶段,采用图像增强和阈值分割等方法,有效地提高了细胞图像的…

隐私计算和机密计算的区别

隐私计算和机密计算都是为了在处理数据时保护数据的安全和隐私,但它们在实现方式和应用场景上有所不同。 隐私计算 (Privacy Computing) 隐私计算主要关注在数据分析和处理过程中如何保护数据的隐私。它的核心目标是确保数据在使用过程中不被泄露,特别…

Spring boot 注解实现幂等性

1. 添加 Spring AOP 依赖 在 pom.xml 中添加如下依赖&#xff1a; <dependencies><!-- Spring AOP dependency --><dependency><groupIdorg.springframework.boot</groupId><artifactIdspring-boot-starter-aop</artifactId></depend…

视频云沉浸式音视频技术能力探索与建设

概述 随着传输技术、显示技术与算力的持续提升&#xff0c;用户对于音视频体验的需求在提高&#xff0c;各家设备厂商也在探索和推出对应的技术与产品。打造空间感的空间视频与空间音频是其中最为关键的2项技术&#xff0c;bilibili视频云在这两项技术领域也进行了相关代探索与…

单目物体测距

单目测距是一种利用单个摄像头来获取场景深度信息的技术。根据搜索结果,以下是一些常见的单目测距方法: 1. **相似三角形法**:这是一种基于几何原理的方法,通过已知物体的尺寸和在图像中的像素宽度来计算物体与相机之间的距离。 2. **基于已知运动的测量方法**:这种方法…

国家商用密码算法-SM4Tool.jar

SM4Tool.jar是指一个特定的Java工具集&#xff0c;用于实现SM4&#xff08;国家商用密码算法之一&#xff09;的加密和解密功能。SM4是一种分组密码算法&#xff0c;广泛应用于中国的各种安全通信场景中&#xff0c;如金融、电子政务、物联网等。 功能 加密与解密&#xff1a;…

PostgreSQL源码分析——WAL日志(二)

接上篇&#xff1a;《PostgreSQL源码分析——WAL日志&#xff08;一&#xff09;》 日志的组成 日志的注册主要是将WAL日志所需的信息保存在内存中&#xff0c;这些信息需要由XLogRecordAssemble函数组装成为最终的日志记录&#xff0c;主要是处理日志记录中与页面&#xff0…

Bureau of Contacts延迟高、卡顿、无法联机怎么办?

Bureau of Contacts是一款最多支持四个人联机玩的恐怖游戏&#xff0c;由MIROWIN开发并发行&#xff0c;6月20日在steam推出抢先体验版&#xff0c;相信喜欢恐怖游戏的玩家已经等不及了。玩家会扮演一名特工&#xff0c;接触并调查超自然现象&#xff0c;游戏分为调查和驱魔两个…