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

  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;

     

  2. По алиасу.

    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;

     

 
« Предыдущая статья   Следующая статья »