DelphiXE相关技术
文章平均质量分 59
Delphi虽然不是最流行的开发工具,但是DelphiXE依然在自己的岗位上发展并创造自己的价值,快速开发以及稳定的生态系统任然是Delphi XE的最大优势,希望大家能喜欢Delphi。
zxm8513
我的心里有精灵...
工业互联网在企业数字化转型中的贡献类似于实体经济之于国家经济的贡献。
展开
-
IndyTcpServer使用详解
OnExecute事件是无限循环的,只要客户端没有断开,就会一直循环调用,这里是属于Socket线程,操作VCL控件请交给主线程。原创 2024-05-03 17:21:27 · 56 阅读 · 0 评论 -
Delphi12TMS控件的安装方法
首先执行下位文件包中的auther文件,会生成安装包的TMS控件安装工具,作者做的很认真,如下图所示。原创 2024-02-22 09:17:46 · 267 阅读 · 0 评论 -
Delphi12安装体验
delphi12已经出来几个月了,相关配套的控件基本也跟上了,可以试用一下。原创 2024-02-19 00:06:31 · 567 阅读 · 0 评论 -
工业领域常用的组态软件介绍
组态软件是一种用于创建、配置和管理监控和控制系统的软件工具。组态是指不需要编写计算机程序、通过类似“配置”的方式完成工业应用开发的系统。它们通常用于工业自动化领域,用于实时监视和控制工业过程。组态软件提供了丰富的功能和工具,使用户能够创建用户界面、配置数据采集和通信、设置报警和事件处理、进行数据分析和报告生成等。通过组态软件,用户可以实时监控和控制工业设备和过程,并对数据进行可视化和分析,以便做出更好的决策和优化生产效率。组态软件通常支持各种通信协议和设备接口,以便与不同类型的设备和系统进行集成。原创 2024-01-17 19:48:31 · 92 阅读 · 0 评论 -
Python4Delphi安装及编译
1.下载或直接克隆python4delphi组件资源到指定目录,我这里下载到Components文件夹下,并对下载的文件夹进行了重命名为(P4D),重命名不是必须的。3.5启动成功后如下图,可以点击Load script加载python脚本文件,也可以直接在下面的Memo中直接输入代码运行。2.2选择第1步中的Components文件夹,并勾选,点击next后即开始安装,见下图。2.1选择需要安装的包进行安装,点击next继续,见下图。2.3安装完成后的结果,见下图,点击finish完成安装。原创 2024-01-17 19:39:37 · 144 阅读 · 0 评论 -
S7通信协议解析
固定报文头:buffer[0]=0x03,buffer[1]=0x00 报文长度(字节个数):buffer[2]=0x00,buffer[3]=0x25 【报文长度=35+字节数组个数】冗余标识(保留):buffer[9]=0x00,buffer[10]=0x00,buffer[11]=0x00,buffer[12]=0x01。标识序列号:buffer[9]=0x00,buffer[10]=0x00,buffer[11]=0x00,buffer[12]=0x01。原创 2023-12-31 23:40:21 · 495 阅读 · 0 评论 -
使用delphi XE10.3.2 开发linux 上的Daemon
delphi 10.2 支持linux, 而且官方只是支持命令行编程,目地就是做linux 服务器端的开发。既然是做linux服务器端的开发,那么普通的命令行运行程序,然后等待开一个黑窗口的方式就太low了(目前就有个别语言大咖,经常在Windows 上开个黑窗口,看起来非常恶心),那么如果避免这个尴尬的问题?其实Linux 下也有类似windows 服务的功能,Linux Daemon 就是其中的一种方式,命令行运行后直接返回,同时在后台建立一个同样的进程。接受客户端的访问。原创 2023-08-26 16:53:39 · 610 阅读 · 0 评论 -
Delphi XE编写OCX控件
3、再次New->Other,才出现ActiveX组件内容。原创 2023-07-07 20:27:31 · 436 阅读 · 0 评论 -
SPComm通信故障总是丢失0X11的原因分析
2. 传输文件是有一个奇怪的显现,如果是txt文件的话,那么接收到的字节数是正确的,如果是doc,exe等文件,接收到的字节数是错误。首先,Spcomm是通过ReadIntervalTimeout属性的设置,来确定所接收到的数据是否属子同一帧数据,其默认值是100ms,也就是说,只要任何两个字节到达的时间间隔小于1OOms,都被认为是属于同一帧数据,在与单片机协同工作时,要特别注意这个问题。在使用Spcomm进行串口通信编程,除按照说明使用外,还需要特别注意以下两个问题。原创 2023-06-21 16:25:09 · 173 阅读 · 0 评论 -
节能降耗管理方案范文7篇
节能降耗是目前双碳政策下的重要应用,除了技术节能、工艺节能之外,从管理方面也是非常重要的应用方向,这里汇集了网络上艘测的多篇文章,具有非常重要的参考价值,供大家参考。 煤矿是耗能大户,能源消耗在煤矿建设、生产过程中占有相当重要的位置,而我国人口众多,能源和其它自然资源相对严重短缺,能源的合理节约使用不仅是一个经济问题,而且已成为重要的战略问题,因此在煤矿建设、生产过程中节约能源消耗,有效地利用能源,不仅是解决短期能源供应短缺的必要选择,更是为我国建设全面小康社会,进而实现现代化提供能源保障的长期战略选择。原创 2023-03-21 11:16:27 · 668 阅读 · 0 评论 -
YAML 入门教程
在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。- 2018-02-17T15:02:31+08:00 #时间使用ISO 8601格式,时间和日期之间使用T连接,最后使用+代表时区。意思是 companies 属性是一个数组,每一个数组元素又是由 id、name、price 三个属性构成。- 2018-02-17 #日期必须使用ISO 8601格式,即yyyy-MM-dd。- TRUE #true,True都可以。原创 2023-03-18 22:20:53 · 440 阅读 · 0 评论 -
XE10.3中安装tms 的web core、sparkle、aurelius、xdata组件
5、复制D:\riocomponents\TMS BCL v1.15.1.1\packages\drio\Win32\Debug中的两个dcp文件到C:\Users\Public\Documents\Embarcadero\Studio\20.0\DCP路径。复制D:\riocomponents\TMS BCL v1.15.1.1\packages\bpl\Win32中的两个bpl文件到C:\Users\Public\Documents\Embarcadero\Studio\20.0\bpl路径。原创 2023-03-12 16:22:28 · 435 阅读 · 0 评论 -
TMS Xdata Server开发
Xdata 在TMS中扮演的桥的角色,一年前仔细看过TMS 的源码,当时对流程很清晰,随着时间慢慢的过去,现在该忘记的都忘记了。所以用此文章来记录自己对Xdata还剩下的一点点的记忆...光有xdate是不能工作的,xdata的底层走的是sparkle,sparkle可以走indy,httpsys,或者其他通讯协议。如下图所示其中客户端可以使用xdata的客户端,同样也可以使用标准的http,https.进行访问。原创 2023-03-12 12:16:53 · 427 阅读 · 0 评论 -
Delphi XE开发android开发环境搭建
Delphi xe为使用Delphi作为开发工具的程序员,提供了开发APP的便捷工具,它的开发环境也是非常容易搭建,这里我简述一下Android的开发环境搭建,Delphi XE开发Android程序的开发环境需要三个软件支持:Java SE Development开发环境、Android SDK和Android Ndk开发环境。原创 2023-03-11 15:22:41 · 983 阅读 · 0 评论 -
TMS WEB Core开发Web应用优势说明
作为物联网时代的开发工具,通过Delphi自带的本机物联网传感器组件,可以直接访问硬件,例如:GPS、摄像头、麦克风、蓝牙设备、MQTT、串口、Modbus通信、PLC设备,并且执行速度更快,为树莓派、嵌入式Linux开发强大的物联网应用。长期支持和持续升级的VCL开发框架,让客户对项目更有自信的长远规划,强大的功能使公司能够轻松构建自定义工具或扩展组件,在客户选择的平台上进行开发,保护客户的源代码不被利用,并确信客户的应用程序可以维护数十年;此外,编辑器允许您根据需要使用代码更改 UI 元素;原创 2023-03-11 11:55:37 · 865 阅读 · 0 评论 -
git使用Coding的代码仓
git push。原创 2023-01-07 22:47:46 · 402 阅读 · 0 评论 -
FireDAC访问Linux下的MYSQL填坑过程
FireDAC作为Delphi XE访问数据库的方式非常广泛,作为客户端也非常方便使用,在一些特殊场景下非常有用。使用FireDAC访问数据库效率非常高,但是要注意使用的事项。原创 2023-01-04 00:09:16 · 395 阅读 · 0 评论 -
MySQL数据类型及建库脚本示例
MySQL的数据类型常用的数据类型有:整型(xxxint)位类型(bit)浮点型(float和double、real)定点数(decimal,numeric)日期时间类型(date,time,datetime,year)字符串(char,varchar,xxxtext)二进制数据(xxxBlob、xxbinary)枚举(enum)集合(set)原创 2022-12-29 15:41:14 · 687 阅读 · 0 评论 -
Windows下MySQL安装配置及与DelphiXE联机操作
有空了玩玩Mysql数据库,但是看了一下到处都是软文,全是广告,很多看了没用还误导人。这里我把我的经验和坑写出了,希望后续读到该文章的人能少走弯路。原创 2022-12-29 00:38:35 · 541 阅读 · 0 评论 -
Linux下使用C语言操作MYSQL数据库
定义一个添加数据用的函数int c_db_insert(MYSQL *mysql, char *sql)此时已经通过C代码与MYSQL数据库进行了连接,下一步便可以开始进行数据库的操作。第一个参数是传进来的mysql管道,第二个参数传进来要使用的sql语句。,这个lib库是Linux下C/C++连接mysql的客户端,先在文件最前面定义一些宏,方便后面使用。是mysql API提供的标准错误。的数据库,在库中建立一张名为。创建一个mysql结构体对象。函数初始化失败会返回NULL。在C文件中引入头文件。原创 2022-12-16 17:38:39 · 421 阅读 · 0 评论 -
Delphi开发技巧集合
告诉 webbrowser 使用IE去渲染,即可正常显示了!原创 2022-11-29 22:39:14 · 502 阅读 · 0 评论 -
电荷放大器的原理与应用
利用放大器输入虛地的概念,把电荷信号直接积分到电路中的积分电容, 从而放大器的输出,便是所有电荷量的总和的输出。但其最大的缺点是非理想放大 器漏电流偏置电流等会同时造成测量的结果缓慢的持续的注入,随着时间的推移,误差越大, 直到放大器完全的饱合。灵敏度的大小直接影响到传感器对振动信号的测量。不难理解,传感器的灵敏度应根据被测振动量(加速度 值)大小而定,但由于压电加速度传感器是测量振动的加速度值,而在相同的位移幅值条件下加速度值与信号的频率平方成正比,所以不同频段的加速度信号大小相 差甚大。原创 2022-11-22 14:53:28 · 1226 阅读 · 0 评论 -
TIdHTTPProxyServer自己写的代理服务器方法
【代码】TIdHTTPProxyServer自己写的代理服务器方法。原创 2022-09-10 16:48:18 · 343 阅读 · 0 评论 -
Delphi程序的优化
Delphi在给函数传参的时候,可以在参数前加上var、const、out做修饰,或者也可以使用指针参数。这几种方式的应用场景都很清晰了,但是他们的执行效率有什么差别呢?为此我做了一个测试,定义一个整数数组aInts: Array[0..10000] of Integer;并将其作为参数传给一个空函数。而且前四个都是按地址传递的,即子函数与父函数都指向同一个变量。因此效率很快,而第五种情况则进行了拷贝,浪费了时间。对于频繁调用的函数来说,不建议使用无修饰参数类型,尤其是大数组或大结构体。原创 2022-09-10 16:47:12 · 494 阅读 · 0 评论 -
UDP协议一次发送的最大数据量
一、从MTU角度看 在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的。 首先,我们知道,TCP/IP通常被认为是一个四层协议系统,包括链路层,网络层,运输层,应用层. UDP属于运输层,下面我们由下至上一步一步来看: 以太网(Ethernet)数据帧的长度必须在46-1500字节之间,这是由以太网的物理特性决定的.这个1500字节被称为链路层的MTU(最大传输单元).但这并不是指原创 2022-07-09 14:53:14 · 3221 阅读 · 0 评论 -
InfluxDB时序数据库系统
时序数据库 InfluxDB®版是一款专门处理高写入和查询负载的时序数据库,用于存储大规模的时序数据并进行实时分析,包括来自DevOps监控、应用指标和IoT传感器上的数据。主要特点InfluxDB®是您处理时序数据的一个绝佳选择,目前有以下特点:专为时间序列数据量身打造的高性能数据存储。TSM引擎提供数据高速读写和压缩等功能。简单高效的HTTP API写入和查询接口。针对时序数据,量身打造类似SQL的查询语言,轻松查询聚合数据。允许对tag建索引,实现快速有效的查询。数据保留策略(Retention po原创 2022-06-28 19:41:09 · 360 阅读 · 0 评论 -
Nginx配置文件
均衡负载配置+权重Nginx提供的负载均衡策略有2种:内置策略和扩展策略。内置策略为轮询,加权轮询,Ip hash。扩展策略,就天马行空,只有你想不到的没有他做不到的啦,你可以参照所有的负载均衡算法,给他一一找出来做下实现。 负载均衡也是Nginx常用的一个功能,负载均衡其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。简单而言就是当有2台或以上服务器时,根据规则随机的将请求分发到指定的服务器上处理,负载均衡配置一原创 2022-09-10 16:47:30 · 103 阅读 · 0 评论 -
CreateAnonymousThreadX给匿名线程传递参数
给线程传递参数原创 2022-06-12 15:01:08 · 423 阅读 · 0 评论 -
Delphi的函数指针传递和调用
delphi中可以通过函数指针把一个函数作为参数来传递,然后在另外一个函数中调用。1、首先,申明函数指针类型TFunctionParameter。 type TFunction = function(const value : integer) : string;2、定义准备被作为参数传递的函数 function Opcname(const value : integer) : string; begin resul原创 2022-09-10 16:48:57 · 999 阅读 · 0 评论 -
云原生、K8S、容器和DevOps应用解析
目录1、 Kubernetes1.1、Kubernetes Master1.2、Node1.3、Pod1.4、Lable1.5、Replication Controller1.6、Service1.7、Minikube1.8、为什么要使用K8S2、云原生(CloudNative):3、应用部署架构的发展史3.1、传统部署时代3.2、虚拟化部署时代3.3、容器部署时代4、KubeSphere4.1、KubeSphere 概述4.2、KubeS原创 2022-05-13 12:16:57 · 285 阅读 · 0 评论 -
Win10 64位 Delphi XE10 TClientDataset 访问 DataSnap 服务端故障解决
客户端访问DataSnap,有的主机正常,有的不正常,报错如下:Access violation at address 008013A3 in module 'pDataSnapClient.exe'. Read of address 00000000在设计模式下,试图将 ClientDataSet.Active=True, 总是会弹出错误:Access violation at address 510FE003 in module 'dsnap250.bpl'. Read of address原创 2022-09-10 16:50:31 · 624 阅读 · 0 评论 -
Delphi事件捕获操作
有的控件不具备事件的属性功能,比如WEBBROSER控件不具备鼠标的操作功能,那就需要手动的截获这些消息,可以按照以下步骤进行:1、在窗体上放置一个TApplicationEvents控件,编写OnMessage事件;procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;var Handled: Boolean);begin if Msg.message = WM_CLOSE then //判断是否关闭消息 begin原创 2022-05-11 01:49:35 · 596 阅读 · 0 评论 -
Hysys能量流和物质流分析
HYSYS --石油化工艺流程模拟软件HYSYS 软件是世界著名油气加工模拟软件工程公司开发的大型专家系统软件。该软件分动态和稳态两大部分。其动态和稳态主要用于油田地面工程建设设计和石油石化炼油工程设计计算分析。其动态部分可用于指挥原油生产和储运系统的运行。对于油田地面建设该软件可以解决以下问题:(一)、在油田地面工程建设中的应用• 各种集输流程的设计、评估及方案优化• 站内管网、长输管线及泵站• 管道停输的温降• 收发清管球及段塞流的预测• 油气分离• 油、气、...原创 2022-04-04 09:30:45 · 713 阅读 · 0 评论 -
ClientDataSet作为内存表使用
ClientDataSet是一个功能强大的类,通过在内存中模拟表格,实现了其它数据集组件所不具备的强大功能。以往只在Delphi和C++ Builder企业版中才提供这个组件,如今,Borland的全部产品(包括最新的Kylix)都集成了TClientDataSet组件。TClientDataSet从类的继承关系上来看,是TDataSet这个抽象类的子类,所以我们可以在TDataSet这个抽象层次上对其进行 我们熟悉的操作,比如导航、排序、过滤、编辑。要注意的是,TClientDataSet使...原创 2022-03-26 15:18:32 · 255 阅读 · 0 评论 -
Delphi xe GDI+编程TRECT和TGPRECT的区别
TGPRECT的定义如下:在winapi.gipapi中定义TGPRect = record X : Integer; Y : Integer; Width : Integer; Height: Integer; end;而Trect定义的是两个坐标,使用的时候要注意;TRect(RECT& r){left = r.left;top = r.top;right = r.right;bottom = r.bottom;...原创 2022-03-20 12:58:47 · 508 阅读 · 0 评论 -
DelphiXE GDI编程中GetPath的使用
{技术要点:1、路径的主要作用;2、指针的调用和使用;3、在特征分析时能否使用}procedure TForm5.FormPaint(Sender: TObject);var pts,pts1: PPoint; types,types1: PByte; {上面四行只是为了记录数据位置的起始点, 直接用指针也可以, 但用数组方便} count: Integer; i,x,y: Integer;begin Canvas.Font.Size := 150; Canvas.F.原创 2022-03-19 14:25:21 · 397 阅读 · 0 评论 -
BacNet APDU编码规则说明
application tag:应用标记context specific tag:上下文标记BACnet标记的编码结构图_________________________________________________| Tag Number(4 bit) | Class(1 bit) | Length/Value/Type(3 bit) || 标记编号 | 类别 | 长度/值/类型 |——...原创 2022-02-24 19:49:28 · 398 阅读 · 0 评论 -
边缘计算的基本概念之二
一、边缘计算的三种另类解释1、维基百科说维基百科上说,边缘计算是一种分散式运算的架构,将应用程序、数据资料与服务的运算,由网络中心节点,移往网络逻辑上的边缘节点来处理。边缘计算将原本完全由中心节点处理大型服务加以分解,切割成更小与更容易管理的部分,分散到边缘节点去处理。边缘节点更接近于用户终端装置,可以加快资料的处理与传送速度,减少延迟。我们认为边缘计算是在靠近数据源头的地方提供智能分析处理服务,减少时延,提升效率,提高安全隐私保护。这个概念可能比较抽象,接下来再举两个生动的例子给大家说明。2、原创 2022-02-17 23:38:20 · 4633 阅读 · 0 评论 -
Delphi XE调用百度地图
百度地图在很多应用中会起到画龙点睛的作用,可以非常好的改变人机交互的模式,这里列出delphi xe调用百度地图的方法,通过嵌入HTML语言进行操作,主要操作点如下:1、定义自己使用的HTML语言,也可以动态的嵌入,但是一定要熟悉HTML语言和JS编程。2、因为TWEBBROWSER控件不支持鼠标事件,因此通过定时器提取中间数据。3、通过中间数据联动实现交互,将来有更新的方法,随时补充。unit FrameMapPas;interfaceuses Winapi.Window..原创 2022-01-29 13:15:18 · 1209 阅读 · 0 评论 -
Delphi XE +SQLServer把图片当作文本存储
Delphi XE存储三层架构处理图片的时候,有很多问题,存储图片的时候无法使用clientDataset, LoadFromStream来保存图片。在网上找了些发现很多人有类似问题。用params来存储文字也发现有截断问题,最好的方式就是‘’‘+str+‘’‘的方式来存储。思路就是把图片转换成字符串来存储。 //数据库中建表:create table ImgCreate (No int primary key identity(1,1),img varchar(max)) //...原创 2022-01-25 22:42:54 · 363 阅读 · 0 评论