//
{{Copyright(c)2017 Advanced Delphi Systems Richard Maley Advanced Delphi Systems 12613 Maidens Bower Drive Potomac, MD 20854 USA phone 301-840-1554 dickmaley@advdelphisys.com The code herein can be used or modified by anyone. Please retain references to Richard Maley at Advanced Delphi Systems. If you make improvements to the code please send your improvements to dickmaley@advdelphisys.com so that the entire Delphi community can benefit. All comments are welcome. } unit ads_DelphiVersion; (*UnitIndex Master Index Implementation Section Download Units
Description: ads_DelphiVersion.pas This unit contains the following routines.
GetCompilerConditional GetPackageVersion GetProductName GetProductVersion
*) interface Function GetProductVersion(): String; Function GetPackageVersion(): String; Function GetProductName(): String; Function GetCompilerConditional(): String; implementation Type TDelphiVersion=record ProductVersion: String; PackageVersion: String; ProductName: String; CompilerConditional: String; End; Var DelphiVersion : Array of TDelphiVersion; (* Delphi conditional VERUnit Description UnitIndex Master IndexProduct Product Version Package Version VER300 Delphi Seattle / C++Builder Seattle (Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android) 23 230 VER290 Delphi XE8 / C++Builder XE8 (Delphi:Win32/Win64/OSX/iOS32/iOS64/Android) (C++Builder:Win32/Win64/OSX/iOS32/iOS64/Android) 22 220 VER280 Delphi XE7 / C++Builder XE7 (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android) 21 210 VER270 Delphi XE6 / C++Builder XE6 (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS/Android) 20 200 VER260 Delphi XE5 / C++Builder XE5 (Delphi:Win32/Win64/OSX/iOS/Android) (C++Builder:Win32/Win64/OSX/iOS) 19 190 VER250 Delphi XE4 / C++Builder XE4 (Delphi:Win32/Win64/OSX/iOS) (C++Builder:Win32/Win64/OSX) 18 180 VER240 Delphi XE3 / C++Builder XE3 (Delphi:Win32/Win64/OSX) (C++Builder:Win32/Win64/OSX) 17 170 VER230 Delphi XE2 / C++Builder XE2 (Delphi:Win32/Win64/OSX) (C++Builder:Win32/OSX) 16 160 161 is the version for the five FireMonkey packages at XE2 Update 2: fmi161.bpl, fmx161.bpl, fmxase161.bpl, fmxdae161.bpl, and fmxobj161.bpl. VER220 Delphi XE / C++Builder XE (Win32) 15 150 VER210 Delphi 2010 / C++Builder 2010 (Win32) 14 140 VER200 Delphi 2009 / C++Builder 2009 (Win32) 12 120 VER190 Delphi 2007 for .Net * 11 110 VER180 or VER185 Delphi 2007 / C++Builder 2007 for Win32 * 11 110 VER180 Delphi 2006 / C++Builder 2006 (Win32/.Net) and Delphi/C++Builder 2007 for Win32 10 100 VER170 Delphi 2005 (Win32/.Net) 9 90 VER160 Delphi 8 for .Net 8 80 VER150 Delphi 7 (and 7.1) 7 70 VER140 Delphi 6 / C++Builder 6 6 60 VER130 Delphi 5 / C++Builder 5 5 NA VER125 C++Builder 4 4 NA VER120 Delphi 4 4 NA VER110 C++Builder 3 3 NA VER100 Delphi 3 3 NA VER93 C++Builder 1 NA NA VER90 Delphi 2 2 NA VER80 Delphi 1 1 NA *) //
Function GetProductVersion(): String; Begin Result:=''; {$IFDEF VER300} Result:= '23';Exit;{$ENDIF} {$IFDEF VER290} Result:= '22';Exit;{$ENDIF} {$IFDEF VER280} Result:= '21';Exit;{$ENDIF} {$IFDEF VER270} Result:= '20';Exit;{$ENDIF} {$IFDEF VER260} Result:= '19';Exit;{$ENDIF} {$IFDEF VER250} Result:= '18';Exit;{$ENDIF} {$IFDEF VER240} Result:= '17';Exit;{$ENDIF} {$IFDEF VER230} Result:= '16';Exit;{$ENDIF} {$IFDEF VER220} Result:= '15';Exit;{$ENDIF} {$IFDEF VER210} Result:= '14';Exit;{$ENDIF} {$IFDEF VER200} Result:= '12';Exit;{$ENDIF} {$IFDEF VER190} Result:= '11';Exit;{$ENDIF} {$IFDEF VER185} Result:= '11';Exit;{$ENDIF} {$IFDEF VER180} Result:= '10';Exit;{$ENDIF} {$IFDEF VER170} Result:= '9' ;Exit;{$ENDIF} {$IFDEF VER160} Result:= '8' ;Exit;{$ENDIF} {$IFDEF VER150} Result:= '7' ;Exit;{$ENDIF} {$IFDEF VER140} Result:= '6' ;Exit;{$ENDIF} {$IFDEF VER130} Result:= '5' ;Exit;{$ENDIF} {$IFDEF VER125} Result:= '4' ;Exit;{$ENDIF} {$IFDEF VER120} Result:= '4' ;Exit;{$ENDIF} {$IFDEF VER110} Result:= '3' ;Exit;{$ENDIF} {$IFDEF VER100} Result:= '3' ;Exit;{$ENDIF} {$IFDEF VER93} Result:= 'NA';Exit;{$ENDIF} {$IFDEF VER90} Result:= '2' ;Exit;{$ENDIF} {$IFDEF VER80} Result:= '1' ;Exit;{$ENDIF} End; //Unit Description UnitIndex Master Index
Function GetPackageVersion(): String; Begin Result:=''; {$IFDEF VER300} Result:= '230';Exit;{$ENDIF} {$IFDEF VER290} Result:= '220';Exit;{$ENDIF} {$IFDEF VER280} Result:= '210';Exit;{$ENDIF} {$IFDEF VER270} Result:= '200';Exit;{$ENDIF} {$IFDEF VER260} Result:= '190';Exit;{$ENDIF} {$IFDEF VER250} Result:= '180';Exit;{$ENDIF} {$IFDEF VER240} Result:= '170';Exit;{$ENDIF} {$IFDEF VER230} Result:= '160';Exit;{$ENDIF} {$IFDEF VER220} Result:= '150';Exit;{$ENDIF} {$IFDEF VER210} Result:= '140';Exit;{$ENDIF} {$IFDEF VER200} Result:= '120';Exit;{$ENDIF} {$IFDEF VER190} Result:= '110';Exit;{$ENDIF} {$IFDEF VER185} Result:= '110';Exit;{$ENDIF} {$IFDEF VER180} Result:= '100';Exit;{$ENDIF} {$IFDEF VER170} Result:= '90' ;Exit;{$ENDIF} {$IFDEF VER160} Result:= '80' ;Exit;{$ENDIF} {$IFDEF VER150} Result:= '70' ;Exit;{$ENDIF} {$IFDEF VER140} Result:= '60' ;Exit;{$ENDIF} {$IFDEF VER130} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER125} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER120} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER110} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER100} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER93} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER90} Result:= 'NA' ;Exit;{$ENDIF} {$IFDEF VER80} Result:= 'NA' ;Exit;{$ENDIF} End; //Unit Description UnitIndex Master Index
Function GetCompilerConditional(): String; Begin Result:=''; {$IFDEF VER300} Result:= 'VER300';Exit;{$ENDIF} {$IFDEF VER290} Result:= 'VER290';Exit;{$ENDIF} {$IFDEF VER280} Result:= 'VER280';Exit;{$ENDIF} {$IFDEF VER270} Result:= 'VER270';Exit;{$ENDIF} {$IFDEF VER260} Result:= 'VER260';Exit;{$ENDIF} {$IFDEF VER250} Result:= 'VER250';Exit;{$ENDIF} {$IFDEF VER240} Result:= 'VER240';Exit;{$ENDIF} {$IFDEF VER230} Result:= 'VER230';Exit;{$ENDIF} {$IFDEF VER220} Result:= 'VER220';Exit;{$ENDIF} {$IFDEF VER210} Result:= 'VER210';Exit;{$ENDIF} {$IFDEF VER200} Result:= 'VER200';Exit;{$ENDIF} {$IFDEF VER190} Result:= 'VER190';Exit;{$ENDIF} {$IFDEF VER185} Result:= 'VER185';Exit;{$ENDIF} {$IFDEF VER180} Result:= 'VER180';Exit;{$ENDIF} {$IFDEF VER170} Result:= 'VER170';Exit;{$ENDIF} {$IFDEF VER160} Result:= 'VER160';Exit;{$ENDIF} {$IFDEF VER150} Result:= 'VER150';Exit;{$ENDIF} {$IFDEF VER140} Result:= 'VER140';Exit;{$ENDIF} {$IFDEF VER130} Result:= 'VER130';Exit;{$ENDIF} {$IFDEF VER125} Result:= 'VER125';Exit;{$ENDIF} {$IFDEF VER120} Result:= 'VER120';Exit;{$ENDIF} {$IFDEF VER110} Result:= 'VER110';Exit;{$ENDIF} {$IFDEF VER100} Result:= 'VER100';Exit;{$ENDIF} {$IFDEF VER93} Result:= 'VER93'; Exit;{$ENDIF} {$IFDEF VER90} Result:= 'VER90'; Exit;{$ENDIF} {$IFDEF VER80} Result:= 'VER80'; Exit;{$ENDIF} End; //Unit Description UnitIndex Master Index
Function GetProductName(): String; Begin Result:=''; {$IFDEF VER300} Result:= 'Delphi Seattle'; Exit;{$ENDIF} {$IFDEF VER290} Result:= 'Delphi XE8'; Exit;{$ENDIF} {$IFDEF VER280} Result:= 'Delphi XE7'; Exit;{$ENDIF} {$IFDEF VER270} Result:= 'Delphi XE6'; Exit;{$ENDIF} {$IFDEF VER260} Result:= 'Delphi XE5'; Exit;{$ENDIF} {$IFDEF VER250} Result:= 'Delphi XE4'; Exit;{$ENDIF} {$IFDEF VER240} Result:= 'Delphi XE3'; Exit;{$ENDIF} {$IFDEF VER230} Result:= 'Delphi XE2'; Exit;{$ENDIF} {$IFDEF VER220} Result:= 'Delphi XE'; Exit;{$ENDIF} {$IFDEF VER210} Result:= 'Delphi 2010'; Exit;{$ENDIF} {$IFDEF VER200} Result:= 'Delphi 2009'; Exit;{$ENDIF} {$IFDEF VER190} Result:= 'Delphi 2007 for .Net'; Exit;{$ENDIF} {$IFDEF VER185} Result:= 'Delphi 2007'; Exit;{$ENDIF} {$IFDEF VER180} Result:= 'Delphi 2006'; Exit;{$ENDIF} {$IFDEF VER170} Result:= 'Delphi 2005'; Exit;{$ENDIF} {$IFDEF VER160} Result:= 'Delphi 8'; Exit;{$ENDIF} {$IFDEF VER150} Result:= 'Delphi 7'; Exit;{$ENDIF} {$IFDEF VER140} Result:= 'Delphi 6'; Exit;{$ENDIF} {$IFDEF VER130} Result:= 'Delphi 5'; Exit;{$ENDIF} {$IFDEF VER125} Result:= 'C++Builder 4'; Exit;{$ENDIF} {$IFDEF VER120} Result:= 'Delphi 4'; Exit;{$ENDIF} {$IFDEF VER110} Result:= 'C++Builder 3'; Exit;{$ENDIF} {$IFDEF VER100} Result:= 'Delphi 3'; Exit;{$ENDIF} {$IFDEF VER93} Result:= 'C++Builder 1'; Exit;{$ENDIF} {$IFDEF VER90} Result:= 'Delphi 2'; Exit;{$ENDIF} {$IFDEF VER80} Result:= 'Delphi 1'; Exit;{$ENDIF} End; Initialization Finalization end. //