Global.h 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392
  1. // Global.h : 应用程序的全局变量、函数头文件
  2. //
  3. // 代码生成在 2014年9月25日, 09:55
  4. #ifndef __LYFZ_SERVERINFO_HEADER__
  5. #define __LYFZ_SERVERINFO_HEADER__
  6. #include <vector>
  7. #include <string>
  8. #include <shlwapi.h>
  9. #include <gdiplus.h> ////请修改为你的头文件路径
  10. using namespace Gdiplus;
  11. #pragma comment(lib, "gdiplus.lib") ////请修改为你的.lib文件路径
  12. #pragma once
  13. #define JEFF_TEST_ON 1 // 用于Jeff本人测试标识;
  14. #define JEFF_TEST_OFF 0 // 用于Jeff本人测试标识;
  15. #define JEFF_DELETE_ON 0 // 用于Jeff本人指示某段代码标识为删除状态;
  16. #define JEFF_DELETE_OFF 1 // 用于Jeff本人解除某段代码的删除状态;
  17. // 代码区分;
  18. #define JEFF_CODE 1 // 用于本人Jeff的代码标识;
  19. #define FORMER_CODE 1 // 以前的代码;
  20. #define CHILD_VERSION_LIMIT 0 // 儿童座席版;
  21. #define WDRESS_VERSION_LIMIT 1 // 婚纱座席版;
  22. #define ENTERPISE_VERSION_CHILD 2 // 儿童企业版;
  23. #define ENTERPISE_VERSION_WDRESS 3 // 婚纱企业版;
  24. #define CHILD_VERSION_OMNI 4 // 儿童全能版;
  25. #define WDRESS_VERSION_OMNI 5 // 婚纱全能版;
  26. #define CHILD_VERSION ((g_nVersion%2==0)?1:0) // g_nVersion%2==0表示儿童版;
  27. #define ENTERPRIS_VERSION ((g_nVersion==2||g_nVersion==3)?1:0) // ==1企业版
  28. // Import or Export Image Typed
  29. typedef enum
  30. {
  31. ImageType_Original = 1,
  32. ImageType_Early = 2,
  33. ImageType_Further = 3,
  34. ImageType_Design = 4
  35. }IE_IMAGETYPE;
  36. #if JEFF_CODE
  37. // Jeff.-------------------------------------------------------------------------------
  38. extern CString g_strServerIP;
  39. extern int g_nVersion;
  40. extern WORD g_arrFileVersion[4];
  41. extern TCHAR g_szLoginUser[MAX_PATH]; // 当前软件的登陆用户名;
  42. extern TCHAR g_szLoginPsw[MAX_PATH]; // 当前软件的登陆密码;
  43. extern TCHAR g_szModulePath[MAX_PATH]; // 软件目录;
  44. extern TCHAR g_szModuleFileName[MAX_PATH]; // 软件全名称;
  45. extern TCHAR g_szConnectString[MAX_PATH]; // DB连接串;
  46. extern TCHAR g_szHostComputerIP[MAX_PATH]; // 服务端主机名称;
  47. extern DWORD g_dwNICP ; // 多网卡时的网卡索引号;
  48. extern DWORD g_dwTCPChatPort; // 服务端主机通信TCP端口;
  49. extern DWORD g_dwTCPFilePort; // 服务端主机文件传输端口;
  50. extern TCHAR g_szSMSServer[MAX_PATH]; // 短信服务端主机名称;
  51. extern DWORD g_dwTCPSMSPort; // 短信服务端主机通信端口;
  52. // 服务器信息;
  53. extern TCHAR g_szDBSource[MAX_PATH]; // 数据库源(服务所在IP或计算机名);
  54. extern TCHAR g_szDBSourcePort[MAX_PATH]; // 数据库源端口;
  55. extern DWORD g_dwDBServerPort; // 数据库源端口;
  56. extern TCHAR g_szDBAccount[MAX_PATH]; // 数据库登录用户;
  57. extern TCHAR g_szDBPassWord[MAX_PATH]; // 数据库登录密码;
  58. extern TCHAR g_szDBName[MAX_PATH]; // 数据库名称;
  59. // SMScfg.ini中的加密狗类型信息;
  60. extern DWORD g_dwEncryType ; // 加密狗类型;
  61. extern TCHAR g_szShareHost[MAX_PATH];
  62. extern TCHAR g_szOriginalFolder[MAX_PATH];
  63. extern TCHAR g_szOriginalBkFolder[MAX_PATH];
  64. extern TCHAR g_szEarlyRepairFolder[MAX_PATH];
  65. extern TCHAR g_szEarlyRepairBkFolder[MAX_PATH];
  66. extern TCHAR g_szFurtherRepairFolder[MAX_PATH];
  67. extern TCHAR g_szFurtherRepairBkFolder[MAX_PATH];
  68. extern TCHAR g_szDesignFolder[MAX_PATH];
  69. extern TCHAR g_szDesignBkFolder[MAX_PATH];
  70. extern TCHAR g_szTelRecordingFolder[MAX_PATH];
  71. extern TCHAR g_szFullDressImageFolder[MAX_PATH];
  72. #endif
  73. //------------------------------------------------------------------------------------------------------------
  74. #if FORMER_CODE
  75. extern BOOL g_bSoftWareReg;
  76. extern CString g_strDogMainInfo;
  77. extern CString g_strMain;
  78. extern CStringArray g_strArrayOfBranchName;
  79. extern CStringArray g_strArrayOfBranchName2;
  80. extern CStringArray g_strArrayOfBranchIPAdress;
  81. extern CStringArray g_strArrayOfBranchDogMainInfo;
  82. extern unsigned int g_nCountOfAllowToConn;
  83. extern DWORD g_nLeng;
  84. extern BYTE *g_pData;
  85. extern DWORD g_nLeng2;
  86. extern BYTE *g_pData2;
  87. //extern SENDHEAD g_sendhead;
  88. extern BOOL g_bRedSkin;
  89. extern COLORREF g_gridcol1;
  90. extern COLORREF g_gridcol2;
  91. extern COLORREF g_bkcol;
  92. extern CString g_date; // 连接服务端时由服务端产生的CTime::GetCurrentTime().Format("%Y-%m-%d %H:%M:%S");
  93. extern CString g_title;
  94. extern CArray<CStringArray, CStringArray>g_userarray;
  95. extern CArray<CStringArray, CStringArray>g_cominfoarray;
  96. extern CArray<CStringArray, CStringArray>g_cominfoarraylocal;
  97. extern CArray<DWORD, DWORD>g_lengarray;
  98. extern CArray<DWORD, DWORD>g_btnlengarray;
  99. extern CArray<BYTE*, BYTE*>g_pointerarray;
  100. extern CBrush g_editbkbrush;
  101. extern DWORD g_btnleng[8];
  102. extern int g_btnlengpos;
  103. extern int g_nYearpos; // 是[historydb]表记录索引,即g_hisyeararray元素位置;
  104. extern CString g_branchname; // Jeff.集团版:????本分店名称;
  105. extern CString g_branchip;
  106. extern CString g_branchip2;
  107. extern BOOL g_bBranchModify;
  108. extern BOOL g_bShowOK; // Jeff:?
  109. extern BOOL g_bStaffAchievementShow; // 此机用于员工业绩查看;
  110. extern BOOL g_bSaveUploadTask1;
  111. extern BOOL g_bSaveUploadTask2;
  112. extern BOOL g_bSaveUploadTask3;
  113. extern BOOL g_bSaveUploadTask4;
  114. extern BOOL g_bSearchFilter; // 条件查询开关; == TRUE 开启条件查询, == FALSE 关闭条件查询;
  115. extern CString g_waiter1;
  116. extern CString g_waiter2;
  117. extern CString g_waiter3;
  118. extern CString g_waiter4;
  119. extern CString g_waiter5;
  120. extern CString g_filterdate1;
  121. extern CString g_filterdate2;
  122. extern CString g_filterdate3;
  123. extern CString g_filterdate4;
  124. extern CString g_filterdate5;
  125. extern CString g_filterdate6;
  126. extern CString g_filterbranch;
  127. //extern USER g_user;
  128. extern CString g_mainpath; // 软件目录
  129. extern CString g_id; //
  130. extern CString g_server; // 服务端地址
  131. extern CStringArray g_serverarray; //
  132. extern CString g_serverbak; //
  133. extern CString g_path1; /* 共享目录 <客户原片(管理软件)$> 如:"\\lyfz-pc\客户原片(管理软件)$" */
  134. extern CString g_path2; /* 共享目录 <修好的片(管理软件)$> 如:"\\lyfz-pc\修好的片(管理软件)$" */
  135. extern CString g_path3; /* 共享目录 <设计好的片(管理软件$)> 如:""> */
  136. extern CString g_path4; /* 共享目录 <精修好的片(管理软件$)> 如:""> */
  137. extern CString g_path5; /* 共享目录 <礼服图片(管理软件$)> 如:""> */
  138. extern CString g_path6; /* 共享目录 <电话录音(管理软件$)> 如:""> */
  139. extern CString g_path7; /* 共享目录 <客户原片(管理软件$)\效果图> 如:""> */
  140. extern CString g_path1bak;
  141. extern CString g_path2bak;
  142. extern CString g_path3bak;
  143. extern CString g_path4bak;
  144. extern CString g_path5bak;
  145. extern CString g_path6bak;
  146. extern CString g_path7bak;
  147. extern CDatabase g_db;
  148. extern DWORD g_ncount;
  149. extern CFont g_titlefont;
  150. extern DWORD g_nSendCode;
  151. extern BOOL g_bSendOK;
  152. extern CArray<CStringArray, CStringArray>g_hisyeararray; // 表[historydb]里的记录;
  153. extern CArray<CStringArray, CStringArray>g_brancharray;
  154. extern CArray<CStringArray, CStringArray>g_oldclientarray;
  155. extern CArray<CStringArray, CStringArray>g_List1array;
  156. extern BOOL g_bNoConnDlg;
  157. extern BOOL g_bInSkin;
  158. extern int g_conntype;
  159. extern BOOL g_bGenBranchData;
  160. extern CString g_temp;
  161. extern BOOL g_bSortAscending;
  162. extern CFont g_listctrlfont;
  163. extern float g_fscalex;
  164. extern float g_fscaley;
  165. extern int g_screenwid; // 桌面宽
  166. extern int g_screenhei; // 桌面高
  167. extern float g_WidthScale; // 宽刻度Jeff
  168. extern float g_HeightScale; // 高刻度Jeff
  169. //extern RESDATA2 g_resdata2;
  170. extern BOOL g_bAlphaWnd;
  171. extern BYTE g_bNeedDrawParent;
  172. extern BOOL g_bAllBranch;
  173. extern CString g_domain;
  174. extern CString g_sInfo;
  175. extern int g_ncot;
  176. extern int g_conpos;
  177. extern int g_nAutoShowStaffAchievement;
  178. extern BOOL g_bShowBar;
  179. extern int g_bookingtype;
  180. extern BOOL g_bNoLoginLia;
  181. extern BOOL g_bConnLYFZ;
  182. extern BOOL g_bSendLYFZ;
  183. extern int g_ntimeout;
  184. extern float g_WidthScale;
  185. extern float g_HeightScale;
  186. extern int g_dx;
  187. extern int g_dy;
  188. extern BOOL g_bNeedCoon;
  189. extern float g_WidthScale2;
  190. extern float g_HeightScale2;
  191. extern CStringArray g_menubranchname;
  192. #endif
  193. //-----------------------------------------------------------------------------------------------------------------
  194. #if FORMER_CODE
  195. extern void LoadImageFromBuf(Bitmap **img, BYTE *pData, DWORD leng);
  196. extern void LoadImageFromBuf(Image **img, BYTE *pData, DWORD leng);
  197. extern void LoadImageFromBuf(Image **img, CString path);
  198. extern void LoadImageFromBuf(Bitmap **img, CString path);
  199. extern void LoadImageFromRes(Image **img, LPCTSTR lpszResourceName, LPCTSTR ResourceType);
  200. extern int GetOrientation(Image *image);
  201. extern int GetEncoderClsid(const WCHAR* format, CLSID* pClsid);
  202. extern void LoadImageFromFile(Image **img, CString path);
  203. extern void LoadImageFromFile(Bitmap **img, CString path);
  204. extern void SaveImageToFile(Image *img, CString path);
  205. extern void SaveImageToFile2(Image *img, CString path, ULONG quality);
  206. extern void IsWaiter2(CString id, CString name, CArray<CStringArray, CStringArray>*waiterarray, BOOL &bWait1, BOOL &bWait2, float &fscale1, float &fscale2, BOOL bCheckDate, CString date1, CString date2);
  207. extern void IsWaiter3(CString id, CString name, CArray<CStringArray, CStringArray>*waiterarray, BOOL &bWait1, BOOL &bWait2, float &fscale1, float &fscale2);
  208. extern CString GetNameFromDomain(CString domain);
  209. extern void GetSavePath(CString &path);
  210. extern CString GetW(CString str);
  211. extern CString GetK(CString str);
  212. extern CString GetB(CString str);
  213. extern CString GetS(CString str);
  214. extern CString GetG(CString str);
  215. extern CString GetHMoney(CString str);
  216. extern int GetYearPos(int year);
  217. extern void FillLength(CString &str, int length);
  218. extern BOOL IsDigit(CONST CString &str);
  219. extern BOOL IsHasRightsnew2(int pos, CString rights);
  220. extern CString GetIP(CString branch);
  221. extern void WriteTitle(CString str);
  222. extern BOOL IsHanZi(CString str);
  223. extern int GetType(CString str);
  224. extern CString FilterBZ(CString &bz);
  225. extern BOOL GIsHalfHZ(const CString &str);
  226. extern void RectFitDes(int width, int height, CRect &rc);
  227. extern bool CheckFolderFileExist(CString &strPath);
  228. extern int GetLengthEx(CString str);
  229. extern BOOL IsHasRights(int pos);
  230. extern BOOL IsHasRights2(int pos);
  231. extern BOOL IsHasRightsnew(int pos);
  232. extern BOOL IsHasRights2new(int pos);
  233. extern void FirstLetter(int nCode, CString& strLetter);
  234. extern void GetFirstLetter(CString strName, CString& strFirstLetter);
  235. extern CString newGUID();
  236. extern void ConvertToPrice(CString &str);
  237. extern DWORD FindAppProcessID(CString path);
  238. extern BOOL isInnerIP(DWORD a_ip);
  239. extern void MyGetIPByName(CString &name);
  240. extern WCHAR* GetIPbyHostName(LPCCH lpHostname);
  241. extern void MyGetIPByName2(LPCCH lpHostname);
  242. extern void MyGetIPByName2(CString &name);
  243. extern CTime GetTmFromStr(CString date);
  244. extern CString GetBranchPhotoPath(CString branch);
  245. extern CString GetDomainFromBranch(CString branch);
  246. extern BOOL CheckDateOK2(CString str);
  247. extern BOOL CheckBadWords(CString str, BOOL bMsg = 0);
  248. extern int CheckPhoneType(CONST CString &phoneno);
  249. extern BOOL CheckDateOK(CString &str);
  250. extern int FindArray(CStringArray *pArray, const CString &Str);
  251. extern BOOL WaitWithMessageLoop(HANDLE hEvent, int nTimeout);
  252. extern void DeleteDirectory(CString strDir);
  253. extern void DataToArray(
  254. CArray<CStringArray, CStringArray>*pArrayOfString,
  255. int datapos = -1);
  256. extern void DataToArray(
  257. CArray<CStringArray, CStringArray>*pArrayOfString1,
  258. CArray<CStringArray, CStringArray>*pArrayOfString2,
  259. int datapos = -1);
  260. extern void DataToArray(
  261. CArray<CStringArray, CStringArray>*pArrayOfString1,
  262. CArray<CStringArray, CStringArray>*pArrayOfString2,
  263. CArray<CStringArray, CStringArray>*pArrayOfString3,
  264. int datapos = -1);
  265. extern void DataToArray(
  266. CArray<CStringArray, CStringArray>*pArrayOfString1,
  267. CArray<CStringArray, CStringArray>*pArrayOfString2,
  268. CArray<CStringArray, CStringArray>*pArrayOfString3,
  269. CArray<CStringArray, CStringArray>*pArrayOfString4,
  270. int datapos = -1);
  271. extern void DataToArray(
  272. CArray<CStringArray, CStringArray>*pArrayOfString1,
  273. CArray<CStringArray, CStringArray>*pArrayOfString2,
  274. CArray<CStringArray, CStringArray>*pArrayOfString3,
  275. CArray<CStringArray, CStringArray>*pArrayOfString4,
  276. CArray<CStringArray, CStringArray>*pArrayOfString5,
  277. int datapos = -1);
  278. extern void DataToArray(
  279. CArray<CStringArray, CStringArray>*pArrayOfString1,
  280. CArray<CStringArray, CStringArray>*pArrayOfString2,
  281. CArray<CStringArray, CStringArray>*pArrayOfString3,
  282. CArray<CStringArray, CStringArray>*pArrayOfString4,
  283. CArray<CStringArray, CStringArray>*pArrayOfString5,
  284. CArray<CStringArray, CStringArray>*pArrayOfString6,
  285. int datapos = -1);
  286. extern void DataToArray(
  287. CArray<CStringArray, CStringArray>*pArrayOfString1,
  288. CArray<CStringArray, CStringArray>*pArrayOfString2,
  289. CArray<CStringArray, CStringArray>*pArrayOfString3,
  290. CArray<CStringArray, CStringArray>*pArrayOfString4,
  291. CArray<CStringArray, CStringArray>*pArrayOfString5,
  292. CArray<CStringArray, CStringArray>*pArrayOfString6,
  293. CArray<CStringArray, CStringArray>*pArrayOfString7,
  294. int datapos = -1);
  295. extern void DataToArray(
  296. CArray<CStringArray, CStringArray>*pArrayOfString1,
  297. CArray<CStringArray, CStringArray>*pArrayOfString2,
  298. CArray<CStringArray, CStringArray>*pArrayOfString3,
  299. CArray<CStringArray, CStringArray>*pArrayOfString4,
  300. CArray<CStringArray, CStringArray>*pArrayOfString5,
  301. CArray<CStringArray, CStringArray>*pArrayOfString6,
  302. CArray<CStringArray, CStringArray>*pArrayOfString7,
  303. CArray<CStringArray, CStringArray>*pArrayOfString8,
  304. int datapos = -1);
  305. extern void DataToArray(
  306. CArray<CStringArray, CStringArray>*pArrayOfString1,
  307. CArray<CStringArray, CStringArray>*pArrayOfString2,
  308. CArray<CStringArray, CStringArray>*pArrayOfString3,
  309. CArray<CStringArray, CStringArray>*pArrayOfString4,
  310. CArray<CStringArray, CStringArray>*pArrayOfString5,
  311. CArray<CStringArray, CStringArray>*pArrayOfString6,
  312. CArray<CStringArray, CStringArray>*pArrayOfString7,
  313. CArray<CStringArray, CStringArray>*pArrayOfString8,
  314. CArray<CStringArray, CStringArray>*pArrayOfString9,
  315. CArray<CStringArray, CStringArray>*pArrayOfString10,
  316. int datapos = -1);
  317. #endif
  318. #if JEFF_CODE
  319. extern int GetSoftWareVersion();
  320. //extern int MyFindPort_2(int start, BYTE *InByte, int InLen, char *OutPath);
  321. extern int MyFindPort_2(int start, CONST int &nIndex, int InLen, char *OutPath);
  322. extern inline int MultiByteLengthConvertToWideCharLength(/*LPCSTR*/LPCCH lpString);
  323. extern void lyfzImportImage(LPCTSTR lpDestDirectory, CStringArray &strArrayOfImage, const BOOL &bFailIfExists = TRUE);
  324. extern BOOL lyfzCopyFileEx(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, const BOOL &bFailIfExists = TRUE);
  325. extern BOOL lyfzCreateDirectory(LPCTSTR lpDestDirectory);
  326. extern void lyfzSplitpath(const TCHAR *path, TCHAR *drive, TCHAR *dir, const int &nTimes);
  327. extern void ShowSystemErrorInfo(CString &strDescription, const DWORD &dwError);
  328. extern void WriteClientLog(const CString &strLogContent);
  329. extern BOOL IsDirectoryLegitimate(const CString &strDirectory);
  330. extern void ExportCutImageToFile(LPCTSTR lpOrderCutImageInfo, LPCTSTR lpSrcDirectory, LPCTSTR lpSaveDirectory);
  331. extern BOOL AnalysisImagInfo(CStringArray &saSrcPhoto, LPCTSTR strSrcDirectory, LPCTSTR strSaveDirectory, CString &strImageInfo, CString &strImageName, CString &strCutScheme, CRect &rtCut);
  332. extern int GetCountOfOrderFolderPhotoFile(__in const TCHAR *pOrderFolder, __out CStringArray &StrPhotoArray);
  333. extern int GetTextMsgCount(CONST CString &strContent);
  334. extern CHAR *UnicodeToGB2312(LPCWCH lpWideCharStr);
  335. extern CString GetLastErrorInfo(CONST DWORD &dwError);
  336. extern BOOL RegisterOcx(LPCTSTR ocxfile);
  337. extern BOOL GetDebugPriv();
  338. extern bool GetFileVersion(HMODULE hModule, WORD *pBuffer);
  339. extern BOOL CheckInternalIPV4(const unsigned int &ip_addr);
  340. extern BOOL IsValidIPV4(const TCHAR *szIP);
  341. extern int GetHostAllOfIP(const TCHAR *pHostName, std::vector<std::string> &vtHostIPV4);
  342. extern int GetSysIniInfo(const char *szPath = NULL, const char *szIniName = NULL);
  343. extern int GetSysIniInfo2(const char *szPath = NULL, const char *szIniName = NULL);
  344. extern BOOL IsFileExist(const TCHAR *pFileFullName);
  345. extern int IsExistFolder(CONST TCHAR *szPath);
  346. extern INT AddAutoSysRun(LPBYTE lpExeFile,CONST DWORD &cbExeFile, LPCTSTR lpKeyName, INT iAutoRunSystem);
  347. #endif
  348. //---------------------------------------------------------------------------------------------------------------
  349. #endif