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

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Автор: Nomadic

По таблице (фактически по 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;

{/codecitation}

Добавить комментарий