mydefine.pas

来自「文件同步备份工具」· PAS 代码 · 共 84 行

PAS
84
字号
unit MyDefine;

interface

uses
  SysUtils, INIFiles, Classes, MySystem;

const
  _INIFILE: String = 'MyInphase.ini';

type
  TTaskInfo = record
    Index: Word;
    SourceDir: String;
    DestDir: String;
  end;

var
  INI: TINIFile;

procedure LinkINIFile;
procedure UnLinkINIFile;

function GetATaskInfo(const Index: Word): TTaskInfo;
function GetTaskCount: Word;
procedure WriteTaskCount(AInc: SmallInt);
function GetFileSize(const FileName: string): LongInt;

implementation

function GetFileSize(const FileName: string): LongInt;
var
  SearchRec: TSearchRec;
begin
  try
    if FindFirst(ExpandFileName(FileName), faAnyFile, SearchRec) = 0 then
      Result := SearchRec.Size
    else Result := -1;
  finally
    SysUtils.FindClose(SearchRec);
  end;
end;

function GetTaskCount: Word;
begin
  Result := INI.ReadInteger('Task', 'Count', 0);
end;

procedure WriteTaskCount(AInc: SmallInt);
var
  NowCount: Word;
begin
  NowCount := GetTaskCount + AInc;
  INI.WriteInteger('Task', 'Count', NowCount);
end;

procedure LinkINIFile;
begin
  INI := TINIFile.Create(GetApplicationPath + _INIFILE);
end;

function GetATaskInfo(const Index: Word): TTaskInfo;
var
  T: String;
begin
  T := 'Task' + IntToStr(Index);
  Result.Index := INI.ReadInteger(T, 'Index', 0);
  Result.SourceDir := INI.ReadString(T, 'SourceDir', '');
  Result.DestDir := INI.ReadString(T, 'DestDir', '');
end;

procedure UnLinkINIFile;
begin
  INI.Free;
end;

initialization
  LinkINIFile;

finalization
  UnLinkINIFile;

end.

⌨️ 快捷键说明

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