Статистика |
|
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
Получение пути псевдонима и таблицы
Есть три способа сделать это... 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;
|
Категория: Alias | Добавил: Skinner (04.07.2008)
| Автор: Reinhard Kalinke
|
Просмотров: 441
| Рейтинг: 0.0/0 |
|
|