Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

Видеокурс программиста и крэкера 5D 2O17
(актуальность: август 2O17)
Свежие инструменты, новые видеоуроки!

  • 400+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

БОЛЬШОЙ FAQ ПО DELPHI



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

Автор: Reinhard Kalinke

Есть три способа сделать это... 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;
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS