2月14号是Delphi 1的24周年纪念日…Borland公司发布了Delphi 10.3 Rio Release 1(或10.3.1)来庆祝这个特别的日子。
Borland公司于1995年2月14日推出了Delphi 1,2019年2月14号是这款产品的24周年庆。如果你想看到一些关于该产品及其发布的历史,可以参看博文“22 Years of Delphi and it Still Rocks”(http://blog.marcocantu.com/blog/2017-january-22years-delphi.html)。在那篇文章中,我收集了该产品早期的一些图片,有些甚至比产品本身还早。
在这篇文章中,我主要使用屏幕截图,将运行在Windows 3上的Delphi 1与运行在Windows 10上的Delphi 10.3.1进行比较。它们的差别非常大,也会有一些惊喜。不过,在开始之前,我先介绍一下新版本的发布公告。
Delphi 10.3.1已于2月14号发布
Sarina的官方公告中提到,Delphi 10.3.1主要关注质量问题,同时也提供了一些很好的补充(特别是新的IDE工具),具体更新可参看下面链接:
docwiki发布说明:http://docwiki.embarcadero.com/RADStudio/Rio/en/10.3_Rio_-_Release_1
修复的缺陷:http://docwiki.embarcadero.com/RADStudio/Rio/en/New_features_and_customer_reported_issues_fixed_in_RAD_Studio_10.3.1
24年,Delphi经历了哪些挑战?
首先我们先来回顾一下Delphi在24年间经历了哪些挑战?我们用软件截图来看看,在24年前,Delphi长什么样子?
先来展示一下24年前和今天在操作系统中找到和启动应用程序的方法:
以前从哪里找到Delphi的启动图标,而现在呢?
在Delphi 1中,有一个指向帮助文件的链接,而现在必须从产品中启用它:
启动Delphi 1之后,在默认情况下你会有一个新项目和一个新的VCL表单,很少会有其他选项。而现在,你会看到一个欢迎页面,可以创建一个Windows/VCL或多设备/FMX的项目(如下所示):
现在,让我们使用新旧Delphi来创建相同的应用程序!之前有一个按钮、一个输入框和一个列表框。下面的一个使用了FireMonkey:
非常出色的用户界面(开玩笑!)。现在让我们为按钮的OnClick编写一个事件处理程序,代码看上去是非常相似的!
现在让我们运行应用程序,在Windows 3上运行Delphi 1,在Windows 10上运行Delphi 10.3…但是同样的源代码现在也可以在Android 9上编译和运行!
当然,你仍然可以调试应用程序(现在也可以在移动设备上调试):
我们顺便也看一下项目源代码:
如何获取已编译程序的信息?旧版本的文件更小一些…不过Delphi仍然会在所有支持的平台上生成原生二进制文件!
项目选项?以下是24年前和今天的Delphi项目编译器/语言选项:
Delphi 1早期比较好的功能是它对数据库的支持及它的Database Form Expert。现在我们使用的是RAD Server Wizard…
编辑器已经发生很大的变化,“Find Text”对话框是这样的:
最后是“关于”对话框:
最后,是产品一直有的复活节彩蛋,包含了贡献者名单(显示彩蛋的组合键仍然是一样的!)。请注意Delphi 1的后面三个人,他们分别是Delphi、C#和TypeScript的作者!
到这里就结束了,我正在考虑制作一个完整的视频……但或许要等到明年的生日了!这款常青树产品有着伟大的过去,也有一个伟大的现在和未来。如果你是活跃的订阅客户,请享受Delphi 10.3.1!如果不是,你仍然可以购买它,或者使用试用版或下载新的社区版。
英文原文:http://blog.marcocantu.com/blog/2019-february-24-years-delphi.html
判断当前 Delphi 的运行库版本:
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.Text := FloatToStr(System.CompilerVersion);
end;
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 10.2 Tokyo | 32 | VER320 |
Delphi 10.1 Berlin | 31 | VER310 |
Delphi 10 Seattle | 30 | VER300 |
Delphi XE8 | 29 | VER290 |
Delphi XE7 | 28 | VER280 |
Delphi XE6 | 27 | VER270 |
AppMethod 1 | 26.5 | VER265 |
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 (also VER180) |
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 |