浙江平湖建设局网站/免费友链平台
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 應用程式取用其共享功能。
相关文章:

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

Linux的shell脚本中的比大小
如果要将 -le 换成相反的(即“大于”),你应该使用 -gt(greater than)。 所以,-le 的相反比较是 -gt。 但如果你想要一个包含“大于”和“不等于”的比较(即“大于”),那…...

每日复盘-20240603
20240603 六日涨幅最大: ------1--------300637--------- 扬帆新材 五日涨幅最大: ------1--------300637--------- 扬帆新材 四日涨幅最大: ------1--------301306--------- 西测测试 三日涨幅最大: ------1--------301306--------- 西测测试 二日涨幅最大: ------1--------30…...

adb server version (22000) doesn‘t match this client (41); killing...
参考链接: adb server version (31) doesn’t match this client (41); killing… 解决此问题 电脑安装了360手机助手占用了adb的端口引起的。因为套接字的唯一性(一个套接字只能由 协议/网络地址/端口号 唯一确定 ),一个电脑只能有一个程序…...

如何使用 Connector API 将数据提取到 Elasticsearch Serverless 中
作者:来自 Elastic Jedr Blaszyk Elasticsearch 支持一系列摄取方法。 其中之一是 Elastic Connectors,它将 SQL 数据库或 SharePoint Online 等外部数据源与 Elasticsearch 索引同步。 连接器对于在现有数据之上构建强大的搜索体验特别有用。 例如&…...

体育赛事直播系统开发源码搭建
随着体育产业的蓬勃发展,体育赛事直播已成为广大观众获取赛事信息的重要途径。为了满足观众日益增长的需求,开发一套专业的体育赛事直播系统成为当务之急。本文将围绕体育赛事直播系统开发源码搭建进行深入探讨,从技术选型、系统架构、安全防…...

使用Jmeter进行性能测试
学习视频 B站UP主:白月黑羽编程 目录 Jmeter的下载 Jmeter界面 Jmeter操作 线程组与HTTP请求 测试一个请求 解决响应数据中 中文乱码的问题 HTTP请求默认值 录制网站流量 添加录制控制器 添加HTTP代理服务器 在浏览器配置代理 进行录制 模拟间隔时间 …...

AI技术的发展,会让你工作轻松吗
这两年,人工智能技术迅猛发展,AI产品层出不穷,尤其大语言模型(LLM)的爆火,许多人担心自己的工作会被AI取代。然而,如果AI技术发展到极致,再加上其他科学技术的高度发展,我…...

Spring-DI入门案例
黑马程序员SSM框架教程 文章目录 一、DI入门案例思路分析二、实现步骤2.1 删除service中使用new形式创建的Dao对象2.2 提供以来对象对应的setter方法2.3 配置service与到之间的关系 一、DI入门案例思路分析 基于IoC管理bean(上个案例已经实现)service中…...

ubuntu18.04 报错:fatal error: execution
一、问题描述 在ubuntu18.04上编译Faster-lio 报错: fatal error: execution: 没有那个文件或目录#include <execution> 二、解决方法 需要将g编译器更新到9.0 sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install g…...

开源大模型与大模型api的使用优缺点
开源大模型和大模型 API 都是人工智能领域中的重要概念,它们各自有一些优缺点。 开源大模型: 优点: 免费使用: 大多数开源大模型是免费提供的,任何人都可以访问和使用这些模型,降低了使用门槛。可定制性…...

小红书前端2轮面试期望22K,全程问低代码设计
一面(通过) 1、好,那我们开始把,先简单介绍一下自己的一个经历,以及自己有亮点的项目?balabala 2、你可以这样介绍:在这里边主要负责哪几个项目,哪些项目是比较有亮点的࿰…...

HIK录像机GB28181对接相机不在线问题随笔
一、问题现象 【设备信息】型号:DS-8664N-I16-V3 V4.63.000 build 230412 【问题现象】HIK录像机使用GB28181对接异常相机无法正常上线,对接HIK相机可以正常上线。 【现场拓扑】现场拓扑如下 NVR侧使用固定公网IP地址。IPC侧使用家用宽带的方式&…...

stm32-DMA转运数据
在配置前要记得先定义一下DMA转运的源端数组和目标数组两个数组哦。 接下来我们就开始准备配置吧 配置 初始化 1.RCC开启时钟(开启DMA的时钟) void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState) 作用:开启时…...

Java编程常见问题汇总一
系列文章目录 文章目录 系列文章目录前言一、字符串连接误用二、错误的使用StringBuffer三、测试字符串相等性四、数字转换成字符串五、利用不可变对象(Immutable) 前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分…...

用Unityhub安装unity2018.3.0和vuforia
打开下载网址 https://unity.cn/releases/full/2018 选择2018.3.x 找到2018.3.0后,点击从UnityHub下载 然后unityhub会弹出安装界面 只勾选这两个,其余的全部取消勾选,默认勾选上的也取消掉,然后点击安装...

智汇云舟与芯瞳完成兼容适配,共建国产化生态体系
近日,智汇云舟的视频孪生系列产品和时空大数据系列产品已完成与芯瞳半导体技术(山东)有限公司GPU产品GB2062/GB2064/CQ2040/CQ2040 MXM/CQ2040 MD的相互兼容性测试认证。双方产品经过严格测试,已完成兼容适配,具备良好…...

「动态规划」最大子数组和
力扣原题链接,点击跳转。 请在一个数组nums中找出一个子数组,使得这个子数组中所有元素的和最大。 你当然可以采取暴力枚举的方法,但是效率太低。这里我们用动态规划的思想来解决这个问题。首先确定状态表示:我们用dp[i]表示以i…...

【LeetCode 130. 被围绕的区域】
1. 题目 2. 分析 这题其实非常不错。如果正向解,非常麻烦;因为很难界定哪些O是被包围的?但是如果反向解呢?因为边界的O不会被包围,那么就可以想到跟边界O相连的O都不会被包围。那么除此之外的O都会被包围,…...

超市管理系统设计1——基本功能设计
超市管理系统基础功能类设计 1. 概述 本设计文稿提供一个基础的超市管理系统,包含基本的功能设计。该系统将管理商品、顾客、员工和交易记录,不需要接入数据库,通过文件存储数据,并满足面向对象编程的基本要求(继承、…...

前端性能优化总结笔记
资源加载优化 DNS预解析 简单介绍: DNS 的作用是将域名解析为 IP 地址,解析的过程是耗时的,转化后会做本地缓存,我们的优化的目标主要是针对用户第一次访问站点的时候陷入长时间白屏的问题。 DNS 解析可以分为两类: 第一类是页面 DNS 解…...

51种企业应用架构模式详解
01 什么是企业应用 我的职业生涯专注于企业应用,因此,这里所谈及的模式也都是关于企业应用的。(企业应用还有一些其他的说法,如“信息系统”或更早期的“数据处理”。)那么,这里的“企业应用”具体指的是什…...

零基础入门学习Python第二阶04SQL详解03
MySQL 新特性 JSON类型 很多开发者在使用关系型数据库做数据持久化的时候,常常感到结构化的存储缺乏灵活性,因为必须事先设计好所有的列以及对应的数据类型。在业务发展和变化的过程中,如果需要修改表结构,这绝对是比较麻烦和难…...

【第二节】C/C++数据结构之线性表
目录 一、线性表基本说明 1.1 基本概念 1.2 抽象数据类型 1.3 存储结构 1.4 插入与删除的区别 1.5 顺序存储和链式存储的优缺点 二、链表 2.1 基本概念 2.2 抽象数据类型 2.3 单链表的定义 2.4 单链表的基本操作 2.5 单链表模板形式的类定义与实现 三、单向循环链…...

千帆 AppBuilder 工作流编排功能直播总结
千帆 AppBuilder 工作流编排功能直播总结 上个月,千帆AppBuilder推出了一项引人瞩目的新功能——工作流编排。在官方直播中,百度产品经理不仅深入介绍了这项功能,而且还通过创建多个组件,生动展示了AppBuilder组件工作流的强大…...

Android百度人脸识别3.0配置
JDK 必须是16的版本 如果报错的错误是"opens java.io" org.gradle.jvmargs -Xmx2048M -Dkotlin.daemon.jvm.options\"-Xmx2048M" --add-exportsjava.base/sun.nio.chALL-UNNAMED --add-opensjava.base/java.langALL-UNNAMED --add-opensjava.base/java.…...

dolphinscheduler docker部署海豚mysql版本,docker重新封装正在运行服务为镜像
1.官方文档: https://dolphinscheduler.apache.org/zh-cn/docs/3.2.1/guide/installation/standalone#%E9%85%8D%E7%BD%AE%E6%95%B0%E6%8D%AE%E5%BA%93 2.github: dolphinscheduler/docs/docs/zh/guide/howto/datasource-setting.md at 3.2.1-release apache/do…...

QAnything-1.4.01.4.1版本更新!使用指北!
久等了各位!时隔一个多月,我们在4月26日和5月20日接连发布了v1.4.0和v1.4.1两个版本,带来了问答性能,解析效果等多方面的改进,并新增了大量的新功能和新特性 详见:releases 以及 使用说明 最新特性表 开发…...

【ARM】Fusa Compiler 6.16 LTS的安全认证报告获取
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解ARM的Arm Compiler for Embedded FuSa 6.16 LTS的安全认证证书和报告的获取 2、 问题场景 对于使用了ARM DS Gold/Platinum、MDK pro或者Arm Compiler for Embedded FuSa 6.16 LTS产品的客户。在对于最终的产品…...

数据持久化第七课-URL重写与Ajax
数据持久化第七课-URL重写与Ajax 一.预习笔记 1.URL重写(对网页地址进行保护) 首先编写module,实现对网络地址的处理 其次就是module的配置 最后验证url重写技术 2.Ajax数据交互 编写后端响应数据 处理跨域的配置问题 运行项目得到后端响应数据的地址 编写前端ajax进行数据请…...