Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как установить BDE

Delphi , Базы данных , BDE

Как установить BDE

Соединили програмисты холодильник с компом. Ну, все нормально работает. Открывают дверцу и ставят в холодильник кастрюлю с борщом. Противный голос из холодильника:
- Обнаружена кастрюля, красная, 5 литровая, борщ свежесваренный, будете устанавливать?


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.

Программа на языке Delphi! 🚀

Эта программа предназначена для установки компонента Borland Database Engine (BDE) на "чистом" компьютере и создания алиаса для файла базы данных Paradox. Вот разбивка того, что код делает:

  1. Первая секция устанавливает некоторые константы и переменные:
    • AliasName задается как 'PrefStat', которое будет использоваться как имя алиаса.
    • Path инициализируется текущим рабочим каталогом (используя GetExePath(ParamStr(0))).
  2. Процедура WriteString используется для записи строки в консоль, за которой следует символ новой строки.
  3. Процедура InstallBde выполняет фактическую установку BDE:
    • Она создает ключ регистрации под HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Database Engine и устанавливает различные значения, такие как путь конфигурационного файла (IDAPI32.CFG) и пути DLL.
    • Она также устанавливает некоторые другие значения регистрации для настроек BDE, включая языковой драйвер, дефолтный драйвер и т.д.
  4. Основной программный код инициализирует BDE с помощью dbiInit(nil) и проверяет, была ли инициализация успешна. Если не успешна, он вызывает InstallBde для выполнения установки.
  5. После установки BDE программа создает алиас для файла базы данных Paradox с помощью DbiAddAlias. Она задает имя алиаса как AliasName, драйвер как 'PARADOX' и путь к файлу базы данных (который не указан в этом коде).
  6. Наконец, программа сохраняет конфигурационный файл BDE с помощью DbiCfgSave и заканчивает работу с помощью DbiExit.

Некоторые примечания:

  • Этот код предполагает, что файл базы данных Paradox находится в том же каталоге, что и исполняемый файл.
  • Процедура InstallBde модифицирует регистрацию, поэтому будьте осторожны при запуске программы на производственной машине!
  • Если вы не планируете использовать BDE для чего-то, кроме тестирования, вам может быть полезно рассмотреть более современные библиотеки баз данных, такие как InterBase или Firebird.

В целом, этот код предоставляет хороший пример того, как установить и настроить BDE в Delphi. Однако стоит отметить, что BDE является старой технологией, и вам может быть полезно рассмотреть альтернативы для новых проектов.

Установка BDE: создайте каталог C:\MyDir\BDE, скопируйте в него необходимые файлы, измените значение константы AliasName, запустите программу InstallPrfSt и выполните шаги по установки BDE.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: BDE ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:15:53/0.0058460235595703/1