Все бесплатно
    Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.



Вопросы
  Создать индекс для таблицы ABS (Absolute Database)
   Категория: Базы данных
  Удаление файла в корзину
   Категория: Файловая система
  Загрузка файлов в THTMLViewer и TFrameBrowser
   Категория: Интернет и Сети
  Округление в большую сторону
   Категория: Математика
  Как произвести поиск файлов во вложенных папках
   Категория: Файловая система
  Преобразовать любой тип в строку
   Категория: Текст и строки
  Узнать установлена ли BDE
   Категория: Базы данных
  Группировка TopAdvGrid
   Категория: Компоненты
  Вставить иконки в Grid
   Категория: Компоненты
  Номер строки в memo под курсором
   Категория: Текст и строки

Delphi - База Знаний: BDE. Расположение БД по псевдониму

  << Вернуться к Содержанию  

uses dbiprocs;

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}
  end;
end;


// или

uses  db;

var
  aliaspath: string[128];
begin
  aliaspath := Session.GetAliasParams['MyAlias'].values['PATH'];
end;

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;
  << Вернуться к Содержанию