MFC 设置项目配置表

配置表头文件config.h:

#pragma once


// Config 对话框

class SysParameters
{
public:
	CString TakePhotoTime;//拍照间隔时间
	CString TakeStartTime;//拍摄开始时间
	CString TakeEndTime;//拍摄结束时间
	//相机参数设置//
	CString SzPath;//照片默认存放地址
	CString IPAddr;
	CString XML1;
	CString XML2;
	CString SimulatorIP;
};

class Config : public CDialogEx
{
	DECLARE_DYNAMIC(Config)

public:
	Config(CWnd* pParent = NULL);   // 标准构造函数
	virtual ~Config();

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_CAMERACONTROL_DIALOG };
#endif

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
public:
	void ModifyInitConfig(SysParameters para_);
	SysParameters GetConfig();
	void CreatConfig();
};

config.cpp:

#include "stdafx.h"
#include "CameraControl.h"
#include "Config.h"
#include "afxdialogex.h"


// Config 对话框

IMPLEMENT_DYNAMIC(Config, CDialogEx)




Config::Config(CWnd* pParent /*=NULL*/)
	: CDialogEx(IDD_CAMERACONTROL_DIALOG, pParent)
{

}

Config::~Config()
{
}

void Config::DoDataExchange(CDataExchange* pDX)
{
	CDialogEx::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(Config, CDialogEx)
END_MESSAGE_MAP()


// Config 消息处理程序
void Config::ModifyInitConfig(SysParameters para_)//修改
{
	CString path_ = ".\\DefaultConfig.ini";
	WritePrivateProfileString("Camera", "TakePhotoTime", para_.TakePhotoTime, path_);//写入
	WritePrivateProfileString("Camera", "TakeStartTime", para_.TakeStartTime, path_);
	WritePrivateProfileString("Camera", "TakeEndTime", para_.TakeEndTime, path_);
	WritePrivateProfileString("Camera", "SzPath", para_.SzPath, path_);

}

SysParameters Config::GetConfig()
{
	CreatConfig();//创建函数
	SysParameters para_;
	CString path_ = ".\\DefaultConfig.ini";

	GetPrivateProfileString("Camera", "TakePhotoTime", NULL, para_.TakePhotoTime.GetBuffer(128), 128, path_);//获取配置表的值
	GetPrivateProfileString("Camera", "TakeStartTime", NULL, para_.TakeStartTime.GetBuffer(128), 128, path_);
	GetPrivateProfileString("Camera", "TakeEndTime", NULL, para_.TakeEndTime.GetBuffer(128), 128, path_);
	GetPrivateProfileString("Camera", "SzPath", NULL, para_.SzPath.GetBuffer(128), 128, path_);
	para_.TakePhotoTime.ReleaseBuffer();
	para_.TakeStartTime.ReleaseBuffer();
	para_.TakeEndTime.ReleaseBuffer();
	para_.SzPath.ReleaseBuffer();
	return para_;
}



void Config::CreatConfig()
{
	//查找是否存在ini文件,若不存在,则生成一个新的默认设置的ini文件,这样就保证了我们更改后的设置每次都可用
	CFileFind finder;
	CString path_ = ".\\DefaultConfig.ini";
	BOOL ifFind = finder.FindFile(path_);
	if (!ifFind)
	{
		WritePrivateProfileString("Camera", "TakePhotoTime", "5", path_);
		WritePrivateProfileString("Camera", "TakeStartTime", "1800", path_);
		WritePrivateProfileString("Camera", "TakeEndTime", "0600", path_);
		WritePrivateProfileString("Camera", "SzPath", "D:\Photo_data", path_);
	
	}
}

使用的时候在项目DLG头文件里添加:
SysParameters TPPara;
Config TPConfig;
获取配置表的信息:
TPPara = TPConfig.GetConfig();//获取配置表信息
修改配置表信息:
TPPara.TakePhotoTime = StrTime;
TPConfig.ModifyInitConfig(TPPara);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值