SpDebug.cpp
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. Cross Platform Core Code.
  3. Copyright(R) 2001-2002 Balang Software.
  4. All rights reserved.
  5. Using:
  6. SP_OutputDebugString( LPCSTR );
  7. SP_MessageBox( UINT, LPCSTR, LPCSTR, UINT );
  8. SP_Trace( LPCSTR, ...)
  9. */
  10. #include "StdAfx.h"
  11. void SP_OutputDebugString( LPCSTR lpszDebugString )
  12. {
  13. #ifdef SP_WINDOWS
  14. ::OutputDebugString( lpszDebugString );
  15. #else
  16. fprintf( stderr, "%s", lpszDebugString );
  17. #endif
  18. }
  19. #include "ctype.h"
  20. int SP_MessageBox( UINT hWnd, LPCSTR szTitle, LPCSTR szMsg, UINT uType )
  21. {
  22. #ifdef SP_WINDOWS
  23. return ::MessageBox( (HWND)hWnd, szTitle, szMsg, uType );
  24. #else
  25. fprintf( stderr, "%sn%sn", szTitle, szMsg );
  26. if( (uType&0x000F) == MB_ABORTRETRYIGNORE )
  27. {
  28. lableAgain:
  29. fprintf( stderr, "(A)bort, (R)etry, (I)gnore?" );
  30. int chAnswer = getchar( );
  31. switch( toupper( chAnswer ) )
  32. {
  33. case 'A':
  34. return IDABORT;
  35. case 'R':
  36. return IDRETRY;
  37. case 'I':
  38. return IDIGNORE;
  39. default:
  40. goto lableAgain;
  41. }
  42. }
  43. return IDIGNORE;
  44. #endif
  45. }
  46. #ifdef _DEBUG
  47. void _cdecl SP_Trace(LPCSTR pszFormat, ...)
  48. {
  49. int nBuf;
  50. #ifndef _WINDLL
  51. char szBuffer[512];
  52. #else
  53. static char szBuffer[512];
  54. #endif
  55. char* pszLocalFormat;
  56. #ifdef _NEARDATA
  57. char szFormat[128];
  58. ASSERT(lstrlen(pszFormat) < 128);
  59. lstrcpy(szFormat, pszFormat);
  60. pszLocalFormat = szFormat;
  61. #else
  62. pszLocalFormat = (LPSTR)pszFormat;
  63. #endif
  64. va_list args;
  65. va_start(args, pszFormat);
  66. nBuf = vsprintf(szBuffer, pszLocalFormat, args);
  67. SP_ASSERT(nBuf < sizeof(szBuffer));
  68. SP_OutputDebugString( szBuffer );
  69. }
  70. #else
  71. void _cdecl SP_Trace(LPCSTR pszFormat, ...)
  72. {
  73. }
  74. #endif//_DEBUG