Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

Как программно создать псевдоним 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.02 c
3-77805
Aiw
2003-07-03 12:49
2003.07.24
Как создать и подключить таблицу FoxPro?


1-77980
Виталик
2003-07-10 20:26
2003.07.24
Перемещение формы с BorderStyle=bsNone


14-78117
Soft
2003-07-08 14:20
2003.07.24
Да что со всеми случилось?


3-77741
alienka
2003-07-01 11:26
2003.07.24
ошибка при передаче в переменную значения из запроса


6-78027
tytus
2003-05-16 18:07
2003.07.24
FastNet