当前位置: 首页 > news >正文

Delphi

Delphi,是美国 Borland(宝兰)公司於 1995 年开发在 Windows 平台下的快速应用程式开发工具 (Rapid Application Development,简称 RAD),它的前身是在 DOS 下的产品 Borland Turbo Pascal。(非开源软件)

从产品名称上就可以知道,Turbo Pascal 使用的是 Pascal 语言。 从 Turbo Pascal 5.5 版本开始,Borland 公司在传统 Pascal 的基础上加入了物件導向的功能。

Delphi 是一个集成开发环境(IDE),使用的核心是由传统 Pascal 语言发展而来的 Object Pascal 语言,通过图形用户界面(Graphical User Interface,简称 GUI)作为开发环境,透過 IDE 與 VCL 工具與編譯器,配合連結資料庫的功能,作成一個以面向对象设计為中心的開發工具。Delphi 程式撰寫後所編譯的執行檔,可以獨立執行,容量較大些,但效能上卻比較快,除了使用資料庫的程式外不需安裝即可執行,使用上相當方便。

它在本质上是一个代码编辑器而不是一种语言,但是由于 Delphi 是几乎是目前市场上唯一一个使用 Pascal 语言並持續推出新版的产品,因此有的 时候人们称呼 Delphi 为 Object Pascal 的代名词。因此 Borland 公司已经把 Object Pascal 语言改称为 Delphi 语言。2006,Borland 把开发工具产品线独立出来,成立了一家新的公司 CodeGear 负责。原本的 Delphi 一度被命名位 Turbo Delphi。但是在新的版本中,除了 Delphi for Win32(原有的 Delphi 版本)之外,还有一个新的产品被命名为 Delphi for PHP。因此,在目前的 CodeGear 的发展规划中,或许 “Delphi” 这个名称不再是 ObjectPascal 语言的专有 IDE,而是将被扩展为一 个通用的 IDE 名称。

Delphi 1、2 版本基本沿用了 DOS 时代下由 Anders Hejlsberg 使用汇编语言编写的 Turbo Pascal 编译器(由於品质良好,於是几乎没有工程师随意改动这些程序码)。
从 Delphi 3 开始 Danny Thorpe 修 改了 Delphi 的编译器,接支持 COM 接口的引用计数值(Reference Count)的维护工作,以免除开发者繁杂的程序代码。同时 Danny 也在 Object Pascal 程序语言本身中加入接口(Interface)的机制,让 Object Pascal 和 Java 一样对接口程序设计都提供 First Class 的支持。Delphi 1/2 中 Object Pascal 变化的部分很少,但是从 Delphi 3 之后,每一新版的 Delphi 在 Object Pascal 程序语言本身都有进步。

与同时代的产品相比,它最大的优势就是不但提高了编程效率,而且在提高编译速度的同时也保证了生成的机器码的高效。

每一种开发工具仅仅有语言是不够的,还需要一个完备的函数库/类库。Delphi 使用的类库是 VCL(Visual Component Library)。同 MFC 、OWL 一样, VCL 也是一个开发框架(Framework),采用了面向对象技术对 Windows 的开发进行了封装,使用 PME(Property/Method/Event)的开发模式,极大的提高了开发效率。

在 Delphi 7 之後支援 Linux 下使用对应的 Kylix, 目前 Kylix 的最新版本为 3。Borland 公司为了支持 Delphi 的跨平台开发,从 Delphi 6.0 开始加入了另外一个开发框架 CLX。开发人员可以使用 CLX 框架开发出可以在 Kylix 中编译的程序。但是從 Delphi 8 開始,Delphi 的後續版本中並不再提供對 CLX 的支援。

2003 年推出的 Delphi 从 8.0 版本开始正式支持微软公司的.NET 平 台。Delphi9 via Delphi 2005 将 Delphi 包容在一个 IDE 环境中(同时也支持 C#)。由於提供了.Net Framework 的 CLR,因此可以使用 Delphi 的程式碼編譯成和.NET 相同的執行碼,也可使用.NET 的各項 Library,程式設計上更有彈 性。

應用程式開發團隊每位成員不見得用同一套開發工具,因此 Delphi 支援 COM/DCOM 與 CORBA,可供 Delphi 設計人員使用 Visual C++、Visual BASIC 的 ActiveX 元件,或使用 DCOM、CORBA 的功能讓 JAVA 應用程式取用其共享功能。

http://www.lryc.cn/news/362234.html

相关文章:

  • Linux的shell脚本中的比大小
  • 每日复盘-20240603
  • adb server version (22000) doesn‘t match this client (41); killing...
  • 如何使用 Connector API 将数据提取到 Elasticsearch Serverless 中
  • 体育赛事直播系统开发源码搭建
  • 使用Jmeter进行性能测试
  • AI技术的发展,会让你工作轻松吗
  • Spring-DI入门案例
  • ubuntu18.04 报错:fatal error: execution
  • 开源大模型与大模型api的使用优缺点
  • 小红书前端2轮面试期望22K,全程问低代码设计
  • HIK录像机GB28181对接相机不在线问题随笔
  • stm32-DMA转运数据
  • Java编程常见问题汇总一
  • 用Unityhub安装unity2018.3.0和vuforia
  • 智汇云舟与芯瞳完成兼容适配,共建国产化生态体系
  • 「动态规划」最大子数组和
  • 【LeetCode 130. 被围绕的区域】
  • 超市管理系统设计1——基本功能设计
  • 前端性能优化总结笔记
  • 51种企业应用架构模式详解
  • 零基础入门学习Python第二阶04SQL详解03
  • 【第二节】C/C++数据结构之线性表
  • 千帆 AppBuilder 工作流编排功能直播总结
  • Android百度人脸识别3.0配置
  • dolphinscheduler docker部署海豚mysql版本,docker重新封装正在运行服务为镜像
  • QAnything-1.4.01.4.1版本更新!使用指北!
  • 【ARM】Fusa Compiler 6.16 LTS的安全认证报告获取
  • 数据持久化第七课-URL重写与Ajax
  • 静态网页实现-人脸识别-案例(web)