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

Как узнать - установлена ли BDE

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

Как узнать - установлена ли BDE

Следующая функция получает структуру SysVersion и записывает результаты в stringlist.


uses dbierrs, DBTables;

function fDbiGetSysVersion(SysVerList: TStringList): SYSVersion;
var
  Month, Day, iHour, iMin, iSec: Word;
  Year: SmallInt;
begin
  Check(DbiGetSysVersion(Result));
  if (SysVerList <> nil) then
  begin
    with SysVerList do
    begin
      Clear;
      Add(Format('ENGINE VERSION=%d', [Result.iVersion]));
      Add(Format('INTERFACE LEVEL=%d', [Result.iIntfLevel]));
      Check(DbiDateDecode(Result.dateVer, Month, Day, Year));
      Add(Format('VERSION DATE=%s', [DateToStr(EncodeDate
      (Year, Month, Day))]));
      Check(DbiTimeDecode(Result.timeVer, iHour, iMin, iSec));
      Add(Format('VERSION TIME=%s', [TimeToStr(EncodeTime
      (iHour, iMin, iSec div 1000, iSec div 100))]));
    end;
  end;
end;

Вызов этой функции выглядит следующим образом:


var
  hStrList: TStringList;
  Ver: SYSVersion;
begin
  hStrList:= TStringList.Create;
  try
    Ver := fDbiGetSysVersion(hStrList);
  except
    ShowMessage('BDE not installed !');
  end;
  ShowMessage(IntToStr(Ver.iVersion));
  Memo1.Lines.Assign(hStrList);
  hStrList.Destroy;
end;

Возможные резултаты (отображаемые в memo-поле):


ENGINE VERSION=500 
INTERFACE LEVEL=500 
VERSION DATE=09.06.98 
VERSION TIME=17:06:13 

Программистский вопрос на Delphi!

Проверить, установлен ли BDE (Borland Database Engine), можно создать компонент TSession и затем вызвать свойство Connected сессии. Если BDE не установлен, это вызовет исключение.

Вот как вы можете модифицировать свой код для выполнения этой задачи:

var
  hStrList: TStringList;
  Ver: SYSVersion;
begin
  try
    TSession.Create(nil); // создаем компонент TSession
    hStrList := TStringList.Create;
    try
      Ver := fDbiGetSysVersion(hStrList);
      ShowMessage(IntToStr(Ver.iVersion));
      Memo1.Lines.Assign(hStrList);
    except
      on E: Exception do
      begin
        if E.ClassType = EInvalidBDE then // проверка на неустановленное BDE
          ShowMessage('BDE не установлен!');
        else
          raise;
      end;
    finally
      hStrList.Free;
    end;
  except
    ShowMessage('Ошибка создания TSession: ' + LastException.Message);
  end;
end;

В этом коде мы создаем компонент TSession и пытаемся использовать его. Если BDE не установлен, исключение типа EInvalidBDE будет вызвано, которое мы поймем и отобразим сообщение о том, что BDE не установлен.

Обратите внимание, что если вы используете Delphi 7 или позднее, вам может потребоваться использование TDBSession вместо TSession.

Также я заметил, что ваша функция fDbiGetSysVersion возвращает структуру SYSVersion, которая содержит информацию о версии базы данных. Вы отображаете эту информацию в поле Memo. Если BDE не установлен, вы получите исключение при вызове fDbiGetSysVersion, поэтому мы поймем это исключение и отобразим сообщение о том, что BDE не установлен.

Надеюсь, это поможет! Пожалуйста, дайте мне знать, если у вас есть какие-либо дальнейшие вопросы.

Статья описывает функцию для проверки установки BDE (Borland Database Engine) и вывода информации о ее версии, дате и времени установки на экране в виде списка строк.


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

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




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


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


реклама


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

Время компиляции файла: 2024-12-22 20:14:06
2025-05-01 10:53:41/0.0035419464111328/0