Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.09.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.036 c
4-1122543654
Amik
2005-07-28 13:40
2005.09.25
как заблочить ХР на доступ?


14-1125992539
KilkennyCat
2005-09-06 11:42
2005.09.25
6 сентября. С Днем рождения!


14-1125338455
Piter
2005-08-29 22:00
2005.09.25
Разблокировка клавиатуры на Панасониках


3-1123585717
Alex--
2005-08-09 15:08
2005.09.25
Провайдер Interbase для ADO


14-1125625951
vidiv
2005-09-02 05:52
2005.09.25
Как изменить владельца файла?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский