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

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Следующая функция получает структуру 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

{/codecitation}

Добавить комментарий