zoukankan      html  css  js  c++  java
  • The CompilerVersion constant identifies the internal version number of the Delphi compiler.

    http://delphi.wikia.com/wiki/CompilerVersion_Constant

    The CompilerVersion constant identifies the internal version number of the Delphi compiler.

    It is defined in the System unit and may be referenced either in code just as any other constant:

    if CompilerVersion = 20 then

      sCompilerName := 'Delphi 2009';

    or in conditional compiler expressions:

    {$if CompilerVersion > 18}

      // Delphi 2007 or later

    {$ifend}

    The CompilerVersion constant was introduced in Delphi 6 along with conditional expressions.

    In earlier Delphi versions various compiler defined VERxxx symbols are used to determine compiler versions.

    CompilerVersion values and the equivalent compiler defined symbols for the Delphi versions in which the CompilerVersion constant is defined are:

    Compiler
    CompilerVersion

    Defined Symbol

    Delphi XE5
    26
    VER260

    Delphi XE4
    25
    VER250

    Delphi XE3
    24
    VER240

    Delphi XE2
    23
    VER230

    Delphi XE
    22
    VER220

    Delphi 2010
    21
    VER210

    Delphi 2009
    20
    VER200

    Delphi 2007 .NET
    19
    VER190

    Delphi 2007
    18.5
    VER185

    Delphi 2006
    18
    VER180

    Delphi 2005
    17
    VER170

    Delphi 8 .NET
    16
    VER160

    Delphi 7
    15
    VER150

    Delphi 6
    14
    VER140

    Delphi 5
    13
    VER130

    Delphi 4
    12
    VER120

    Delphi 3
    10
    VER100

    Delphi 2
    9
    VER90

    Delphi 1
    8
    VER80

    http://delphi.wikia.com/wiki/Borland_Compiler_Conditional_Defines

    Product Name
    Version

    Conditional Define

    CompilerVersion

    Embarcadero RAD Studio XE5
    19.0
    VER260
    26

    Embarcadero RAD Studio XE4
    18.0
    VER250
    25

    Embarcadero RAD Studio XE3
    17.0
    VER240
    24

    Embarcadero RAD Studio XE2
    16.0
    VER230
    23

    Embarcadero RAD Studio XE
    15.0
    VER220
    22

    Embarcadero RAD Studio 2010
    14.0
    VER210
    21

    CodeGear C++ Builder 2009
    12.0
    VER200
    20

    CodeGear Delphi 2007 for .NET
    11.0
    VER190
    19?

    CodeGear Delphi 2007 for Win32
    11.0
    VER180 and VER185
    18, 18.5

    Borland Developer Studio 2006
    10.0
    VER180
    18

    Borland Delphi 2005
    9.0
    VER170
    17

    Borland Delphi 8 for .NET
    8.0
    VER160 *
    16

    C++BuilderX
    ?
    ?

    Borland C#Builder
    1.0
    VER160 *

    Borland Delphi 7
    7.0
    VER150
    15

    Borland Kylix 3
    3.0
    VER140 **

    Borland C++Builder 6
    ?
    VER140 **(!!)

    Borland Kylix 2
    2.0
    VER140 **

    Borland Delphi 6
    6.0
    VER140 **
    14

    Borland Kylix
    1.0
    VER140 **

    Borland C++Builder 5
    ?
    VER130 ***

    Borland Delphi 5
    5.0
    VER130 ***

    Borland C++Builder 4
    ?
    VER125

    Borland Delphi 4
    4.0
    VER120

    Borland C++Builder 3
    ?
    VER110 ****

    Borland Delphi 3
    3.0
    VER100

    Borland C++ 5
    ?
    ?

    Borland C++Builder 1
    ?
    VER93

    Borland Delphi 2
    2.0
    VER90

    Borland C++ 4.5
    ?
    ?

    Borland Delphi
    1.0
    VER80

    Borland C++ 4
    ?
    ?

    Borland Pascal 7
    7.0
    VER70

    Borland C++ 3.1
    ?
    ?

    Turbo Pascal for Windows 1.5
    1.5
    VER70

    Turbo C++ for DOS 3
    ?
    ?

    Borland C++ 3
    ?
    ?

    Turbo C++ for Windows 3 (Win16)
    ?
    ?

    Turbo Pascal for Windows 1.0
    1.0
    ???

    Borland C++ 2
    ?
    ?

    Turbo Pascal 6
    6.0
    VER60

    Turbo C++ for DOS
    ?
    ?

    Turbo C for DOS 2
    ?
    ?

    Turbo Pascal 5.5
    5.5
    VER55

    Turbo C for DOS 1.5
    ?
    ?

    Turbo Pascal 5
    5.0
    VER50

    Turbo Pascal 4
    4.0
    VER40

    Turbo C for DOS
    ?
    ?

    Turbo Pascal 3
    3.0
    ???

    Turbo Pascal 2
    2.0
    ???

    Turbo Pascal 1
    1.0
    ???

    * This conditional define is shared by the Delphi compilers used to build C#Builder 1 and Delphi 8, which do not natively support Delphi for Win32.

    This define is used in the "IDE Integration Packs" that were released to Borland partners in order to allow IDE plugins like ModelMaker Code Explorer

    (http://www.modelmakertools.com/code-explorer/index.html) and

    Castalia (http://www.delphi-expert.com/castalia3) to be compiled.

    ** This conditional define is shared between C++Builder 6, Delphi 6, Kylix 1, 2, and 3

    (Checking for the conditional define "LINUX" helps to determine whether the compiler is Kylix or Delphi and "BCB" can be used to determine if C++Builder is being used).

    *** This conditional define is shared with C++Builder 5

    **** C++Builder 3.0 used VER110 (it had its own version of the Delphi compiler included).

    **** CompilerVersion (Delphi 6 or later) can be used with conditional directives like

    {$IF CompilerVersion >= 20}  {$DEFINE CanUnicode}  {$IFEND}

    or using code:

    if System.CompilerVersion >= 22 then  <do something>;
  • 相关阅读:
    eclipse中的任务标记(TODO、FIXME、XXX)
    编码规范参考
    MVC,MVP 和 MVVM
    Android的两种事件处理机制
    在Eclipse中自定义类似syso的快捷代码模板
    Android
    eclipse使用tips-Toggle Mark Occurrences 颜色更改
    从 Eclipse 迁移至 Android Studio
    Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
    [POJ 2976]Dropping tests(0-1分数规划)
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/5034900.html
Copyright © 2011-2022 走看看