delphi语法
文章平均质量分 82
专讲冷知识
来超,专讲冷知识,专注企业AI、数字化、信息化的应用、实施和编程实现。牵引=企业内功 创新颠覆
展开
-
delphi的ARM架构支持与System.Win.WinRT库
是微软在win8时代,开始研发的专门用来支持的独立的操作系统(不单独售卖,只提供OEM或在自己的surface平板、移动设备等中分发)。2023年1月10日起结束支持。原创 2023-06-18 14:14:24 · 2080 阅读 · 0 评论 -
RAD Studio 11.2详解其务实改进(Delphi & C++ Builder)-Alexandria
● 开发人员生产力:“搬运式的复用”是一个特性。使用Delphi和C++Builder使得开发机构交付订单和市场需求的速度提高了5倍有余。● 快速的“原生”应用程序:操作系统本机的原生编译器,赋能App应用应有的原生速度(没有任何臃肿)。● 数据库访问:Delphi最原始的关键设计之一,就是将数据库访问完全集成到RAD Studio之中。● 强大的C++库:数百个C++库,可以在C++Builder中使用,或者在RAD Studio中的Delphi下使用。原创 2022-09-27 12:03:52 · 8143 阅读 · 3 评论 -
delphi关于try的正确句法结构
delphi关于try的正确句法结构1、句法var LResult:Variant;//......你在该函数内部需要创建的各类型的实例try try //......写与这些创建的各类型的实例相关的代码 except on E: ESafecallException do ; //:比方 on E: EObjectDisposed do ; //:比方 on E: EAcc原创 2021-08-01 19:14:14 · 2454 阅读 · 0 评论 -
FastMM与Delphi10.4.2内存管理
FastMM与Delphi10.4.2内存管理一、Delphi10.4.2内置FastMM4 FastMM属付费Licence。1、内置到系统运行时System.pas1.1、常用的全局debug变量{ Memory manager support }procedure GetMemoryManager(var MemMgr: TMemoryManager); overload; deprecated;procedure SetMemoryManager(con...原创 2021-05-19 18:58:39 · 2038 阅读 · 0 评论 -
《Delphi Classic编译器和ARC编译器的内存管理》的代码示例图书目录及源代码
《Delphi Classic编译器和ARC编译器的内存管理》的代码示例Code examples from Delphi Memory Management for Classic and ARC Compilers Bookhttps://igoto.co/DelphiMMhttps://dalija.prasnikar.info第1部分.内存管理基础知识和术语Part 1. Memory management basics and terminology第3章.变量和类型Chapter 3.原创 2021-03-08 09:47:12 · 415 阅读 · 0 评论 -
Delphi编译器版本对照表及工具链
目录Delphi编译器版本对照表及工具链1、Delphi编译器版本历史对照表2、Delphi工具链(Delphi编译器)3、Delphi条件编译3.1、预定义条件符号:3.2、对编译器版本的条件定义:3.3、预定义常量:Delphi编译器版本对照表及工具链1、Delphi编译器版本历史对照表下表列出了与每个Delphi编译器相关的版本号,从Turbo Pascal 4.0开始,到编译器的当前版本结束:Delphi conditional VER<..原创 2021-03-03 17:10:11 · 4633 阅读 · 0 评论 -
Delphi10时间、计时相关方法之 -软件的基本是要处理好”算法“及其基础(四)
目录Delphi10时间、计时相关方法之 -软件的基本是要处理好”算法“及其基础(四)一、计时1.1、粗犷计时类TTimer1.2、精确计时类TStopwatch1.3、时间跨度类TTimeSpan二、时间2.1、TDateTime2.2、DateTimeToOleAutoString2.3、VarToDateTime2.4、VarFromDateTime2.5、DateTimeToWinFileDate2.6、系统工具单元SysUtils中相关日期时间2原创 2021-02-24 02:09:49 · 831 阅读 · 1 评论 -
Delphi 运行时库RTL数据结构
Delphi 运行时库RTL数据结构同事们,一天一节,细水长流......序 大部分存储在System.Classes和System.Generics.Collection单元中,能大大简化日常工作。 是专门设计用来存储和检索数据的类。 世界上的每个数据结构都在寻求四种不同类型的数据处理之间的平衡:修改数据、插入数据、搜索数据和删除数据。有些数据结构在某些领域很好,有些在 另外的领域很好,但是这个世界上没有任何数据结构能够做到使...原创 2021-01-03 21:09:50 · 708 阅读 · 2 评论 -
软件的基本是要处理好”算法“及其基础(三)delphi 10.4.1字符串工具单元及其函数
软件的基本是要处理好”算法“及其基础(三)delphi.System.StrUtils.pas字符串工具单元中的函数(积累跟新中...)一、字符串描述与定义 //:关于字符串的定义: _RawByteStr = RawByteString; {$IFDEF NEXTGEN} UTF8String = type _AnsiString(65001); RawByteString = type _AnsiString($ffff); //:$ffff= 65535原创 2020-11-23 19:37:14 · 581 阅读 · 0 评论 -
深入学习System.SysUtils.pas
深入学习System.SysUtils.pas1、// 求Unicode字符串的字节长度:function ByteLength(const S: string): Integer; inline;2、const netapi = 'netapi32.dll'; NERR_Success = 0;//Win32获取当前计算机所加入的工作组(WorkGroup...原创 2020-10-12 08:15:03 · 1668 阅读 · 0 评论 -
Delphi FMX正确加载图片最大限度减少内存占用(之二TImageList)
Delphi FMX正确加载图片最大限度减少内存占用(之二TImageList) 继上篇《Delphi FMX正确加载图片最大限度减少内存占用(之一TBitmapSurface)》之后,我们继续优化内存,本片谈谈FMX TImageList加载标清大图。 过去,我们在用TImageList加载小图标时,一般不会注意内存消耗的问题,过去在VCL编程时更不会关心这些问题,只管往前冲。可是,当在FMX下,用TImageList加载大量的标清左右像素大小的动态图片作为选单时(比如...原创 2020-10-09 15:36:22 · 1159 阅读 · 0 评论 -
Delphi FMX正确加载图片最大限度减少内存占用(之一TBitmapSurface)
Delphi FMX正确加载图片最大限度减少内存占用 国庆前,无意间发现App内存占用陡增,发现是几张4K图片加载引发的(TImage.Bitmap.LoadFromStream或TImage.Bitmap.LoadFromFile,加载大图片时(>=6M),D10.4下吃内存大的惊人,共23M的3个图片文件,用上面的句法吃了接近400M内存),由研究图像处理的群友提醒:图片是压缩格式,显示的时候要解压缩,占用内存当然就大了;所有静态图片在显示的时候,都相当于是bmp位图...原创 2020-10-06 08:21:37 · 1810 阅读 · 0 评论 -
从system.pas看Delphi XE10的IDE编译逻辑
从system.pas看Delphi XE10的IDE编译逻辑 Delphi XE10的IDE,作为编译型语言pascal的最主要的集成开发环境,其编译的程序代码在运行时,本质是在执行其编译时就已经解释(Compile)好并将解释好的二进制代码链接(Build)到可执行的DLL或EXE,而其编译过程(或者说其解释和链接)的起点,则在原则单元system.pas,delphi XE10将其列入源码的运行时刻库RTL的系统sys目录下:source\rtl\sys。现对system.pa...原创 2020-08-25 01:11:12 · 994 阅读 · 0 评论 -
软件的基本是要处理好”算法“及其基础(二)delphi系统原子函数及方法
软件的基本是要处理好”算法“及其基础(二)delphi系统原子函数及方法如果你没有深入到delphi的额你信深处,可能你不常触及这些内容。本文将不断更新增加内容,敬请关注收藏......序号 函数、方法或记录 作用 引用单元 001 Trunc(ADouble:Double) 提取浮点类型的整数部分 System.pas 002 Frac(ADouble:Double) 提取浮点类型的小数部分 System.pas 003 .原创 2020-08-24 08:58:25 · 470 阅读 · 0 评论 -
从delphi 10.3到delphi 10.4的改变实务
从delphi 10.3到delphi 10.4的改变实务以下逐步更新中......第一篇 IOS篇001、问:(2020-08-20)现在上架IOS,一定要用10.4吗?答:新上架:必须10.4,10.3.3得自己手工去做 “故事版”的Asserts.car文件。10.3.3手工做了故事版的Asserts.car文件,也是可以的,可参考:https://blog.csdn.net/pulledup/article/details/10710001900...原创 2020-08-21 09:02:55 · 7245 阅读 · 1 评论 -
短信验证码5分钟内有效的TimeStamp通用delphi代码实现
短信验证码5分钟内有效的TimeStamp通用代码实现一、直接上代码 ///<summary>返回以ADatetime时间为基准,增加或减少AIncreOrDecre_LMin分钟后的新的含毫秒的时间字符串表达:</summary> /// <param name="ADatetime">TDateTime类型(本质是浮点型,支持13位或10位Unix日期时间)</param> /// <param name="A.原创 2020-08-19 23:15:34 · 1189 阅读 · 0 评论 -
RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别
RAD Studio 10.4 for delphi XE Assigned和Nil的联系与区别一、原理系统级别的函数System.pas : System.Assigned function Assigned(var P): Boolean;1、用于测试值为nil(未赋值的unassigned)的指针Pointer或方法变量procedural variable。2、使用Assigned来确定指针Pointer或被Assigned(var P)中的方法变量function:P或p原创 2020-07-03 22:06:41 · 1469 阅读 · 1 评论 -
delphi XE模拟Android手机PDA设备的虚拟键盘按键及扫码过程输入焦点及信号接收
delphi XE模拟Android手机设备的虚拟键盘按键一、直接上代码示例procedure TfmxTestGYListview1.FormKeyUp( Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState);var CanUse: Boolean;begin if Key = vkHardwareBack then // 如果按了虚拟键:返回键 begin Key := ...原创 2020-06-15 17:11:40 · 4857 阅读 · 2 评论 -
delphi XE同步对话框、异步对话框、平台特性对话框单元FMX.DialogService.pas
delphi XE同步与异步及平台特性对话框单元FMX.DialogService.pas一、原理FMX.DialogService.pas///<summary>Serviceformanagingplatformdifferencesinbehaviourswhenshowingdialogs.IthasaPreferredModethat///canhavethreevalues:///PlatformSyncm...原创 2020-06-07 21:40:48 · 1981 阅读 · 0 评论 -
软件的基本是要处理好”算法“及其基础(一)流-字-字符(包括某个数字、字母、符号和某个汉字等)-字符串-字节动态数组-字节-整数之间的转化关系和算法
软件的基本是要处理好”算法“及其基础(一):流->计算机字->字符(包括某个数字、字母、符号和某个汉字等)->字符串->字节动态数组->字节->整数之间的转化关系和算法 现代软件技术,需要将文字等(字符串的编码)、音视频、图片等富媒体(整数的编码)以界面友好的形式展现和共享,这些都需要与”流“打交道。而”流“的表达方式和资源共享,依赖BSO...原创 2020-05-15 21:58:20 · 1621 阅读 · 0 评论 -
Delphi怎样安装和配置第三方控件并处理找不到文件
Delphi怎样安装和配置第三方控件并处理找不到文件一、提示信息:[dcc64 Error] E1026 File not found: ‘***.res’二、解决方法:1、正解:应当去看官方的安装说明文档,比如若你用自动或手动方式安装和部署TMS FlexCel Studio for VCL and FireMonkey *.*.*.*.exe时,你应当仔细阅读官方的安装说明:http://www.tmssoftware.biz/flexcel/doc/vcl/guides/instal.原创 2020-05-11 14:18:13 · 2926 阅读 · 0 评论 -
常用delphi XE IDE环境配置,大家都需要熟练
常用delphi XE IDE环境配置,大家都需要熟练一、android SDK : 可修改AndroidSDK25.2.5_64bit.sdk和AndroidSDK25.2.5_32bit.sdk中的路径为自己的路径后,用下面的Import按钮将PlatformSDKs文件夹下SDK配置路径批量导入:D:\PulledupO2O\AndroidSDK\andro...原创 2020-05-03 22:58:13 · 3928 阅读 · 0 评论 -
delphi XE用TPath类获取路径IDE解析不了类方法编译也要报错
delphi XE用TPath类获取路径IDE解析不了类方法编译也要报错问题:今天有同学在群里问到,为啥TPath类获取路径不了类方法编译也要报错:是因为我们通常用FMX开发Multi-device Application,在创建项目时,IDE自动为你生成了对FMX.Objects单元的引用,而后,你为了获取路径,加入了System.IOUtils单元。在这两个单元中,均包含...原创 2020-04-26 14:44:05 · 689 阅读 · 1 评论 -
delphi XE内置时区功能的Unix系统时间格式与delphi系统时间格式的互转
delphi XE内置时区功能的Unix系统时间格式与Windows系统时间格式的互转一、不带毫秒的日期时间类型直接用系统自带的即可:uses System.DateUtils, System.StrUtils;function DateTimeToUnix(const AValue: TDateTime; AInputIsUTC: Boolean = True): Int64;...原创 2020-04-23 19:41:57 · 1216 阅读 · 0 评论 -
delphi Tools-Options选项卡及Project-Options选项卡下不常用的有用设置
delphi Tools-Options选项卡不常用的有用设置一、IDECompiling and Running :编译和运行Always compiling modified peojects :总是对改动过的项目才编译,否则跳过直接链接Background Compilation :兼容后台编译或运行:编译或运行时,你仍可在IDE中继续工作,一切皆在后台编译或运行V...原创 2020-03-31 13:33:43 · 801 阅读 · 0 评论 -
delphi线程监视器System.TMonitor
delphi线程监视器System.TMonitor线程的监视器System.TMonitor: 关于System.TMonitor及Pulse和Wait: 1、Wait将完全原子释放锁(不管递归计数如何),并阻塞调用线程直到另一个线程调用Pulse或PulseAll点亮全局脉冲信号灯。第一次重载等待函数Wait将假定assume存在锁定的对象locked object...原创 2020-03-29 11:11:35 · 1759 阅读 · 0 评论 -
深入Delphi FMX从FMX.Types开始(一、原理)
System.TypInfo、System.Types和FMX.Types和Androidapi.JNI.JavaTypes对应关系原创 2021-03-16 16:49:39 · 2390 阅读 · 0 评论 -
delphi FMX常用事件类型及其别名
delphi FMX常用事件类型及其别名一、System.Classes { Standard events }type TNotifyEvent = procedure(Sender: TObject) of object; TGetStrProc = procedure(const S: string) of object;二、TControlclass(TFm...原创 2020-03-18 23:44:19 · 898 阅读 · 0 评论 -
delphi基础01-delphi表达式、delphi运算符、delphi函数调用、delphi集合构造函数、delphi索引、(值或变量)delphi类型转换
delphi基础01-表达式、运算符、函数调用、集合构造函数、索引、(值或变量)类型转换整理出来,供大家学习使用:http://docwiki.embarcadero.com/RADStudio/Rio/en/Expressions_(Delphi)#Typecasts1、表达式: 表达式是一种返回值的构造。下表为Delphi表达式示例: X ...原创 2020-03-14 20:32:00 · 1166 阅读 · 0 评论 -
DELPHI自定义事件(本质就是构建自定义类)、运行时标准化事件调用TNotifyEvent及普通的标准化事件传递TObjectClick(Sender)
DELPHI自定义事件(本质就是构建自定义类)、运行时标准化事件调用TNotifyEvent及普通的标准化事件传递TObjectClick(Sender)一、自定义事件(本质就是构建自定义类)参考:http://docwiki.embarcadero.com/RADStudio/Rio/en/Creating_Events_-_Overviewhttp://docwiki.emba...原创 2020-03-03 18:20:37 · 2193 阅读 · 0 评论 -
delphi应用代码执行的过程和步骤
delphi应用执行的步骤第1步:加载LApp应用程序的项目单元并执行LAppprogram LApp;// 1.1 加载引用单元:uses System.StartUpCopy, FMX.Forms, MasterDetail in 'MasterDetail.pas' {MasterDetailForm};// 1.2 加载引用单元:{$R *.res}/...原创 2020-02-18 23:52:09 · 1230 阅读 · 0 评论 -
delphi系统键盘输入捕获或手势捕获
delphi系统键盘输入捕获或手势捕获一、直接用ASCii码值捕获键盘输入窗体FormKeyDown( //:键按下 Sender: TObject; var Key: Word; //:用于捕获 // UInt16 = Word; //:Word无符号的SmallInt : (0..65535)(0.. -1) SmallInt : ...原创 2020-02-18 16:03:39 · 2534 阅读 · 0 评论 -
FMX用AniCalculations控制基类为TScrollBox的控件是否(滑动)滚动的公共单元
FMX用AniCalculations控制基类为TScrollBox的控件是否(滑动)滚动的公共单元适用组件:TScrollBox、TVertScrollBox、THorzScrollBox、TPresentedScrollBox、TFramedScrollBox、TFramedVertScrollBox、TMemo、TListBox、TListViewfunction IfScrolli...原创 2019-11-23 17:52:27 · 520 阅读 · 0 评论 -
FMX关于TControl.EnumControls枚举控件并将枚举结果进行排序及枚举属性赋值
FMX关于TControl.EnumControls枚举控件并将枚举结果进行排序及枚举属性赋值一、原理usesFMX.Controls; TControl = class(TFmxObject, IControl, IContainerObject, IAlignRoot, IRotatedControl, IAlignableObject, IEffectContaine...原创 2019-11-23 17:27:43 · 397 阅读 · 0 评论 -
截图:窗体及窗体局部
截图:窗体及窗体局部procedure TfmxDataDictionary.LblTitleClick(Sender: TObject);var LTBitmap:TBitmap;begin LTBitmap:=LayoutSelf.MakeScreenshot; Image1.Bitmap.SetSize(LTBitmap.Size); Image1.Bitmap.C...原创 2019-10-29 10:58:32 · 208 阅读 · 0 评论 -
TListBox动态加ListBoxHeader和ListBoxItem
TListBox动态加ListBoxHeader和ListBoxItemprocedure TfmxDataDictionary.ProduceListBoxHeader( var ATableTFDQuery:TFDQuery);var LColumsCount:Integer; LTLabel:TLabel; LTListBoxItem1:TListBoxItem...原创 2019-11-08 23:22:23 · 474 阅读 · 0 评论 -
Delphi中的匿名方法
Delphi中的匿名方法Anonymous Methods in Delphi一、定义顾名思义,匿名方法是没有名称的过程或函数。匿名方法将代码块视为实体,可以将其分配给变量或用作方法的参数。此外,匿名方法可以引用变量并将值绑定到定义该方法的上下文中的变量。可以使用简单的语法定义和使用匿名方法。它们类似于其他语言中定义的闭包的构造。As the name suggests, ananony...原创 2019-10-22 10:14:40 · 1300 阅读 · 0 评论 -
delphi function或procedure static;overload;override;abstract;virtual;dynamic;inline;stdcall;reintrodu
delphi function或procedure的static;overload;override;abstract;virtual;dynamic;reintroduce;inline;stdcall;message;function static;overload;override;abstract;virtual;dynamic;inline;stdcall;procedure s...原创 2019-10-20 16:29:34 · 428 阅读 · 0 评论 -
ARC自动引用计数与方法function过程procedure的传参的对象类型及其回调值
ARC自动引用计数与方法function过程procedure的传参的对象类型及其回调值一、ARC自动引用计数:Auto Reference counting二、对象类型任何对象的数据类别,其存在的形式都有四种可能:2.1、const(显式的常量),即:const L: <T> ;2.2、var(显式的变量),即:var L: <T> ;2....原创 2019-10-20 14:01:06 · 350 阅读 · 0 评论 -
全局函数,内部函数,类的成员
全局函数,内部函数,类的成员// 引自:https://www.cnblogs.com/jijm123/p/9973313.html1. Delphi中的全局函数//要点: 需要给其他单元调用, 必须在 interface 声明, 但必须在 uses 区后面 unit Unit1;interfaceuses Windows, Messages, SysUt...原创 2019-10-20 16:31:19 · 414 阅读 · 0 评论