Текущий архив: 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
Список Aliasuses 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;
Добавить Aliasvar
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.033 c