STANDARD.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:4k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //*---------------------------------------------------------------------------------
  2. //|  ODBC System Administrator
  3. //|
  4. //|  This code is furnished on an as-is basis as part of the ODBC SDK and is
  5. //|  intended for example purposes only.
  6. //|
  7. //|   Title:   STANDARD.H
  8. //|      This module contains standard includes which are required by many modules.
  9. //|         This include file is not specific for any tool.
  10. //|   Notes:
  11. //|      1) If using this file for a DLL, #define STANDARD_DLL, otherwise it is
  12. //|            assumed that it is being used for a Windows application.
  13. //*---------------------------------------------------------------------------------
  14. #ifndef STANDARD_DEFS
  15. #define STANDARD_DEFS
  16. #include <windows.h>
  17. #include "sql.h"
  18. #include "sqlext.h"
  19. //----------------------------------------------------------------------------------
  20. //    Defines and macros
  21. //----------------------------------------------------------------------------------
  22. #define TEMP_SIZE    50
  23. #define MAX_BUFF     1000
  24. #define  MAXBUFF           256
  25. #define  MAXFILEBUFF       32000
  26. #define  DFTBUFFSIZE       30
  27. #define  LARGEBUFF         65535
  28. //
  29. // When calling ODBC functions, you should allow for the case where
  30. // SQL_SUCCESS_WITH_INFO was returned.  Unless you want to see the informational
  31. // SQL state, you should treat these as the same.  The following macros are
  32. // handy to do just that.
  33. //
  34. #define RC_SUCCESSFUL(rc)  (rc == SQL_SUCCESS || rc == SQL_SUCCESS_WITH_INFO)
  35. #define RC_NOTSUCCESSFUL(rc) (!(RC_SUCCESSFUL(rc)))
  36. //
  37. // Win 3.x specific items
  38. //
  39. #ifndef WIN32
  40. #define INTFUN FAR PASCAL
  41. #define EXTFUN FAR PASCAL __export
  42. #define dCSEG(type) const type _based(_segname("_CODE"))
  43. //
  44. // 32-bit stuff
  45. //
  46. #else
  47. #define MoveTo(hdc, x, y)        MoveToEx(hdc, x, y, NULL)
  48. #define dCSEG(type) const type
  49. #define INTFUN WINAPI
  50. #define EXTFUN WINAPI
  51. #define WRITE     OF_WRITE
  52. #define READ      OF_READ
  53. #endif
  54. #ifdef WIN32
  55. #else
  56. #endif
  57. #define VSZFile static char vszFile[]=__FILE__;
  58. #ifdef _DEBUG
  59. #define DEBUGMSG(msg) OutputDebugString((LPSTR)msg)
  60. #else
  61. #define DEBUGMSG(msg)
  62. #endif
  63. #ifdef _DEBUG
  64. void FAR * DebugGetMemory(DWORD size, LPSTR szFile, int cbLine);
  65. void DebugReleaseMemory(LPVOID ptr, LPSTR szFile, int cbLine);
  66. void WinAssertReal(int exp, LPSTR msg, LPSTR file, int line);
  67. #define WinAssert(exp, msg)                                             
  68.          WinAssertReal(exp, msg, vszFile, __LINE__);
  69. #define GetMemory(size) DebugGetMemory(size, vszFile, __LINE__)
  70. #define ReleaseMemory(size) DebugReleaseMemory(size, vszFile, __LINE__)
  71. #define DEBUGADDR(title, hwnd, ptr)                                                                      
  72.    {                                                                                                     
  73.    static char szTmp[100];                                                                               
  74.    wsprintf(szTmp, "%s, hwnd: %04X, ptr: %04X:%04X", (LPSTR)title, hwnd, HIWORD(ptr), LOWORD(ptr));      
  75.    DEBUGMSG(szTmp);                                                                                      
  76.    }
  77. #else
  78. #define  WinAssert(exp, msg)
  79. #define GetMemory(size) DoGetMemory(size)
  80. #define ReleaseMemory(size) DoReleaseMemory(size)
  81. #define DEBUGADDR(p1,p2,p3)
  82. #endif
  83. #define NumItems(s) (sizeof (s) / sizeof(s[0]))
  84. #define ABS(val) ((val < 0) ? (val * -1) : (val))
  85. //*---------------------------------------------------------------------------------
  86. //|   Global variables
  87. //*---------------------------------------------------------------------------------
  88. dCSEG(char) szui[];
  89. dCSEG(char) szEmpty[];
  90. //*---------------------------------------------------------------------------------
  91. //|   Function prototypes
  92. //*---------------------------------------------------------------------------------
  93. void FAR * DoGetMemory(DWORD size);
  94. void DoReleaseMemory(LPVOID ptr);
  95. void RemoveCrLf(LPSTR instr);
  96. void GetNewDirectory(LPSTR outstr, LPSTR instr);
  97. BOOL ValidName(LPSTR instr);
  98. int lpatoi(LPSTR instr);
  99. LPSTR EXTFUN GetidsString(UINT ids, LPSTR szOut, UINT cbSize);
  100. VOID FAR CDECL szWrite(HWND hwnd, LPSTR szFmt, ...);
  101. int FAR CDECL szMessageBox(HWND hwnd, UINT style, LPSTR szTitle, LPSTR szFmt, ...);
  102. #endif