Delphi CompilerVersion Constant / Compiler Conditional Defines
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>;
Delphi CompilerVersion Constant / Compiler Conditional Defines的更多相关文章
- The CompilerVersion constant identifies the internal version number of the Delphi compiler.
http://delphi.wikia.com/wiki/CompilerVersion_Constant The CompilerVersion constant identifies the in ...
- Delphi For Linux Compiler
Embarcadero is about to release a new Delphi compiler for the Linux platform. Here are some of the k ...
- Delphi 版本号(D1到XE6),发现一个delphi.wikia.com网站
Borland Compiler Conditional Defines Edit Talk1 2,909PAGES ONTHIS WIKI Product Name Version Cond ...
- Delphi 项目配置选项
打开项目设置窗口: 通过菜单:项目>选项 快捷键 :Shift+Ctrl+F11 Delphi编译器选项说明 Conditional defines 指定条件编译器指令中引用的符号. O ...
- 最新的Delphi版本号对照
The CompilerVersion constant identifies the internal version number of the Delphi compiler. It is de ...
- Delphi的命令行编译命令
Borland出品的Delphi,有着闪电般的编译速度,但是在界面控件使用较多.工程项目较大的时候,编译一个工程仍需要一段时间,打开庞大的Delphi IDE,也需要时间.其实,在一个工程开发结束,调 ...
- [Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230 (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...
- Delphi 项目 结构 文件夹 组织
Delphi Project Structure Folder Organization http://delphi.about.com/od/delphitips2008/qt/project_la ...
- [Delphi]编译条件
当软件在多个DELPHI版本下编译时,需要处理各版本的不同情况,使用编译条件技术实现. 万一博客,编译指令基础使用介绍:http://www.cnblogs.com/del/category/1686 ...
随机推荐
- KM bfs写法
KM bfs写法 2018astar资格赛的第三题整数规划. 把\(x, y\)看成二分图两边的顶标,\(a_{ij}\)就是二分图的边权,整道题其实就是求二分图的最大权匹配. 然后打了个\(dfs\ ...
- UVA题解三
UVA题解三 UVA 127 题目描述:\(52\)张扑克牌排成一列,如果一张牌的花色或者数字与左边第一列的最上面的牌相同,则将这张牌移到左边第一列的最上面,如果一张牌的花色或者数字与左边第三列的最上 ...
- HDU 5936 朋友
题意为给出一棵n个节点的树,这棵树的每条边有一个权值,这个权值只可能是0或1. 在一局游戏开始时,会确定一个节点作为根. 当一方操作时,他们需要先选择一个不为根的点,满足该点到其父亲的边权为1; 然后 ...
- C++循环链表解决约瑟夫环问题
约瑟夫环问题可以简单的使用数组的方式实现,但是现在我使用循环链表的方法来实现,因为上午看到一道面试题规定使用循环链表解决约瑟夫环问题. 什么是约瑟夫环? “约瑟夫环是一个数学的应用问题:已知n个人(以 ...
- php返回json数据函数实例_php技巧_脚本之家
本文实例讲述了php返回json数据函数的用法,分享给大家供大家参考.具体方法如下: json_encode()函数用法: echo json_encode(array('a'=>'bbbb', ...
- 统计学习方法三:K近邻
一.什么是K近邻? K近邻是一种基本的分类和回归方法. 在分类时,对新的实例,根据其K个最近邻的训练实例的类别,通过多数表决权等方式预测其类别. 通俗的讲,找K个和其关系最近的邻居,哪个类别的邻居多, ...
- android 代码设置、打开wifi热点及热点的连接(转)
用过快牙的朋友应该知道它们在两天设备之间传输文件的时候使用的是wifi热点,然后另一台便连接这个热点再进行传输.快牙传输速度惊人应该跟它的这种机制有关系吧.不知道它的搜索机制是怎样的,但我想应该可 ...
- int类中的方法(二)
25.__pos__(self,*args,**kwargs) def __pos__(self, *args, **kwargs): # real signature unknown &qu ...
- keycloak学习
keycloak 是一个针对Web应用和RESTfull Web API 提供SSO(Single Sign On:单点登陆),它是一个开源软件,源码地址是:https://github.com/ke ...
- TextView部分文字可点击跳转
效果图: 需求:每个item的文字都有两部分是连接可点击 当然需要用到SpannableString和ClickableSpan. import android.text.TextPaint; imp ...