Главная страница
    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.46 MB
Время: 0.039 c
8-1115890225
Grim
2005-05-12 13:30
2005.09.25
OpenGL - получение указателя на текстуру


9-1117156620
евГений2005
2005-05-27 05:17
2005.09.25
Как быстро скопировать данные из одной текстуры в другую?


6-1117379207
Галинка
2005-05-29 19:06
2005.09.25
Можно ли писать интернет-примочки на Дельфи?


4-1122494084
Михаил(Киров)
2005-07-27 23:54
2005.09.25
Диспетчер задач


14-1125670296
cyborg
2005-09-02 18:11
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский