AsphyreDebug.pas
上传用户:ctlcnc
上传日期:2021-12-10
资源大小:4933k
文件大小:4k
源码类别:

2D图形编程

开发平台:

Delphi

  1. unit AsphyreDebug;
  2. //---------------------------------------------------------------------------
  3. // AsphyreDebug.pas                                     Modified: 08-Jan-2007
  4. // Utility routines for debugging Asphyre applications            Version 1.0
  5. //---------------------------------------------------------------------------
  6. // The contents of this file are subject to the Mozilla Public License
  7. // Version 1.1 (the "License"); you may not use this file except in
  8. // compliance with the License. You may obtain a copy of the License at
  9. // http://www.mozilla.org/MPL/
  10. //
  11. // Software distributed under the License is distributed on an "AS IS"
  12. // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
  13. // License for the specific language governing rights and limitations
  14. // under the License.
  15. //---------------------------------------------------------------------------
  16. interface
  17. //---------------------------------------------------------------------------
  18. {$include Asphyre4.inc}
  19. //---------------------------------------------------------------------------
  20. // Enable the following option to dump debug text to Delphi's event console.
  21. //---------------------------------------------------------------------------
  22. {$DEFINE UseOutputDebugString}
  23. //---------------------------------------------------------------------------
  24. // Enable the following option to dump debug text to external file.
  25. // The file will have the same name as the application, ending with ".log".
  26. //---------------------------------------------------------------------------
  27. {$DEFINE UseLogFile}
  28. //---------------------------------------------------------------------------
  29. {$i-}
  30. //---------------------------------------------------------------------------
  31. {$IFDEF UseOutputDebugString}
  32. uses
  33.  Windows, SysUtils;{$ENDIF}
  34. //---------------------------------------------------------------------------
  35. {$IFDEF DebugMode}
  36. procedure DebugLog(const Text: string);
  37. {$ENDIF}
  38. //---------------------------------------------------------------------------
  39. implementation
  40. //---------------------------------------------------------------------------
  41. {$IFDEF UseLogFile}
  42. var
  43.  LogFile: TextFile;
  44. {$ENDIF}
  45. //---------------------------------------------------------------------------
  46. {$IFDEF UseLogFile}
  47. procedure InitializeLog();
  48. begin
  49.  AssignFile(LogFile, ChangeFileExt(ParamStr(0), '.log'));
  50.  ReWrite(LogFile);
  51.  WriteLn(LogFile, 'Executed name: ' + ExtractFileName(ParamStr(0)));
  52.  WriteLn(LogFile, 'Executed date: ' + DateTimeToStr(Now()));
  53.  WriteLn(LogFile, '-------------------- ENTRY -----------------------');
  54.  CloseFile(LogFile);
  55. end;
  56. {$ENDIF}
  57. //---------------------------------------------------------------------------
  58. {$IFDEF UseLogFile}
  59. procedure FinalizeLog();
  60. begin
  61.  Append(LogFile);
  62.  WriteLn(LogFile, '-------------------- EXIT ------------------------');
  63.  CloseFile(LogFile);
  64. end;
  65. {$ENDIF}
  66. //---------------------------------------------------------------------------
  67. {$IFDEF DebugMode}
  68. procedure DebugLog(const Text: string);
  69. begin
  70.  {$IFDEF UseOutputDebugString}
  71.  OutputDebugString(PChar(Text));
  72.  {$ENDIF}
  73. {$IFDEF UseLogFile}
  74.  Append(LogFile);
  75.  WriteLn(LogFile, Text);
  76.  CloseFile(LogFile);
  77.  {$ENDIF}
  78. end;
  79. {$ENDIF}
  80. //---------------------------------------------------------------------------
  81. initialization
  82.  {$IFDEF DebugMode}
  83.  {$IFDEF UseLogFile}
  84.  InitializeLog();
  85.  {$ENDIF}
  86.  {$ENDIF}
  87. //---------------------------------------------------------------------------
  88. finalization
  89.  {$IFDEF DebugMode}
  90.  {$IFDEF UseLogFile}
  91.  FinalizeLog();
  92.  {$ENDIF}
  93.  {$ENDIF}
  94. //---------------------------------------------------------------------------
  95. end.