Советы по Delphi

Получение пути псевдонима и таблицы IV


Nomadic советует:

  1. По таблице (фактически по Database) получить физическое местонахождение. Примечание: Database можно создать явно, если нет, Дельфи сама его создаст, доступ к ней по Table(Query).Database

    uses
DbiProcs;

function GetDirByDatabase( Database: TDatabase ): string;


var
pszDir: PChar;
begin
pszDir := StrAlloc( 255 );
try
DbiGetDirectory( Database.Handle, True, pszDir );
Result := StrPas( pszDir );
finally
StrDispose( pszDir );
end;
end;

  • По алиасу.
  •     function GetPhNameByAlias( sAlias: string ): string;
    var
    Database: TDatabase;
    pszDir: PChar;
    begin
    Database := TDatabase.Create( nil ); {allocate memory}
    pszDir := StrAlloc( 255 );
    try
    Database.AliasName := sAlias;
    Database.DatabaseName := 'TEMP'; {requires a name -- is ignored}
    Database.Connected := True; {connect without opening any table}
    DbiGetDirectory( Database.Handle, True, pszDir ); {get the dir.}
    Database.Connected := False; {disconnect}
    Result := StrPas( pszDir ); {convert to a string}
    finally
    Database.Free; {free memory}
    StrDispose( pszDir );
    end;
    end;

    [001357]



    Содержание раздела