Главная страница
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.043 c
1-1125822158
RayGun
2005-09-04 12:22
2005.09.25
QuickReport или экспорт в Excel


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


4-1122642701
keeper1957
2005-07-29 17:11
2005.09.25
Файлы и процессы


5-1100700189
Jasurbek
2004-11-17 17:03
2005.09.25
StringGrid, который содержать объекты TComboBox


1-1125317950
Cherrex
2005-08-29 16:19
2005.09.25
Как динамически добавить компонент на форму