⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 log.pas

📁 千年源代码,只缺少控件,可以做二次开发用,好不容易得来的
💻 PAS
字号:
unit Log;

interface

uses
   Windows, SysUtils, Classes, Dialogs;

type

   // 霸烙 肺弊甫 扁废窍扁 困茄 努贰胶
   TLog = class
   private
      AppName : String;    // Application 疙
      FileName : String;   // 肺弊 颇老疙
      LogLevel : Integer;  // 肺弊饭骇 0捞搁 扁废窍瘤 臼澜
      boFirst : Boolean;
   public
      constructor Create (aname, fname : String; level : Integer);
      destructor Destroy; override;

      procedure WriteLog(level : Integer; Str : String);

   end;

var
   LogObj : TLog;

implementation

constructor TLog.Create (aname, fname : String; level : Integer);
{
var
   Stream : TFileStream;
   flag : Boolean;
}
begin
   if level > 0 then ShowMessage ('log 扁废吝');
   AppName := aname;
   FileName := fname;
   LogLevel := level;
   boFirst := TRUE;
end;

destructor TLog.Destroy;
begin
   WriteLog(1, AppName + ' 肺弊 扁废 辆丰');
   inherited Destroy;
end;

procedure TLog.WriteLog(level : Integer; Str : String);
var
   Stream : TFileStream;
   WritedStr : String;
   WritedArray : array[0..256] of Char;
begin
   if (LogLevel = 0) or (LogLevel < level) then Exit;

   if boFirst = TRUE then begin
      WritedStr := Format ('[%s] %s%s%s', [DateTimeToStr(Now), AppName + ' 肺弊 扁废 矫累', Char(10), Char(13)]);
      StrPCopy (WritedArray, WritedStr);

      try
         DeleteFile(FileName);

         Stream := TFileStream.Create(FileName, fmCreate);
         Stream.Seek (0, soFromEnd);
         Stream.WriteBuffer (WritedArray, StrLen(WritedArray));
         Stream.Free;
      except
         on EFOpenError do;
         on EWriteError do;
      end;
      boFirst := FALSE;
   end;

   WritedStr := Format ('[%s] %s%s%s', [DateTimeToStr(Now), Str, Char(10), Char(13)]);
   StrPCopy (WritedArray, WritedStr);

   try
      Stream := TFileStream.Create(FileName, fmOpenReadWrite);
      Stream.Seek (0, soFromEnd);
      Stream.WriteBuffer (WritedArray, StrLen(WritedArray));
      Stream.Free;
   except
      on EFOpenError do;
      on EWriteError do;
   end;
end;

Initialization;
begin
   LogObj := TLog.Create('玫斥 努扼捞攫飘', '1000Y.Log', 0);
end;

Finalization;
begin
   if LogObj <> nil then LogObj.Free;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -