#include "stdafx.h"

#include "global.h"



#define CONAPPNAME "Config"
#define CONPATH ".\\conn.ini"

string getConfig(string key)
{
	char ch[100] = { 0 };
	GetPrivateProfileString(CONAPPNAME, key.c_str(), "", ch, 100, CONPATH);
	string val = ch;
	return val;
}
int getConfig_INT(string key)
{
	char ch[100] = { 0 };
	GetPrivateProfileString(CONAPPNAME, key.c_str(), "", ch, 100, CONPATH);
	return atoi(ch);
}

void saveConfig(string key, string val)
{
	WritePrivateProfileString(CONAPPNAME, key.c_str(), val.c_str(), CONPATH);
}
void saveConfig(string key, int val)
{
	WritePrivateProfileString(CONAPPNAME, key.c_str(), std::to_string(val).c_str(), CONPATH);
}

void saveConfig(string key, double val)
{
	char ch[50] = { 0 };
	sprintf_s(ch, "%.2f", val);
	WritePrivateProfileString(CONAPPNAME, key.c_str(), ch, CONPATH);
}

/*
WORD calccrc(BYTE crcbuf, WORD crc, WORD polynom)
{
	BYTE i;
	crc = crc ^ crcbuf;
	for (i = 0; i<8; i++) {
		BYTE chk;
		chk = crc & 1;
		crc = crc >> 1;
		crc = crc & 0x7fff;
		if (chk == 1)
			crc = crc^polynom;
		crc = crc & 0xffff;
	}
	return crc;
}


//ע��modbus������ߵ�λҪ��ת
WORD chkcrc_modbus(BYTE *buf, WORD len, WORD polynom)
{
	WORD i;
	WORD crc;
	crc = 0xffff;
	for (i = 0; i<len; i++) {
		crc = calccrc(*buf, crc, polynom);
		buf++;
	}
	return crc;
}
*/
std::string getCurrentDate()
{
	CTime tm = CTime::GetCurrentTime();


	char time[30] = { 0 };
	sprintf_s(time, "%04d%02d%02d", tm.GetYear(), tm.GetMonth(), tm.GetDay());

	std::string str = time;
	return str;
}

std::string getCurrentTime()
{
	CTime tm = CTime::GetCurrentTime();


	char time[30] = { 0 };
	sprintf_s(time, "%04d%02d%02d%02d%02d%02d", tm.GetYear(), tm.GetMonth(), tm.GetDay(), tm.GetHour(), tm.GetMinute(), tm.GetSecond());

	std::string str = time;
	return str;
}


std::string getCurrentTime_Short()
{
	CTime tm = CTime::GetCurrentTime();


	char time[30] = { 0 };
	sprintf_s(time, "%02d:%02d:%02d",  tm.GetHour(), tm.GetMinute(), tm.GetSecond());

	std::string str = time;
	return str;
}