global.cpp 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include "stdafx.h"
  2. #include "global.h"
  3. #define CONAPPNAME "Config"
  4. #define CONPATH ".\\conn.ini"
  5. string getConfig(string key)
  6. {
  7. char ch[100] = { 0 };
  8. GetPrivateProfileString(CONAPPNAME, key.c_str(), "", ch, 100, CONPATH);
  9. string val = ch;
  10. return val;
  11. }
  12. int getConfig_INT(string key)
  13. {
  14. char ch[100] = { 0 };
  15. GetPrivateProfileString(CONAPPNAME, key.c_str(), "", ch, 100, CONPATH);
  16. return atoi(ch);
  17. }
  18. void saveConfig(string key,string val)
  19. {
  20. WritePrivateProfileString(CONAPPNAME, key.c_str(), val.c_str(), CONPATH);
  21. }
  22. void saveConfig(string key, int val)
  23. {
  24. WritePrivateProfileString(CONAPPNAME, key.c_str(), std::to_string(val).c_str(), CONPATH);
  25. }
  26. WORD calccrc(BYTE crcbuf, WORD crc, WORD polynom)
  27. {
  28. BYTE i;
  29. crc = crc ^ crcbuf;
  30. for (i = 0; i<8; i++) {
  31. BYTE chk;
  32. chk = crc & 1;
  33. crc = crc >> 1;
  34. crc = crc & 0x7fff;
  35. if (chk == 1)
  36. crc = crc^polynom;
  37. crc = crc & 0xffff;
  38. }
  39. return crc;
  40. }
  41. //注意modbus算出来高低位要调转
  42. WORD chkcrc_modbus(BYTE *buf, WORD len, WORD polynom)
  43. {
  44. WORD i;
  45. WORD crc;
  46. crc = 0xffff;
  47. for (i = 0; i<len; i++) {
  48. crc = calccrc(*buf, crc, polynom);
  49. buf++;
  50. }
  51. return crc;
  52. }
  53. std::string getCurrentTime()
  54. {
  55. CTime tm = CTime::GetCurrentTime();
  56. char time[30] = { 0 };
  57. sprintf_s(time, "%02d:%02d:%02d", tm.GetHour(),tm.GetMinute(), tm.GetSecond());
  58. std::string str = time;
  59. return str;
  60. }