⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 syssetup.cpp

📁 GPS定位报警程序
💻 CPP
字号:
// SysSetup.cpp : implementation file
//

#include "stdafx.h"
#include "GpsPoint.h"
#include "SysSetup.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CSysSetup dialog


CSysSetup::CSysSetup(CWnd* pParent /*=NULL*/)
	: CDialog(CSysSetup::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSysSetup)
	m_vBt = -1;
	m_vCk = -1;
	m_vTm = 0;
	m_vWc = 0;
	m_vYm = 0;
	m_CutTime = -1;
	m_CutCount = -1;
	m_Point = FALSE;
	m_Fangxiang = FALSE;
	m_CutRound = FALSE;
	m_Jiao = 0;
	m_Code = FALSE;
	m_Dis = FALSE;
	m_Error = FALSE;
	//}}AFX_DATA_INIT
}


void CSysSetup::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSysSetup)
	DDX_CBIndex(pDX, IDC_COMBO_BT, m_vBt);
	DDX_CBIndex(pDX, IDC_COMBO_CK, m_vCk);
	DDX_Text(pDX, IDC_EDIT_TM, m_vTm);
	DDX_Text(pDX, IDC_EDIT_WC, m_vWc);
	DDX_Text(pDX, IDC_EDIT_YM, m_vYm);
	DDX_CBIndex(pDX, IDC_COMBO_CUTROUND, m_CutTime);
	DDX_CBIndex(pDX, IDC_COMBO_CUTCOUNT, m_CutCount);
	DDX_Check(pDX, IDC_CHECK_POINT, m_Point);
	DDX_Check(pDX, IDC_CHECK_FANFXIANG, m_Fangxiang);
	DDX_Check(pDX, IDC_CHECK_CUTROUND, m_CutRound);
	DDX_Text(pDX, IDC_EDIT_JIAO, m_Jiao);
	DDX_Check(pDX, IDC_CHECK_CODE, m_Code);
	DDX_Check(pDX, IDC_CHECK_DIS, m_Dis);
	DDX_Check(pDX, IDC_CHECK_ERROR, m_Error);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CSysSetup, CDialog)
	//{{AFX_MSG_MAP(CSysSetup)
	ON_BN_CLICKED(IDC_BUTTON_SAVE, OnButtonSave)
	ON_BN_CLICKED(IDC_BUTTON_EXIT, OnButtonExit)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSysSetup message handlers

BOOL CSysSetup::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	//配置文件的路径
	strFile=CCommFun::GetAppPath("setup.ini");
	//读取配置文件
	m_vCk=CCommFun::Getini("系统设置","串口号",1,strFile);
	m_vCk-=1;
	m_vBt=CCommFun::Getini("系统设置","波特率",4800,strFile);
	m_vBt=(m_vBt/4800)-1;
	m_vTm=CCommFun::Getini("GPS设置","1秒允许的突变米数",10,strFile);
	m_vYm=CCommFun::Getini("GPS设置","允许突变的秒数",3,strFile);
	m_vWc=CCommFun::Getini("GPS设置","定位一个点的误差范围(米)",2,strFile);;
	m_CutTime=CCommFun::Getini("GPS设置","线段切圆的两点时间间隔",1,strFile); 
	m_CutCount=CCommFun::Getini("GPS设置","线段切圆分段数",100,strFile);
	m_CutCount=(m_CutCount/10)-1;
	m_Jiao=CCommFun::Getini("GPS设置","方向角允许误差",20,strFile);
	m_Point=CCommFun::Getini("GPS设置","定点判定",1,strFile);
	m_CutRound=CCommFun::Getini("GPS设置","穿圆判定",1,strFile);
	m_Fangxiang=CCommFun::Getini("GPS设置","方向判定",1,strFile);

	m_Code=CCommFun::Getini("GPS设置","返回定位点代码值",1,strFile);
	m_Dis=CCommFun::Getini("GPS设置","返回与标准点的距离",1,strFile);
	m_Error=CCommFun::Getini("GPS设置","返回定点误差范围",1,strFile);

	this->UpdateData(FALSE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}
//保存
void CSysSetup::OnButtonSave() 
{
	this->UpdateData(TRUE);
	//写入配置文件
	m_vCk+=1;
	CCommFun::Writeini("系统设置","串口号",m_vCk,strFile);
	m_vBt=(m_vBt+1)*4800;
	CCommFun::Writeini("系统设置","波特率",m_vBt,strFile);
	CCommFun::Writeini("GPS设置","1秒允许的突变米数",m_vTm,strFile);
	CCommFun::Writeini("GPS设置","允许突变的秒数",m_vYm,strFile);
	CCommFun::Writeini("GPS设置","定位一个点的误差范围(米)",m_vWc,strFile);;
	CCommFun::Writeini("GPS设置","线段切圆的两点时间间隔",m_CutTime,strFile); 
	m_CutCount=(m_CutCount+1)*10;
	CCommFun::Writeini("GPS设置","线段切圆分段数",m_CutCount,strFile);
	CCommFun::Writeini("GPS设置","方向角允许误差",m_Jiao,strFile);
	CCommFun::Writeini("GPS设置","定点判定",m_Point,strFile);
	CCommFun::Writeini("GPS设置","穿圆判定",m_CutRound,strFile);
	CCommFun::Writeini("GPS设置","方向判定",m_Fangxiang,strFile);

	CCommFun::Writeini("GPS设置","返回定位点代码值",m_Code,strFile);
	CCommFun::Writeini("GPS设置","返回与标准点的距离",m_Dis,strFile);
	CCommFun::Writeini("GPS设置","返回定点误差范围",m_Error,strFile);

	OnOK();
}
//退出
void CSysSetup::OnButtonExit() 
{
	OnOK();
}

BOOL CSysSetup::PreTranslateMessage(MSG* pMsg) 
{
	//避免回车键退出
	if(pMsg->message == WM_KEYDOWN){ 
		switch(pMsg->wParam){
		case VK_RETURN://截获回车 
			return TRUE;
		case VK_ESCAPE://截获ESC 
			return TRUE;
		break;
		}
	}	
	return CDialog::PreTranslateMessage(pMsg);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -