БОЛЬШОЙ FAQ ПО DELPHI



Как узнать - установлена ли 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
 




<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ



Материалы находятся на сайте https://exelab.ru/pro/



Видеокурс ВЗЛОМ