Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с базай данных, Регистрация базы данных 
:(
    Опции темы
MacTep
Дата 23.4.2004, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1292
Регистрация: 4.8.2003
Где: г. Самара

Репутация: 4
Всего: 4



Парни, у меня тоже проблема с BDE. Я так понял, что без установки BDE на тот комп, на котором надо будет работать только что написанной программе, ничего не получится! Так что дерзайте!!! Можно ведь создать дистрибутив BDE. Вот только вопрос как? Глупый вопрос, но я еще с этим не работал и не знаю.


--------------------
(A)bort, (R)etry, (I)gnore = Haфиг, Heфиг, Пoфиг ... :)
PM MAIL   Вверх
Strori
Дата 23.4.2004, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.4.2004

Репутация: нет
Всего: нет



Вот собссно я это и имел ввиду. smile.gif BDE идет в комплекте с дельфи. Значит без него запустить прогу на другом компе не получится?
PM MAIL   Вверх
Akella
Дата 23.4.2004, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 36
Всего: 329



Открываешь IS
Создаешь новый проект
Щелкаешь по "Specify InstallSheild Objects for Delphi 5 - General Opttions"
Выбираеши нужные компоненты. компилируешь проект
Пользуйся.

Если установщик - Wise, то ищи там "Merge modules" (модули для миграции).
PM MAIL   Вверх
Strori
Дата 24.4.2004, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 23.4.2004

Репутация: нет
Всего: нет



Счас распотрошил каталог BDE, опытным путем определил от каких dll зависит работа моей проги (оказались bantam.dll, idapi32.dll, idpdx32.dll и idr20009.dll), скопировал их в каталог с моей прогой, прописал в реестре, в ключе HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine параметр DLLPATH="новый путь к файлам BDE", затем стер BDE и все что с ней было связано и.... О ЧУДО!!!! программа заработала!!!!! withstupid.gif adv/168.gif
PM MAIL   Вверх
Medved
Дата 26.4.2004, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Как говорил Козьма Прутков - "Зри в FAQ".

Код

Session.AddAlias(AliasName, AliasDriver, Params);
Session.SaveConfigFile;

Автор Vit
Взято с Vingrad.ru http://forum.vingrad.ru


--------------------------------------------------------------------------------


uses
 DBIProcs, DBITypes;

procedure AddBDEAlias(sAliasName, sAliasPath, sDBDriver: string);
var
 h: hDBISes;
begin
 DBIInit(nil);
 DBIStartSession('dummy', h, '');
 DBIAddAlias(nil, PChar(sAliasName), PChar(sDBDriver),
   PChar('PATH:' + sAliasPath), True);
 DBICloseSession(h);
 DBIExit;
end;

{ Sample call to create an alias called WORK_DATA that }
{ points to the C:\WORK\DATA directory and uses the    }
{ DBASE driver as the default database driver:         }

AddBDEAlias('WORK_DATA', 'C:\WORK\DATA', 'DBASE');

Взято с Delphi Knowledge Base
http://www.baltsoft.com/



Код

Если база данных находится в той же директории, что и экзешник, то в качестве имени базы можно использовать .\ в поле DatabaseName в TTable

Взято с Исходников.ru http://www.sources.ru

Примечания Vit:
1) Если путь другой - то в поле DatabaseName можно прописать путь, например: c:\Program Files\...
2) Прописывание путивместо alias не исключает необходимости использования BDE


и т.д.
Добавлено @ 02:08
И еще....

Код

program InstallPrfSt;

{
Программа иллюстрирует, как установить BDE с поддержкой PARADOX 7.0
на "чистой машине" и создать алиас.
Пример использования в качестве простейшего инсталлятора для программы
C:\MyDir\MyProg.exe
1.Создайте каталог C:\MyDir\BDE и скопируйте в него след. файлы:
CHARSET.BLL
OTHER.BLL
IDAPI32.CFG
BLW32.DLL
IDAPI32.DLL
IDBAT32.DLL
IDPDX32.DLL
IDR20009.DLL
IDSQL32.DLL
BDEADMIN.EXE - по вкусу, т.к. необходимым не является.
2.Измените значение константы AliasName на имя необходимого вам алиаса.
3.Откомпиллируйте и запустите эту программу из каталога C:\MyDir.
ВHИМАHИЕ!!! Если на машине уже установлено BDE, то перед экспериментами
сохраните (на всякий случай) след. ключи из реестра:
[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine] и
[HKEY_LOCAL_MACHINE\SOFTWARE\Borland\BLW32].
}

{$APPTYPE CONSOLE}
uses
 Windows, BDE, Registry;

const
 AliasName: string = 'PrefStat';

var
 R: DBIResult;
 Path: string;

procedure WriteString(S1:string);
begin
 S1 := S1 + #0;
 AnsiToOem(@S1[1], @S1[1]);
 writeln(S1);
end;

function GetExePath(S1:string):string;
var
 I, K :Integer;
 S: string;
begin
 K := 1;
 S := '';
 for I := Length(S1) downto 1 do
 begin
   if S1[I] = '\' then
   begin
     K := I;
     Break;
   end;
 end;

 for I := 1 to K - 1 do
   S := S + S1[I];

 Result:=S;
end;

procedure InstallBde;
const
 Bor: string = 'SOFTWARE\Borland';
var
 a: TRegistry;
 BPath: string;
begin
 BPath:=PATH + '\BDE';
 a := TRegistry.Create;
 with a do
 begin
   RootKey := HKEY_LOCAL_MACHINE;
   OpenKey(Bor + '\Database Engine', True);
   WriteString('CONFIGFILE01', BPath+'\IDAPI32.CFG');
   WriteString('DLLPATH', BPath);
   WriteString('RESOURCE', '0009');
   WriteString('SaveConfig', 'WIN32');
   WriteString('UseCount', '2');
   CloseKey;
   OpenKey(Bor+'\BLW32',True);
   WriteString('BLAPIPATH', BPath);
   WriteString('LOCALE_LIB3', BPath+'\OTHER.BLL');
   WriteString('LOCALE_LIB4', BPath+'\CHARSET.BLL');
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\SYSTEM\INIT',True);
   WriteString('AUTO ODBC', 'FALSE');
   WriteString('DATA REPOSITORY', '');
   WriteString('DEFAULT DRIVER', 'PARADOX');
   WriteString('LANGDRIVER', 'ancyrr');
   WriteString('LOCAL SHARE', 'FALSE');
   WriteString('LOW MEMORY USAGE LIMIT', '32');
   WriteString('MAXBUFSIZE', '2048');
   WriteString('MAXFILEHANDLES', '48');
   WriteString('MEMSIZE', '16');
   WriteString('MINBUFSIZE', '128');
   WriteString('SHAREDMEMLOCATION', '');
   WriteString('SHAREDMEMSIZE', '2048');
   WriteString('SQLQRYMODE', '');
   WriteString('SYSFLAGS', '0');
   WriteString('VERSION', '1.0');
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\SYSTEM\FORMATS\DATE',True);
   WriteString('FOURDIGITYEAR', 'TRUE');
   WriteString('LEADINGZEROD', 'FALSE');
   WriteString('LEADINGZEROM', 'FALSE');
   WriteString('MODE', '1');
   WriteString('SEPARATOR', '.');
   WriteString('YEARBIASED', 'TRUE');
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\SYSTEM\FORMATS\NUMBER',True);
   WriteString('DECIMALDIGITS', '2');
   WriteString('DECIMALSEPARATOR', ',');
   WriteString('LEADINGZERON', 'TRUE');
   WriteString('THOUSANDSEPARATOR', ' ');
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\SYSTEM\FORMATS\TIME',True);
   WriteString('AMSTRING', 'AM');
   WriteString('MILSECONDS', 'FALSE');
   WriteString('PMSTRING', 'PM');
   WriteString('SECONDS', 'TRUE');
   WriteString('TWELVEHOUR', 'TRUE');
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\REPOSITORIES',True);
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\DRIVERS\PARADOX\INIT',True);
   WriteString('LANGDRIVER', 'ancyrr');
   WriteString('TYPE', 'FILE');
   WriteString('VERSION', '1.0');
   CloseKey;
   OpenKey(Bor+'\Database Engine\Settings\DRIVERS\PARADOX\TABLE
   CREATE',True);
   WriteString('BLOCK SIZE', '4096');
   WriteString('FILL FACTOR', '95');
   WriteString('LEVEL', '7');
   WriteString('STRICTINTEGRTY', 'TRUE');
   CloseKey;
 end;
 a.Free;
end;

begin
 Path:=GetExePath(ParamStr(0));
 R:=dbiInit(nil);
 if R<>DBIERR_NONE then
 begin
   WriteString('Инициализация BDE ...');
   InstallBDE;
 end;
 R:=dbiInit(nil);
 if R=DBIERR_NONE then
 begin
   WriteString('Инициализация BDE прошла успешно');
   DbiDeleteAlias(nil, PChar(AliasName));
   R:=DbiAddAlias(nil, PChar(AliasName), szPARADOX,
   PChar('PATH:'+Path+'\DB'), True);
   if R=DBIERR_NONE then
     WriteString('Псевдоним "'+AliasName+'" создан')
   else
     WriteString('Ошибка создания псевдонима "'+AliasName+'"');
   R:=DbiCfgSave(nil, nil, Bool(-1));
   if R=DBIERR_NONE then
     WriteString('Файл конфигурации сохранён')
   else
     WriteString('Ошибка сохранения файла конфигурации');
   DbiExit;
 end
 else
   WriteString('Ошибка инициализации BDE');
end.



Код

Установка BDE

Problem/Question/Abstract:

What are the essential files to ship with an application that uses the BDE?

Answer:

Delphi allows you to generate a nice tight executable file (.EXE), but if you have created a database application you must include the files that make up the Borland Database Engine as well. The table below shows the files that are mandatory when delivering a database application with Delphi.
File Name   Description
IDAPI01.DLL - BDE API DLL
IDBAT01.DLL - BDE Batch Utilities DLL
IDQRY01.DLL - BDE Query DLL
IDASCI01.DLL - BDE ASCII Driver DLL
IDPDX01.DLL - BDE Paradox Driver DLL
IDDBAS01.DLL - BDE dBASE Driver DLL
IDR10009.DLL - BDE Resources DLL
ILD01.DLL - Language Driver DLL
IDODBC01.DLL - BDE ODBC Socket DLL
ODBC.New - Microsoft ODBC Driver Manager DLL V2.0
ODBCINST.NEW - Microsoft ODBC Driver Installation DLL V2.0
TUTILITY.DLL - BDE Table Repair Utility DLL
BDECFG.EXE - BDE Configuration Utility DLL
BDECFG.HLP - BDE Configuration Utility Help
IDAPI.CFG -    BDE Configuation File (settings)

To assist the user, Delphi ships with an install program for exporting the appropriate files that you want deliver to your clients. Also, installation programs such as InnoSetup and InstallShield can automatically include the relevant files in their setup programs.

InnoSetup is my program installation program of choice, and it is FREE! For more information or to download a copy visit Jordan Russhttp:// www.jrsoftware.orgell's site at

Finally a tip on using the setup CAB file that ships with the BDE to install the relevant files can be found in DKB, article title "Installing BDE from BDEINST.CAB"

Взято с Delphi Knohttp://www.baltsoft.com/wledge Base



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Pathfider
Дата 14.7.2004, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 128
Регистрация: 13.7.2004
Где: все там же

Репутация: -1
Всего: 1



CreatoR Если есть доступ к той машине то напиши просто Batch или если хочешь в извращенной форме то в Delphi, а потом скопируй на машину по сетке и запусти.

--------------------
Trust is a weakness
PM MAIL   Вверх
Illusion Dolphin
Дата 14.7.2004, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 36
Всего: 63



Pegas: этот способ инсталяции DBE я так и не осилил... Предлагаю своё:

Вот как я делаю в своей программе.
а) определяем, есть ли BDE, и если нет, то ставим его
Код


type
 tDllRegisterServer = function : HResult; stdcall;

var h : integer;
 regserv: tDllRegisterServer;

function BDEInstalled: Boolean;
begin
Result := (dbiInit(nil) = 0)
end;

......

 if not BDEInstalled then
 begin
  if fileexists(ProgramDir+'\BdeInst.dll') then
  begin
   MessageDlg('ОШИБКА: Borland Database Engine (IDAPI) не найдена' + #13+
   'Будет выполнена её установка...',
   mtError, [mbOK], 0);
   h:=loadlibrary(Pchar(ProgramDir+'\BdeInst.dll'));
   if h=0 then halt;
   @regserv := GetProcAddress ( h, 'DllRegisterServer' );
   regserv;
   freelibrary(h);
  end;
  if not BDEInstalled then
  begin
   MessageDlg('ОШИБКА: Borland Database Engine (IDAPI) не найдена' + #13+
   'перед следующей попыткой ее необходимо установить....',
   mtError, [mbOK], 0);
   halt;
  end;
 end;

ProgramDir - папка с программой (там лежит файл BdeInst.dll, который находится в cab-архиве (bdeinst.cab) в папке, куда делфи установила BDE.
б) Сделать, как советовал Strori.
P.S. Это всё можно сделать в самом простом случае в главном файле проекта.


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Гость_Артем
Дата 13.10.2005, 13:08 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Используйте инсталятор Inno setup он бесплатный, и установка BDE на его сайте описана... Сам пробовал работает
  Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0639 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.