Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Информация о псевдонимах BDE


var
  MyAliasPath: string;
const
  AliasName = 'MyAlias';

  {**** Получаем из BDE путь MyAlias}

  ParamsList := TStringList.Create;

try
  with Session do
  begin
    Session.GetAliasNames(ParamsList);
    Session.GetAliasParams(AliasName, ParamsList);
    MyAliasPath := Copy(ParamsList[0], 6, 50) + '\';
  end;
finally
  ParamsList.Free;
end;

Как через конфигурацию IDAPI получить физический каталог расположения базы данных, зная ее псевдоним?

Обратите внимание на метод GetAliasParams класса TSession.

Возвращенная строка будет содержать искомый путь.

Я пользуюсь следующей функцией:


uses DbiProcs, DBiTypes;

function GetDataBaseDir(const Alias: string): string;
(* Возвращает каталог расположения базы данных по заданному псевдониму
(без обратного слеша) *)
var
  sp: PChar;
  Res: pDBDesc;
begin
  try
    New(Res);
    sp := StrAlloc(length(Alias) + 1);
    StrPCopy(sp, Alias);
    if DbiGetDatabaseDesc(sp, Res) = 0 then
      Result := StrPas(Res^.szPhyName)
    else
      Result := '';
  finally
    StrDispose(sp);
    Dispose(Res);
  end;
end;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay