Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
ВнизКак программно создать псевдоним BDE? Найти похожие ветки
← →
werus (2003-06-29 04:49) [0]Уважаемые МАСТАКИ!!!
Подскажите:
1. Как программно создать псевдоним для таб. Paradox в BDE&
2. Где можно взять BDE, отдельно от остальных программ (типа Delphi, Paradox и иже с ними)...
Зарание спасибо,
Ваш вирус :=)
← →
Anatoly Podgoretsky (2003-06-29 15:27) [1]Отдельно БДЕ не поставляется, только в составе выше указанных продуктов, а также и с другими продуктами Борладнл, Корел, dBase 2000. Да и отдельно он не представляет интереса, только в составе с программой и только с ней его разрешено распростанять.
← →
Zacho (2003-06-30 00:04) [2]На второй вопрос уже ответил Anatoly Podgoretsky © (29.06.03 15:27), а вот ответ на первый: смотри хелп по TSession и/или BDE API.
Кстати, ответы на эти вопросы есть и во всевозможных FAQ"ах, и, как минимум раз в неделю, бывают на этом форуме. И хорошенько всех задолбали :-)
← →
Anatoly Podgoretsky (2003-06-30 00:08) [3]Наверно первый вопрос истекает из второго, надо просто сделать инсталляцию и первый вопрос автоматом отпадет.
Install Shield Express входит в состав Дельфи.
← →
Zacho (2003-06-30 00:20) [4]
> Anatoly Podgoretsky © (30.06.03 00:08)
Ну, werus © же хотел программно... Но вполне возможно, что ты правильно понял его желание :)
← →
Dimedrol (2003-06-30 10:28) [5]Не знаю как в Парадоксе,
но мне нужно было создать програмно коннекшн
к MsSQL 2000, так я просто прописывал некие ключи
к Registry и все работало.
Правда там в чистом виде ODBC работало.
Если ЭТО интересует, могу кинуть исходник...
← →
SiJack (2003-06-30 12:20) [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.
//----------------------------------------------------------------------------------------
← →
koks (2003-06-30 12:24) [7]по-моему в RxLib была отдельная процедура для программного создания BDE-алиаса. (для D7 этой библиотеки вроде нет - но ты покапай ее исходники и все найдешь)
← →
Zacho (2003-06-30 12:29) [8]
> koks © (30.06.03 12:24)
Во-первых RXLib для D7 есть, входит в состав Jedi VCL, а во-вторых - не нужно никакой отдельной процедуры (и монстроидального кода с BDE API) , и так есть TSession.AddAlias
← →
Anatoly Podgoretsky (2003-06-30 12:36) [9]Zacho © (30.06.03 00:20)
Это только он подтвердит, мне же просто показалось, что так.
← →
werus (2003-06-30 23:10) [10]>Dimedrol © (30.06.03 10:28)
>Если ЭТО интересует, могу кинуть исходник...
Был бы признателен...
← →
AbrosimovA (2003-07-03 15:01) [11]
> Anatoly Podgoretsky © (29.06.03 15:27)
Отдельно БДЕ не поставляется, только в составе выше указанных продуктов, а также и с другими продуктами Борладнл, Корел, dBase 2000. Да и отдельно он не представляет интереса, только в составе с программой и только с ней его разрешено распростанять.
Вы все усложняете. В интернете я нашел отдельно BDE (BDE 5.01.exe - размером 3.51 Мб), могу выслать на мыло.
Что касается вашего заявления - "отдельно он не представляет интереса", я могу с вами поспорить. Большое число вопросов на этом форуме по теме "Как заставить работать мою программу, использующую базу Paradox?"
На первый вопрос ты найдешь ответ в теме работа с Alias (zep 03.07.03 13:57) , где я уже привел пример автоматического создания элиаса.
С миру по нитке - голому рубаха
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.07.24;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c