logfile.int

来自「是和Delphi 编程精选集锦书本配套的源码」· INT 代码 · 共 82 行

INT
82
字号

{*******************************************************}
{                                                       }
{          Logbook file manager library                 }
{                                                       }
{          Copyright(c) 2000,   Su Chengxiang           }
{                                                       }
{*******************************************************}

Unit LogFile;

{$R-}

Interface

uses Windows, Classes, SysUtils, SuObject;

type
  THourMinSec = record
    Hour,
    Min,
    Sec: Word;
   end;

{ TLogFile }
{ |-----------+----------+---------------------------|        }
{ FBuffer     FBufPos1   FBufPos2            FBuffer+FBufSize }

  PLogFile = ^TLogFile;
  TLogFile = Object(TSObject)
  private
    FFileName: string;
    FBuffer: PChar;
    FBufSize: DWord;
    FLoadFromDisk: Boolean;
  public
    FBufPos1: PChar;
    FBufPos2: PChar;
    FLineBuffer: PChar;
    constructor Create(FName: shortstring);
    destructor Destroy; virtual;
    procedure LoadFile;
    procedure StoreFile;
    procedure CopyBuffer(var ABuf: PChar);
    function IsFileLoaded: Boolean;
    function CountBufLines: Word;
    function GetLineStart(LineNum: Word): PChar;
    procedure GetALine(LineNum: Word);
    procedure SetLineBuf(Line: PChar);
    procedure SetBufPos(Pos: PChar);
    function SubStrCount(LineNum: Word): Word;
    function GetSubStr(LineNum, Index: Word): ShortString;
    property FileName: string read FFileName;
  end;

{ TDateTimeLogoFile }

  PDateTimeLogFile = ^TDateTimeLogFile;
  TDateTimeLogFile = object(TLogFile)
    FStartUpTime,
    FShutDownTime: TDateTime;
    constructor Create(FName: shortstring);
    //destructor Destroy; virtual;
    procedure WriteStartUpTime;
    procedure WriteShutDownTime;
   Private
    FRunTime: THourMinSec;
    function StrToHourMinSec(AStr: ShortString; var HourMinSec: THourMinSec): Boolean;
    function HourMinSecToStr(HourMinSec: THourMinSec; HasSec: Boolean): ShortString;
    function GetLastTotalTime: THourMinSec;
    function CalcuRunTime: THourMinSec;
    function CalcuTotalTime: THourMinSec;
  end;

var
  StartUpTime: TDateTime;

Implementation

end.

⌨️ 快捷键说明

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