[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]

    unit HomeBase;
    {
      After unit initialization, the variable
      Dir contains the path to the directory
      where the executable is located.
    }
    interface
    uses
      DOS;
    const
      AppName = 'MyProg';
    function IniFileName: PathStr;
    function LogFileName: PathStr;
    {
      etc.  All name conventions reside in
      this unit.
    }
    var
      Dir : DirStr;
      Name: NameStr;
      Ext : ExtStr;
    implementation
    function IniFileName: PathStr;
      begin
        IniFileName := Dir + AppName + '.INI';
      end;
    function LogFileName: PathStr;
      begin
        LogFileName := Dir + AppName + '.LOG';
      end;
    begin {unit init}
    {
      ParamStr(0) returns the path and file
      name of the executing program
      (for example, C:\BP\MYPROG.EXE).
    }
      fSplit(ParamStr(0), Dir, Name, Ext);
    {
      Just in case execution is from the
      current directory and ChDir(Elsewhere)
      is used later.
    }
      if Dir = '' then
      begin
        GetDir(0, Dir);
        Dir := Dir + '\';
      end;
    end.

    { ---------------------------    DEMO  ------------------------------ }

    program HomeDemo;
    uses
      HomeBase;
    begin
      WriteLn(HomeBase.Dir);
      WriteLn(HomeBase.IniFileName);
      WriteLn(HomeBase.LogFileName);
    end.

[Back to DIRS SWAG index] [Back to Main SWAG index] [Original]