BlueFlashTool.cpp 9.2 KB
// BlueFlashTool.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "BlueFlashTool.h"
#include "BlueFlashToolDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CBlueFlashToolApp

BEGIN_MESSAGE_MAP(CBlueFlashToolApp, CWinApp)
	//{{AFX_MSG_MAP(CBlueFlashToolApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBlueFlashToolApp construction

CBlueFlashToolApp::CBlueFlashToolApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CBlueFlashToolApp object
//---------------全局变量定义区
	CBlueFlashToolApp theApp;
	CBlueFlashToolApp *g_pmainapp;
	app_main_data_struct g_AppMainData;
	//CByteArray g_pBufferBinFile[20];
	CIniFile g_globalini;
//---------------全局变量定义区


CString GetCurrPath();




/////////////////////////////////////////////////////////////////////////////
// CBlueFlashToolApp initialization

BOOL CBlueFlashToolApp::InitInstance()
{
	CString strglobalpath;
	AfxEnableControlContainer();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	//Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif
	g_pmainapp = this;

	strglobalpath = GetCurrPath() + "Global";
	g_globalini.SetIniFileName(strglobalpath);
	LoadConfigs();

	//--------------------------------------------------------数据初始化
	


	CBlueFlashToolDlg dlg;
	m_pMainWnd = &dlg;
	int nResponse = dlg.DoModal();
	if (nResponse == IDOK)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with OK
	}
	else if (nResponse == IDCANCEL)
	{
		// TODO: Place code here to handle when the dialog is
		//  dismissed with Cancel
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}



//获取应用程序的根目录
//return value:应用程序的根目录
CString GetCurrPath()
{
	CString strPath ="";
	char cCurDirectory[_MAX_PATH];
	memset(cCurDirectory,'\0',_MAX_PATH);
	::GetModuleFileName(NULL,  cCurDirectory,   _MAX_PATH); 
	//GetCurrentDirectory(256, cCurDirectory); //不能使用这个函数,如果中间你调用文件对话框,对改变你的当前路径
	strPath.Format(cCurDirectory);
	CString strAppName =AfxGetApp()->m_pszAppName; 
	strAppName+=".exe";
	//把最后的exe文件名去掉 
	int length1,length2; 
	length1=strPath.GetLength(); 
	length2=strAppName.GetLength(); 
	strPath.Delete(length1-length2,length2); 
	//strPath.Replace("\\","\\\\");
	return strPath;
}
//判断某文件是否存在
//return value: ture:存在,false:不存在!
//Parameters:
//strAbsolutefilePath:文件的绝对路径
bool IsExistFile(CString strAbsolutefilePath)
{
	CFileFind findFile;
	//BOOL iFlag = false;
	BOOL iFlag = findFile.FindFile(strAbsolutefilePath);
	return iFlag;
}

// 加载程序默认配置
bool CBlueFlashToolApp::LoadConfigs(void)
{
	g_AppMainData.if_same_sn = g_globalini.ReadBool("SN_Config","SN_same");
	g_AppMainData.SN_head = g_globalini.ReadString("SN_Config","SN_head");
	g_AppMainData.SN_start = g_globalini.ReadInt("SN_Config","SN_start");
	g_AppMainData.SN_end = g_globalini.ReadInt("SN_Config","SN_end");
	g_AppMainData.SN_cur = g_globalini.ReadInt("SN_Config","SN_cur");

	g_AppMainData.com_config.aBandrate = g_globalini.ReadInt("UART_Config","波特率");
	g_AppMainData.com_config.bcheck = g_globalini.ReadInt("UART_Config","校验位");
	g_AppMainData.com_config.cdatabit = g_globalini.ReadInt("UART_Config","数据位");
	g_AppMainData.com_config.dstopbit = g_globalini.ReadInt("UART_Config","停止??");
	g_AppMainData.com_config.estreambit = g_globalini.ReadInt("UART_Config","流控制");

	g_AppMainData.ary_myComPortEar[0] = g_globalini.ReadInt("UART_Config","ear_port1");
	g_AppMainData.ary_myComPortEar[1] = g_globalini.ReadInt("UART_Config","ear_port2");
	g_AppMainData.ary_myComPortEar[2] = g_globalini.ReadInt("UART_Config","ear_port3");
	g_AppMainData.ary_myComPortEar[3] = g_globalini.ReadInt("UART_Config","ear_port4");
	g_AppMainData.ary_myComPortEar[4] = g_globalini.ReadInt("UART_Config","ear_port5");
	g_AppMainData.ary_myComPortEar[5] = g_globalini.ReadInt("UART_Config","ear_port6");
	g_AppMainData.ary_myComPortEar[6] = g_globalini.ReadInt("UART_Config","ear_port7");
	g_AppMainData.ary_myComPortEar[7] = g_globalini.ReadInt("UART_Config","ear_port8");
	g_AppMainData.ary_myComPortEar[8] = g_globalini.ReadInt("UART_Config","ear_port9");
	g_AppMainData.ary_myComPortEar[9] = g_globalini.ReadInt("UART_Config","ear_port10");
	g_AppMainData.ary_myComPortUsb[0] = g_globalini.ReadInt("UART_Config","usb_port1");
	g_AppMainData.ary_myComPortUsb[1] = g_globalini.ReadInt("UART_Config","usb_port2");
	g_AppMainData.ary_myComPortUsb[2] = g_globalini.ReadInt("UART_Config","usb_port3");
	g_AppMainData.ary_myComPortUsb[3] = g_globalini.ReadInt("UART_Config","usb_port4");
	g_AppMainData.ary_myComPortUsb[4] = g_globalini.ReadInt("UART_Config","usb_port5");
	g_AppMainData.ary_myComPortUsb[5] = g_globalini.ReadInt("UART_Config","usb_port6");
	g_AppMainData.ary_myComPortUsb[6] = g_globalini.ReadInt("UART_Config","usb_port7");
	g_AppMainData.ary_myComPortUsb[7] = g_globalini.ReadInt("UART_Config","usb_port8");
	g_AppMainData.ary_myComPortUsb[8] = g_globalini.ReadInt("UART_Config","usb_port9");
	g_AppMainData.ary_myComPortUsb[9] = g_globalini.ReadInt("UART_Config","usb_port10");
	g_AppMainData.FilePathEar= g_globalini.ReadString("BinFilePath","EarBin");
	g_AppMainData.FilePathUsb= g_globalini.ReadString("BinFilePath","UsbBin");


	return true;
}

bool CBlueFlashToolApp::SaveConfigs(void)
{
	// 	g_AppMainData.if_same_sn = TRUE;
	// 	strcpy(g_AppMainData.SN_head,	"T");
	// 	g_AppMainData.SN_start = 0;
	// 	g_AppMainData.SN_end = 0;
	// 	g_AppMainData.SN_cur = 0;
	// 	g_AppMainData.com_config.aBandrate = 115200;
	// 	g_AppMainData.com_config.bcheck = 0;
	// 	g_AppMainData.com_config.cdatabit = 8;
	// 	g_AppMainData.com_config.dstopbit=1;
	// 	g_AppMainData.com_config.estreambit=0;
	// 
	// 	for (int i = 0; i < 10; i++)
	// 	{
	// 		g_AppMainData.ary_myComPortEar[i]=-1;
	// 		g_AppMainData.ary_myComPortUsb[i]=-1;
	// 	}
	// 	//--------------------------------------------------------数据初始化

	g_globalini.WriteBool("SN_Config","SN_same",g_AppMainData.if_same_sn);
	g_globalini.WriteString("SN_Config","SN_head",g_AppMainData.SN_head);
	g_globalini.WriteInt("SN_Config","SN_start",g_AppMainData.SN_start);
	g_globalini.WriteInt("SN_Config","SN_end",g_AppMainData.SN_end);
	g_globalini.WriteInt("SN_Config","SN_cur",g_AppMainData.SN_cur);

	g_globalini.WriteInt("UART_Config","波特率",g_AppMainData.com_config.aBandrate);
	g_globalini.WriteInt("UART_Config","校验位",g_AppMainData.com_config.bcheck);
	g_globalini.WriteInt("UART_Config","数据位",g_AppMainData.com_config.cdatabit);
	g_globalini.WriteInt("UART_Config","停止位",g_AppMainData.com_config.dstopbit);
	g_globalini.WriteInt("UART_Config","流控制",g_AppMainData.com_config.estreambit);

	g_globalini.WriteInt("UART_Config","ear_port1",g_AppMainData.ary_myComPortEar[0]);
	g_globalini.WriteInt("UART_Config","ear_port2",g_AppMainData.ary_myComPortEar[1]);
	g_globalini.WriteInt("UART_Config","ear_port3",g_AppMainData.ary_myComPortEar[2]);
	g_globalini.WriteInt("UART_Config","ear_port4",g_AppMainData.ary_myComPortEar[3]);
	g_globalini.WriteInt("UART_Config","ear_port5",g_AppMainData.ary_myComPortEar[4]);
	g_globalini.WriteInt("UART_Config","ear_port6",g_AppMainData.ary_myComPortEar[5]);
	g_globalini.WriteInt("UART_Config","ear_port7",g_AppMainData.ary_myComPortEar[6]);
	g_globalini.WriteInt("UART_Config","ear_port8",g_AppMainData.ary_myComPortEar[7]);
	g_globalini.WriteInt("UART_Config","ear_port9",g_AppMainData.ary_myComPortEar[8]);
	g_globalini.WriteInt("UART_Config","ear_port10",g_AppMainData.ary_myComPortEar[9]);
	g_globalini.WriteInt("UART_Config","usb_port1",g_AppMainData.ary_myComPortUsb[0]);
	g_globalini.WriteInt("UART_Config","usb_port2",g_AppMainData.ary_myComPortUsb[1]);
	g_globalini.WriteInt("UART_Config","usb_port3",g_AppMainData.ary_myComPortUsb[2]);
	g_globalini.WriteInt("UART_Config","usb_port4",g_AppMainData.ary_myComPortUsb[3]);
	g_globalini.WriteInt("UART_Config","usb_port5",g_AppMainData.ary_myComPortUsb[4]);
	g_globalini.WriteInt("UART_Config","usb_port6",g_AppMainData.ary_myComPortUsb[5]);
	g_globalini.WriteInt("UART_Config","usb_port7",g_AppMainData.ary_myComPortUsb[6]);
	g_globalini.WriteInt("UART_Config","usb_port8",g_AppMainData.ary_myComPortUsb[7]);
	g_globalini.WriteInt("UART_Config","usb_port9",g_AppMainData.ary_myComPortUsb[8]);
	g_globalini.WriteInt("UART_Config","usb_port10",g_AppMainData.ary_myComPortUsb[9]);

	g_globalini.WriteString("BinFilePath","EarBin",g_AppMainData.FilePathEar);
	g_globalini.WriteString("BinFilePath","UsbBin",g_AppMainData.FilePathUsb);

	return true;
}