![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно создать псевдоним BDE? [D7, Paradox]
werus © (2003-06-29 04:49:00)Уважаемые МАСТАКИ!!!
Подскажите:
1. Как программно создать псевдоним для таб. Paradox в BDE&
2. Где можно взять BDE, отдельно от остальных программ (типа Delphi, Paradox и иже с ними)...
Зарание спасибо,
Ваш вирус :=)
AbrosimovA (2003-07-03 15:01:00) [1]
> Anatoly Podgoretsky © (29.06.03 15:27)
Отдельно БДЕ не поставляется, только в составе выше указанных продуктов, а также и с другими продуктами Борладнл, Корел, dBase 2000. Да и отдельно он не представляет интереса, только в составе с программой и только с ней его разрешено распростанять.
Вы все усложняете. В интернете я нашел отдельно BDE (BDE 5.01.exe - размером 3.51 Мб), могу выслать на мыло.
Что касается вашего заявления - "отдельно он не представляет интереса", я могу с вами поспорить. Большое число вопросов на этом форуме по теме "Как заставить работать мою программу, использующую базу Paradox?"
На первый вопрос ты найдешь ответ в теме работа с Alias (zep 03.07.03 13:57), где я уже привел пример автоматического создания элиаса.
С миру по нитке - голому рубаха
werus (2003-06-30 23:10:00) [2]>Dimedrol © (30.06.03 10:28)
>Если ЭТО интересует, могу кинуть исходник...
Был бы признателен...
Anatoly Podgoretsky (2003-06-30 12:36:00) [3]Zacho © (30.06.03 00:20)
Это только он подтвердит, мне же просто показалось, что так.
Zacho (2003-06-30 12:29:00) [4]
> koks © (30.06.03 12:24)
Во-первых RXLib для D7 есть, входит в состав Jedi VCL, а во-вторых - не нужно никакой отдельной процедуры (и монстроидального кода с BDE API) , и так есть TSession.AddAlias
koks (2003-06-30 12:24:00) [5]по-моему в RxLib была отдельная процедура для программного создания BDE-алиаса. (для D7 этой библиотеки вроде нет - но ты покапай ее исходники и все найдешь)
SiJack (2003-06-30 12:20:00) [6]{
program adds a alias to the BDE configuration file
parameters:
0: programname + path (standard parameter of OS)
1: Name of alias
if begins with "-" then delete first if exist
else do nothing if exist
2: path to data directory
3: BDE driver name
Bugfix: Savierhs Lopez Arteaga 3.1.2001
AddAlias didn"t delete alias with beginning "-"
}
program AddAlias;
uses
Windows, SysUtils, BDE;
var
GAlias: string = "-Name";
GDriver: string = szPARADOX;
GAliasDir: string = "\Common Files\Borland Shared\BDE\DirBase";
FParams: string;
FDrvName: string;
FDelete: boolean;
i: integer;
function StrToOem(const AnsiStr: string): string;
begin
SetLength(Result, Length(AnsiStr));
if Length(Result) > 0 then
CharToOem(PChar(AnsiStr), PChar(Result));
end;
{----------------------------------------------------------------------------------------}
begin
for i := 1 to ParamCount do
begin
case i of
1: GAlias := ParamStr(1);
2: GAliasDir := ParamStr(2);
3: GDriver := ParamStr(3);
end;
end;
//default alias
if GAliasDir = "" then GAliasDir := ExtractFilePath(ParamStr(0))+"Data";
//should delete alias first? separate alias name
if GAlias[1] = "-" then
begin
FDelete := True;
//GAlias := Copy(GAlias, 1, Length(GAlias)); Bug
Delete(GAlias, 1, 1); //Fix by Savierhs Lopez Artega
end else FDelete := False;
FDrvName := GDriver;
//set Parameters, the driver and server name
if (CompareText(GDriver, szCFGDBSTANDARD) = 0) or
(CompareText(GDriver, szPARADOX) = 0) or
(CompareText(GDriver, szDBASE) = 0) or
(CompareText(GDriver, szFOXPRO) = 0) or
(CompareText(GDriver, szASCII) = 0) then
begin
if (CompareText(GDriver, szCFGDBSTANDARD) = 0) then FDrvName := szPARADOX;
//set parameters for the new alias
FParams := Format("%s:"%s"", [szCFGDBPATH, GAliasDir]) +
Format(";%s:"%s"", [szCFGDBDEFAULTDRIVER, GDriver]) +
Format(";%s:"%s"", [szCFGDBENABLEBCD, szCFGFALSE]);
end else begin
if (CompareText(GDriver, "INTRBASE") = 0)
then FParams := Format("%s:"%s"", [szSERVERNAME, GAliasDir])
else FParams := Format("%s:"%s"", [szDATABASENAME, GAliasDir]);
//add other Parameters here !!!!!!!!!!!!!!!!!
end;
DbiInit(nil);
try
if FDelete then
try
DbiDeleteAlias(nil, PChar(GAlias));
except
end;
try
DbiAddAlias(nil, PChar(StrToOem(GAlias)),
PChar(StrToOem(FDrvName)),
PChar(FParams), True);
DbiCfgSave(nil, nil, True);
except
end;
finally
DbiExit();
end;
end.
//----------------------------------------------------------------------------------------
Dimedrol (2003-06-30 10:28:00) [7]Не знаю как в Парадоксе,
но мне нужно было создать програмно коннекшн
к MsSQL 2000, так я просто прописывал некие ключи
к Registry и все работало.
Правда там в чистом виде ODBC работало.
Если ЭТО интересует, могу кинуть исходник...
Zacho (2003-06-30 00:20:00) [8]
> Anatoly Podgoretsky © (30.06.03 00:08)
Ну, werus © же хотел программно... Но вполне возможно, что ты правильно понял его желание :)
Anatoly Podgoretsky (2003-06-30 00:08:00) [9]Наверно первый вопрос истекает из второго, надо просто сделать инсталляцию и первый вопрос автоматом отпадет.
Install Shield Express входит в состав Дельфи.
Zacho (2003-06-30 00:04:00) [10]На второй вопрос уже ответил Anatoly Podgoretsky © (29.06.03 15:27), а вот ответ на первый: смотри хелп по TSession и/или BDE API.
Кстати, ответы на эти вопросы есть и во всевозможных FAQ"ах, и, как минимум раз в неделю, бывают на этом форуме. И хорошенько всех задолбали :-)
Anatoly Podgoretsky (2003-06-29 15:27:00) [11]Отдельно БДЕ не поставляется, только в составе выше указанных продуктов, а также и с другими продуктами Борладнл, Корел, dBase 2000. Да и отдельно он не представляет интереса, только в составе с программой и только с ней его разрешено распростанять.