config.cpp
上传用户:looem2003
上传日期:2014-07-20
资源大小:13733k
文件大小:5k
源码类别:

打印编程

开发平台:

Visual C++

  1. #include "config.h"
  2. LPCTSTR cfgName = _T("OPTIONS");
  3. BOOL WINAPI load_config( LPAPPCONFIG ac, LPVOID param )
  4. {
  5. BOOL ret = FALSE;
  6. LPADDITIONALCONFIG aac = NULL;
  7. TCHAR tmp[MAX_PATH] = _T("");
  8. if( (NULL != ac) && (NULL != (aac = (LPADDITIONALCONFIG)(ac->addParam = param))) )
  9. {
  10. ZeroMemory( aac, sizeof(*aac) );
  11. aac->showAdvanced = ( 0 != GetPrivateProfileInt( cfgName, _T("SHOW_ADVANCED"), 0, ac->iniFile ));
  12. aac->savePass = ( 0 != GetPrivateProfileInt( cfgName, _T("SAVE_PASS"), 0, ac->iniFile ));
  13. aac->closeWnd = ( 0 != GetPrivateProfileInt( cfgName, _T("CLOSE_WND"), 0, ac->iniFile ));
  14. aac->transmReport = ( 0 != GetPrivateProfileInt( cfgName, _T("TRANSITION_REPORT"), 1, ac->iniFile ));
  15. aac->transmReportAttach = ( 0 != GetPrivateProfileInt( cfgName, _T("TRANSITION_REPORT_ATTACH"), 1, ac->iniFile ));
  16. //aac->showPass = ( 0 != GetPrivateProfileInt( cfgName, _T("SHOW_PASS"), 0, ac->iniFile ));
  17. aac->showPass = FALSE;
  18. aac->threshold = ( 0 != GetPrivateProfileInt( cfgName, _T("THRESHOLD"), 1, ac->iniFile ));
  19. aac->dithering = !aac->threshold;
  20. aac->timeOut = GetPrivateProfileInt( cfgName, _T("TIMEOUT"), 1000, ac->iniFile );
  21. if( aac->timeOut < 1000 )
  22. aac->timeOut = 1000;
  23. GetPrivateProfileString( cfgName, _T("USER_NAME"), NULL, aac->userName, ARRAYSIZE(aac->userName), ac->iniFile );
  24. GetPrivateProfileString( cfgName, _T("USER_PASS"), NULL, aac->userPass, ARRAYSIZE(aac->userPass), ac->iniFile );
  25. GetPrivateProfileString( cfgName, _T("SERV_NAME"), _T("www.popfax.com"), aac->servName, ARRAYSIZE(aac->servName), ac->iniFile );
  26. GetPrivateProfileString( cfgName, _T("OBJ_NAME"), _T("api/api-server.php"), aac->objName, ARRAYSIZE(aac->objName), ac->iniFile );
  27. GetPrivateProfileString( cfgName, _T("LOGO"), _T("en_logo.gif"), aac->logo, ARRAYSIZE(aac->logo), ac->iniFile );
  28. GetPrivateProfileString( cfgName, _T("SUBSCRIBE"), _T("http://www.popfax.com/"), aac->subscribe, ARRAYSIZE(aac->subscribe), ac->iniFile );
  29. GetPrivateProfileString( cfgName, _T("DELIMITER"), _T(","), aac->delim, ARRAYSIZE(aac->delim), ac->iniFile );
  30. if( 0 == _tcsicmp( _T("TAB"), aac->delim ) )
  31. {
  32. aac->delim[0] = _T(' ');
  33. aac->delim[1] = _T('');
  34. }
  35. SHGetFolderPath( NULL, CSIDL_PERSONAL|CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, tmp );
  36. GetPrivateProfileString( cfgName, _T("LAST_DIR_ADD_MASS_FILE"), tmp, aac->dirAddFile, ARRAYSIZE(aac->dirAddFile), ac->iniFile );
  37. if( 0 == _tcslen( aac->dirAddFile ) )
  38. _tcscpy_s( aac->dirAddFile, ARRAYSIZE(aac->dirAddFile), tmp );
  39. if( NULL == _tcsrchr( aac->logo, _T(':') ) )
  40. {
  41. _tcscpy_s( aac->logo, ARRAYSIZE(aac->logo), ac->workPath );
  42. GetPrivateProfileString( cfgName, _T("LOGO"), _T("en_logo.gif"), aac->logo+_tcslen(aac->logo), ARRAYSIZE(aac->logo)-_tcslen(aac->logo), ac->iniFile );
  43. }
  44. }
  45. return ret;
  46. }
  47. BOOL WINAPI save_config( LPAPPCONFIG ac )
  48. {
  49. BOOL ret = FALSE;
  50. LPADDITIONALCONFIG aac = NULL;
  51. TCHAR num[30] = _T("");
  52. if( (NULL != ac) && (NULL != (aac = (LPADDITIONALCONFIG)ac->addParam)) )
  53. {
  54. WritePrivateProfileString( cfgName, _T("SHOW_ADVANCED"), aac->showAdvanced?_T("1"):_T("0"), ac->iniFile );
  55. WritePrivateProfileString( cfgName, _T("SAVE_PASS"), aac->savePass?_T("1"):_T("0"), ac->iniFile );
  56. WritePrivateProfileString( cfgName, _T("CLOSE_WND"), aac->closeWnd?_T("1"):_T("0"), ac->iniFile );
  57. WritePrivateProfileString( cfgName, _T("TRANSITION_REPORT"), aac->transmReport?_T("1"):_T("0"), ac->iniFile );
  58. WritePrivateProfileString( cfgName, _T("TRANSITION_REPORT_ATTACH"), aac->transmReportAttach?_T("1"):_T("0"), ac->iniFile );
  59. WritePrivateProfileString( cfgName, _T("SHOW_PASS"), aac->showPass?_T("1"):_T("0"), ac->iniFile );
  60. WritePrivateProfileString( cfgName, _T("DITHERING"), aac->dithering?_T("1"):_T("0"), ac->iniFile );
  61. WritePrivateProfileString( cfgName, _T("THRESHOLD"), aac->threshold?_T("1"):_T("0"), ac->iniFile );
  62. _itot_s( aac->timeOut, num, ARRAYSIZE(num), 10);
  63. WritePrivateProfileString( cfgName, _T("TIMEOUT"), num, ac->iniFile );
  64. WritePrivateProfileString( cfgName, _T("USER_NAME"), aac->userName, ac->iniFile );
  65. WritePrivateProfileString( cfgName, _T("USER_PASS"), ( aac->savePass )?aac->userPass:_T(""), ac->iniFile );
  66. WritePrivateProfileString( cfgName, _T("SERV_NAME"), aac->servName, ac->iniFile );
  67. WritePrivateProfileString( cfgName, _T("OBJ_NAME"), aac->objName, ac->iniFile );
  68. WritePrivateProfileString( cfgName, _T("SUBSCRIBE"), aac->subscribe, ac->iniFile );
  69. WritePrivateProfileString( cfgName, _T("LOGO"), aac->logo, ac->iniFile );
  70. WritePrivateProfileString( cfgName, _T("DELIMITER"), (( _T(' ') == aac->delim[0])?_T("TAB"):aac->delim), ac->iniFile );
  71. WritePrivateProfileString( cfgName, _T("LAST_DIR_ADD_MASS_FILE"), aac->dirAddFile, ac->iniFile );
  72. }
  73. return ret;
  74. }