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 ...
随机推荐
- Linux软件安装install命令
install 1.作用 install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户. 2.格式 (1)install [选项]... 来源 目的地 (2)install [选项]. ...
- POJ 3087 Shuffle'm Up (模拟+map)
题目链接:http://poj.org/problem?id=3087 题目大意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块 ...
- Quartz任务调度入门
Quartz任务调度入门 了解Quartz体系结构Quartz对任务调度的领域问题进行了高度的抽象,提出了调度器.任务和触发器这3个核心的概念,并在org.quartz通过接口和类对重要的这些核心概念 ...
- Hilite代码高亮工具
在用<有道云笔记>等软件时候,软件自身不提供代码高亮功能,对于需要记录code的学习笔记,视觉效果丢失. 有很多在线工具能用来代码高亮,比如oschina就有代码高亮页面用于着色. 但是我 ...
- 关闭windows 7的自动休眠功能
powercfg -h off powercfg -h on https://www.tulaoshi.com/n/20160401/2075397.html powercfg -h on 该文章&l ...
- 洛谷 P2788数学1(math1)- 加减算式 题解
题目传送门 这道题目可以使用C++的神奇功能: #include<bits/stdc++.h> using namespace std; int ans,t; int main(){ wh ...
- IOS - Safari中click点击事件无效
做web移动端页面时,安卓端一点问题也没,发现在ios真机上点击事件无效,发现Safari下只有默认可点击的元素才click点击事件,像span div等元素是不具有点击事件的. 解决问题四种方式: ...
- 关于Web2.0概念的一篇小短文
Web2.0程序设计的第一篇作业,写了就顺手放上来吧. 在互联网泡沫破裂数年后,Tim O'Reilly与John Battelle总结了互联网产业复兴过程中出现的一系列现象,在2004年举办的第一届 ...
- HTML如何创建二级目录
#classify ul li div{width:100px; height:200px; display:none; position:absolute; left:100px; top ...
- 【ASP.NET MVC】Ajax提交表单
下面这段代码主要有几个特点: 1.Ajax提交表单 2.表单中有一个<input type="file"/> 3.当选择完图片后,利用AJAX提交表单,并在执行成功后返 ...