Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.011 c
1-77949
Dred2k
2003-07-10 19:13
2003.07.24
Вызов метода OleVariant на этапе выполнения


14-78126
Chris
2003-07-08 21:39
2003.07.24
загрузка ОС на бездисковой станции


1-77885
Не знающий
2003-07-09 23:53
2003.07.24
Закрытие формы в её FormActivate


1-77954
jjiura
2003-07-10 20:49
2003.07.24
Не показывается текст в StringGrid при использовании ONDrawCell


7-78174
Arkara
2003-05-13 14:19
2003.07.24
Запуск приложения от имени другого юзера





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский