Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

Как программно получить список алиасов и создать новый?   Найти похожие ветки 

 
Zaero   (2005-08-14 07:45) [0]

Господа, подскажите пожалуйста, как программно (не запуская BDE Administrator) получить список алиасов и создать новый?


 
Zaero   (2005-08-14 07:46) [1]

Естественно, новый алиас, а не список! ;)


 
Ученик   (2005-08-14 10:24) [2]

Создать новый алиас - использовать TDatabase


 
Floppy ©   (2005-08-14 11:11) [3]

Взято с DelphiWorld
Список Alias

uses DB, DBTables, DBITypes, DBIProcs;

procedure TForm1.FormCreate(Sender: TObject);
begin  
 Session.GetAliasNames(ListBox1.Items);
end;

procedure TForm1.ListBox1Click(Sender: TObject);
var
 tStr: array[0..100] of char;
 Desc: DBDesc;
begin
 if ListBox1.Items.Count = 0 then
   exit;
 StrPLCopy(tStr, ListBox1.Items.Strings[ListBox1.ItemIndex], High(tStr));
 DbiGetDatabaseDesc(tStr, @Desc);
 with Desc do
 begin
   Label1.Caption := StrPas(Desc.szName);
   Label2.Caption := StrPas(Desc.szPhyName);
   Label3.Caption := StrPas(Desc.szDbType);
   Label4.Caption := StrPas(Desc.szText);
 end;
end;

Добавить Alias
var
 pszAliasName: PChar;  { Имя псевдонима }
 pszDriverType: PChar; { Тип драйвера для псевдонима }
 pszParams: PChar;     { Дополнительные параметры }
 bPersist: Bool;       { Постоянный или временный псевдоним }
 dbiRes: Integer;      { Возвращаемый код }
begin
 pszAliasName := strAlloc(25);
 pszDriverType := strAlloc(25);
 pszParams := strAlloc(100);

 try
   bPersist := True;
   strPcopy(pszAliasName, "Lance");
   strPcopy(pszDriverType, "PARADOX");
   strPcopy(pszParams, "PATH:" + "c:\Paradox\");

   dbiRes := DbiAddAlias(nil, pszAliasName, pszDriverType, pszParams,
     bPersist);

 finally
   strDispose(pszAliasName);
   strDispose(pszDriverType);
   strDispose(pszParams);
 end;
end;

или

procedure CheckAlias(const AliasName, AliasType, AliasPath: String);
{ Если алиас не существует, создать его }
var
 SList: TStrings;
 i: Integer;
 AliasFound: Boolean;
begin
 { Проверка существования алиса BDE }
 try
   SList := TStringList.Create;
   Session.GetAliasNames(SList);
   AliasFound := False;
   for i:=0 to SList.Count-1 do
     if SList[i]=AliasName then
       begin
         AliasFound := True;
         break;
       end;
 finally
   SList.Free;
 end;
 if AliasFound then
   begin
     try
       SList := TStringList.Create;
       Session.GetAliasParams(AliasName,SList);
       {А в 4-ой версии SList[2]!!! и без слова Path }
       if SList[0]< > "PATH="+AliasPath then { Правильно ли задан путь }
         begin
           SList[0] := "PATH="+AliasPath;
           Session.ModifyAlias(AliasName,SList);
         end;
     finally
       SList.Free;
     end;
   end
 else
   Session.AddStandardAlias(AliasName,AliasPath,AliasType); { Создать новый алиас }
 Session.SaveConfigFile;
end;


 
Zaero   (2005-08-14 17:17) [4]

Красиво! Премного благодарен!


 
Anatoly Podgoretsky ©   (2005-08-14 17:34) [5]

Session.GetAliasNames остальное лишнее.



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.056 c
1-1125472037
Василий
2005-08-31 11:07
2005.09.25
Компоненты


11-1107165644
o.bender
2005-01-31 13:00
2005.09.25
Пример работы TreeView


2-1124030512
TStas
2005-08-14 18:41
2005.09.25
Как все-таки скопировать файл?


3-1123678151
Ega23
2005-08-10 16:49
2005.09.25
output-параметры в рекурсивных выборках


2-1124396570
vitovt
2005-08-19 00:22
2005.09.25
E-mail