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

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

Есть три способа сделать это... No1 годится только для постоянных псевдонимов BDE. No2 работает с BDE и локальными псевдонимами, и No3 работает с BDE и локальными псевдонимами, используя "тяжелый" путь, через вызовы DBI.

function

GetDBPath1(AliasName: string

): TFileName; var

ParamList: TStringList; begin

ParamList := TStringList.Create; with

Session do

try

GetAliasParams(AliasName, ParamList); Result := UpperCase(ParamList.Values['PATH']) + ''; finally

Paramlist.Free; end

; end

; function

GetDBPath2(AliasName: string

): TFileName; var

ParamList: TStringList; i: integer; begin

ParamList := TStringList.Create; with

Session do

try

try

GetAliasParams(AliasName, ParamList); except

for

i := 0 to

pred(DatabaseCount) do

if

(Databases[i].DatabaseName = AliasName) then

ParamList.Assign(Databases[i].Params); end

; Result := UpperCase(ParamList.Values['PATH']) + ''; finally

Paramlist.Free; end

; end

; function

GetDBPath3(ATable: TTable): TFileName; var

TblProps: CURProps; pTblName, pFullName: DBITblName; begin

with

ATable do

begin

AnsiToNative(Locale, TableName, pTblName, 255); Check(DBIGetCursorProps(Handle, TblProps)); Check(DBIFormFullName(DBHandle, pTblName, TblProps.szTableType, pFullName)); Result := ExtractFilePath(StrPas(pFullName)); end

; end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com