![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Delphi
文章平均质量分 59
蝈蝈(GuoGuo)
这个作者很懒,什么都没留下…
展开
-
cxGrid合计忽略重复记录
/cxGrid1DBBandedTableView1->DataController->Summary->FooterSummaryItems->OnSummary 事件。//重新打开数据集前清空lstCust。//存放不同的客户编号记录。//创建lstCust对象。//记下之前未出现过的客户编号。//释放lstCust对象。//lstCust.Count就是不同的客户数。//只对colaCustNo列的合计进行处理。//合计Item的OnGetText 事件。原创 2024-06-15 10:27:50 · 488 阅读 · 0 评论 -
delphi清理程序占用的内存,真的有效果.
找了二天没有处理好是什么没有释放.直接调用该函数.发现系统占用内存减少了.再也不怕占用内存太多,导致程序异常了.//DELPHI清理释放内存小代码。原创 2024-06-05 08:13:30 · 180 阅读 · 0 评论 -
调用WINDOWS的TTS接口,将你的文字变成Wav文件
【代码】调用WINDOWS的TTS接口,将你的文字变成Wav文件。原创 2024-06-04 23:14:58 · 137 阅读 · 0 评论 -
通过lame_enc.dll实现将Wav转为mp3格式.wav要求是16bit
【代码】通过lame_enc.dll实现将Wav转为mp3格式.wav要求是16bit。原创 2024-06-04 22:38:10 · 792 阅读 · 0 评论 -
通过ffmpeg 将wav格式转为mp3格式.
通过ffmpeg实现将wav转为mp3格式.需要下载一个ffmpeg放到执行文件所在目录.是一个功能强大的多媒体处理工具,它支持大量的输入和输出格式,以及多种编解码器。由于其功能的多样性,ffmpeg的参数列表也非常丰富。以下是一些常用的ffmpeg。原创 2024-06-04 23:05:18 · 674 阅读 · 0 评论 -
FireDAC与ADO读写数据的性能测试
数据库连接组件,支持三种连接方式:1.持久定义(有一个唯一名称和一个配置文件,可以由FDManager管理)3.临时定义(没有名称和配置文件,不能由FDManager管理,运行时将参数写入params属性)发现它完全可以同UNIDAC相媲美,但UNIDAC购买费用是几万美刀,而FIREDAC是免费的。fd读取数据用时2438毫秒,ado用时5590毫秒。fd读取数据用时1988毫秒,ado用时5548毫秒。fd读取数据用时363毫秒,ado用时783毫秒。fd读取数据用时10毫秒,ado用时553毫秒。原创 2024-05-23 07:10:04 · 513 阅读 · 0 评论 -
用TIDTcpClient发送以及接收信息
【代码】用TIDTcpClient发送以及接收信息。原创 2024-04-23 12:25:40 · 306 阅读 · 0 评论 -
Delphi Xe 10.3 钉钉SDK开发——审批流接口(获取表单ProcessCode)
Log.Debug(dk.GetProcessCode('ERP客户订单'),'debug');dk.Getappsecret := '你企业钉钉的Appsecret';dk.Getappid := '你企业钉钉的APPID';二、接口获取:今天的重点,不说了,直接上代码。ProcessCode后面就是了!中年大叔学Delphi。原创 2024-04-16 21:17:05 · 503 阅读 · 0 评论 -
Delphi TDictionary字典类
ws2.range['E' + inttostr(k) + ':K' + inttostr(k)].value := VarArrayOf([temparr[0],temparr[5], temparr[1], temparr[2], '新刀具区', 0, temparr[4]]);上面的代码,把字典里的K,V用"@"符号拼接了起来,塞进一个TStringList类里.字典不可以排序,但是TStringList可以啊,只是在使用里,需要SPLIT一下元素才行。Add:向字典中添加一个键和其对应的值。原创 2024-04-07 06:36:38 · 982 阅读 · 0 评论 -
delphi 设置win10 dpi 缩放规则
假设现在有一个软件界面(宽为950像素,高为700像素),该软件在24寸、分辨率为1900*1400的显示器上显示正常,但放到高dpi显示器(同样是24寸,但分辨率为3800*2800)上显示效果会如何?比如一个32寸的显示,但分辨率只有1920*1440,而一个24寸的显示器,分辨率却达到3840*2160,很明显后面这个显示器的每英寸的像素点的个数多,显示的画面更加细腻。同样,在系统dpi缩放改变时,系统也不会将软件进行缩放拉伸,但软件会收到WM_DPICHAN。所以:高分辨率不等于高dpi。原创 2024-04-04 06:08:00 · 507 阅读 · 0 评论 -
delphi windows 程序DPI缩放设置
win10,win7系统里 程序经常变形,很可能是 windows 缩放比例大于100%,设置windows缩放比例比较麻烦,可以通过注册表设置程序的DPI缩放比例。原创 2024-04-04 06:06:38 · 301 阅读 · 0 评论 -
Flexcel笔记
1.引入:2.原创 2024-03-26 07:58:26 · 214 阅读 · 0 评论 -
TStopwatch属性及方法
在这个例子中,我们在窗体创建时开始计时,销毁时停止计时,并输出总执行时间(毫秒)。原创 2024-03-04 08:49:43 · 246 阅读 · 0 评论 -
delphi android打开pdf
另外,如果您需要更强大的PDF编辑和显示功能,可以考虑使用其他第三方组件,如SynPDF或VCL for PDF。在Delphi开发的Android应用程序中打开PDF文件,您可以使用第三方组件,如TeePDF、SynPDF或VCL for PDF等。另外,如果您希望在Android设备上直接打开PDF文件,而不需要在应用程序中显示,可以使用Intent来启动系统的PDF查看器。在这个示例中,我们创建一个Intent来启动系统的PDF查看器,并传递PDF文件的路径。首先,您需要下载并安装TeePDF组件。原创 2024-03-01 09:25:29 · 228 阅读 · 0 评论 -
Delphi XE2 新控件 布局Panel TGridPanel TFlowPanel
TGridLayou:表格,自动排列容器里的控件,控件大小相同可自定义大小,设定后全部控件大小相同且不变,x行y列,行数列列数根据控件大小变动。TFlowPanel的效果图,里边是panel,左侧是TCategoryButtons,搜索框是TButtonedEdit。堆栈Panel,一行只有一个控件(不能多列),或一列只有一个控件(不能多行)不需要些代码计算左边,自动水平居中 垂直居中 ,横向纵向居中!原创 2023-11-06 09:08:37 · 517 阅读 · 0 评论 -
delphi 使用TFlowPanel容器,实现对内含控件进行自动排版
还有一点需要注意的是,当改变tflowpanel的大小时,其中的控件不能自动重排。2,在其中添加一个tflowpanel,设置align为altop,autosize为true,autowrap为true。1,先添加一个Tscrollbox,设置其align为alclient。autosize默认为false,不用改动。然后往下找到Margins属性,进行设置.设置好后,复制粘贴这个TscGPEdit任意次,然后就可以看到效果了。1.TFlowPanel设置好合适的对齐,其他基本上不用怎么设置,默认即可。原创 2023-11-06 08:59:49 · 299 阅读 · 0 评论 -
delphi 实现Ribbon风格的窗体
设置dxRibbon的ApplicationButton.Menu属性为dxBarApplicationMenu,双击dxBarApplicationMenu控件的ItemLinks属性,在屏幕左上方会发现一个小窗口,这个窗体就是用来做ApplicationMenu的,向里面添加按钮和组即可。首先,Delphi本身并没有Ribbon风格的窗口可以直接拿来使用,而市面上很多类似于Ribbon的风格都是用截图法做出来的,那样做很麻烦,而且对于图片的控制要求非常高。接下来,继续设置控件的属性。原创 2023-04-14 15:26:51 · 747 阅读 · 0 评论 -
DevExpress VCL 动态加载皮肤换肤示例,支持Ribbion
对于Ribbion控件,经实际测试,要在换肤前将其ColorSchemeName设置为'UserSkin',加载皮肤后,再将其ColorSchemeName设置为皮肤的名称,否则可能看不到效果。本例使用了外部皮肤加载,将皮肤资源文件'AllSkins.skinres'进行动态加载,该文件包含DevExpress控件官方自带的所有皮肤,以减小可执行文件大小。原创 2023-03-04 21:35:40 · 923 阅读 · 0 评论 -
DevExpress皮肤引用的办法
二. 从Dev Express 项下选择dxSkinController控件,添加到工程,设置dxSkinController1的SkinName属性设为:UserSkin;Editor 对话框,从列表中,只选择: UserSkin这一项,取消Enable skin Support的勾,三. 代码:(对RES皮肤有效,在程序文件夹里需要先建一个叫Skin的文件夹)str:='Xmas2008Blue.skinres';点OK退出. (注意:此步骤需DEV40以上版本才有效)原创 2023-03-04 21:13:52 · 967 阅读 · 0 评论 -
Delphi XE 10.4.2 IDE 设置----【代码格式化】
使用IDE自带的代码格式化(CTRL+D),默认为80。经常一格式化变成很短的两行。原创 2023-02-19 08:23:13 · 423 阅读 · 0 评论 -
Delphi 10.4.2使用传统代码提示方案(auto complete)(转)
与以前的版本相比,在10.4.2中LSP为Delphi的错误洞察添加了许多新功能:编辑器现在为提示和警告以及错误显示彩色下划线,这意味着您可以在代码编辑器中看到潜在的重要问题,编辑器状态栏中当前文件的错误、警告和提示状态的摘要;以及几种突出显示问题代码的新方法,使查看有问题的代码更加容易。现在就改回了原来的代码提示方案,好消息是已经进入内测的10.4.2,重点还是增加与改进LSP的功能,坏消息是不确定能否达到实用状态,只能等发布后实际用下才能知道,不过从内测的说明中可以看到,真是增加与改进了不少功能。原创 2023-02-19 08:18:12 · 874 阅读 · 0 评论 -
Delphi10.4.1与CnWizards代码输入助手兼容问题
Delphi 10.4.1的Code insight manager默认使用Language Server Protocol,造成代码输入助手不能快速的进行语法提示,对于delphi自带的组件属性提示的比较慢,对三方组件基本上就失去了提示功能,这个问题,对于我们这些懒人,影响比较大。解决方法是,使用Classic Code Insight,并去除Tooltip symbol insight和Error insight,这样就恢复到以前的状态了,代码输入助手又可以快速响应了。原创 2023-02-19 08:13:01 · 309 阅读 · 0 评论 -
delphi 在代码中 添加 TO-DO 并且 管理
采用她可以让我们很清楚的了解以前完成了那些任务,还有哪些任务需要做,由谁负责完成,是不是比较紧急的任务等。今天来不及完成的,明天上班就可以很快的找到任务所在的位置。右键菜单【Filter】,只需要将不想显示该所有者的名字前的√取消,按OK返回,在显示列表中就仅仅显示你想要看的所有者的任务项。说明:在不同模块中的任务项显示的时候是不同的:粗体显示的为当前正在编辑模块中的任务项;已完成任务,在任务项前面的CheckBox中会显示√,同时任务项的文本会有一条删除线,没有显示的表示未完成。原创 2022-11-09 07:13:08 · 311 阅读 · 0 评论 -
delphi XE基于SSL的HTTPS服务器应用程序的认证文件(Certificate.cer、CACertificate1.cer、PrivateKey.key及OnGetPassword)的配置
SSL(Secure Sockets Layer安全套接层,属协议层),其继任者TLS传输层安全(Transport Layer Security:TLS:属协议层)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密提供协议(:协议:标准和规范)。原创 2022-09-18 07:34:23 · 782 阅读 · 0 评论 -
Delphi 2009:如何在Vista下的Windows服务和桌面应用程序之间进行通信?
使用Indy,您可以相对轻松地在应用程序之间创建TCP连接.特别是如果你只需要发送字符串消息.对于客户端(在您的情况下是桌面应用程序),它基本上是。IIRC只允许服务具有图形用户界面或具有网络访问权限,因此如果您的服务需要GUI(这应该避免,请参阅此。),这可能是一个问题.我不知道Windwos Vista及其后来如何处理这个问题.对于服务器(在您的情况下将是服务)原创 2022-09-08 07:14:43 · 450 阅读 · 0 评论 -
fdquery update
this->FDQuery1->CachedUpdates;this->FDQuery1->UpdateOptions->KeyFields;this->FDQuery1->UpdateOptions->UpdateTableName;this->FDQuery1->ResourceOptions->StoreItems;this->FDQuery1->ApplyUpdates()原创 2022-09-07 08:22:28 · 405 阅读 · 0 评论 -
Delphi 学习了解FireDac【缓存更新、记录的状态之UpdateStatus】
然后发现表格中并没有数据,接下来点击 cxGrid 中的 Customize ,然后在右边找到 Columns 可以手动添加点击右边的Add,或者直接检索表中字段点击右边的 Retrieve Fields ,这时候字段就有了。StatusBar1.Panels[0].Text := '无改动--' + FDQuery1.ChangeCount.ToString;这些东西设置完了就可以啦,然后会发现删除的没有显示出来,默认的是不显示的,我们再来添加两个Button,来让他们显示和恢复默认。原创 2022-09-07 08:19:38 · 955 阅读 · 0 评论 -
FIREDAC FDConnection 连接池 连接串
一、FDConnection 连接池http://docs.embarcadero.com/products/rad_studio/firedac/frames.html?frmname=topic&frmfile=Defining_Connection.htmlhttp://docwiki.embarcadero.com/RADStudio/XE8/en/Defining_Connection_%28FireDAC%29http://docwiki.embarcadero.com.原创 2022-05-29 07:31:11 · 1711 阅读 · 0 评论 -
使用 TFDConnection 的 pooled 连接池
使用 TFDConnection 的 pooled 连接池从开始看到这个属性,就一直认为他可以提供一个连接池管理功能, 苦于文档资料太少, 甚至在帮助中对该属性的使用都没有任何介绍,如果你搜索百度,也会发现基本没资料。最后终于在其官方网站看到了其完整相关的英文资料,虽然没有正面介绍该属性,但却是要启用该属性的详细方法:Defining Connection (FireDAC)GeneralAconnection definitionis a set of parameters tha..原创 2022-05-29 07:20:57 · 441 阅读 · 0 评论 -
class function或class 类函数 类过程
类函数\类过程. 它们是直接操作在类上面(没有实例化的对象)下面是Delphi Help 的描述 A class method is a method (other than a constructor) that operates on classes instead of objects. The definition of a class method must begin with the reserved word class. For ex...原创 2022-05-26 07:48:11 · 477 阅读 · 0 评论 -
DelphiXE环境认知(第一章 Project Options)
第一章、 Project OptionsØProject > Options这个页面用来设置当前项目的Delphi编译器选项。Default勾选后可将当前的配置作为新工程的默认配置。说明:并不是这里所有的选项适用于所有类型的项目。例如,DCP output directory不会出现在C + +项目中。一、 Delphi CompilerØProject > Options > Delphi Compiler1. Conditional d...原创 2022-04-01 13:31:28 · 1743 阅读 · 0 评论 -
delphi xe 10.4.2 WinXp无法定位程序输入点问题的解决
这里为5.1原创 2022-04-01 13:25:47 · 591 阅读 · 0 评论 -
Delphi 10.2 新特性之—TFDBatchMoveJSONWriter
RAD Studio 10.2.2提供从 TDataSet 映射到 JSON ,增加了对JavaScript 客户端支持。 RAD Studio 10.2.2 为 FireDAC BatchMove架构添加新组件的 :TFDBatchMoveJSONWriter。该组件可以轻松从TDataSet 映射为 JSON,定制所需要的字段、名称。并提供了几种JSON格式的配置方法。将 JSON 转换为 TDataSet 你将需要一个TFDBatchMove组件连接TFDBatchMoveDataSet...原创 2022-03-19 09:17:20 · 377 阅读 · 0 评论 -
FireDAC 如何按整型(Byte)读取 MySQL TinyInt(1) 类型字段?
最近使用 MySQL 发现 FireDAC 中查询 TinyInt(1) 字段结果是 Boolean 类型,这并不是我想要的结果,而TinyInt(1)的范围是-128~127之间,如何按整型读取呢?这个问题困扰了我昨天一个上午,因为表数据比较多,不想修改字段为INT,最后尝试修改为TinyInt(3),可以了。今天发现,只要设置FireDAC连接参数 TinyIntFormat = Integer ,问题迎刃而解了。...原创 2022-03-19 09:15:16 · 747 阅读 · 0 评论 -
FireDAC 获取 INSERT 记录的自增 ID
将数据插入具有自动增量字段的数据库表中时的常见模式是使用 SQL 查询来选择新创建的记录的最后插入ID。使用 TFDQuery 运行 INSERT 查询后,您可以运行第二个查询来获取新插入的自动增量 ID。例如,MySQL 具有一个 SELECT 查询函数,您可以运行该函数,称为 LAST_INSERT_ID(),比如:SELECT LAST_INSERT_ID() ,但是,这种方法耦合度太高,不同的数据库,使用的函数也不一样。 FireDAC 提供了一个函数,您可以通过 TFDConnectio..原创 2022-03-19 09:13:48 · 397 阅读 · 0 评论 -
利用阿里大于接口发短信(Delphi版)
阿里大于是阿里通信旗下产品,融合了三大运营商的通信能力,提供包括短信、语音、流量直充、私密专线、店铺手机号等个性化服务。每条四分五,价钱还算公道,经老农测试,响应速度非常快,基本上是秒到。官方文档提供了JAVA、.NET、PHP、Python、C/C++、NodeJS 等语言的 Demo,唯独没有 Dephi,但这也不能怪马云,毕竟 Delphi 实在太小众了。 最近用 Delphi 写个 App,注册用户需要用到手机短信验证,于是找到的阿里大于,使用 Delphi 10.1 berlin 写了个简.原创 2022-03-19 09:07:42 · 516 阅读 · 1 评论 -
使用 FireDAC 分页查询
FireDAC 原生支持分页查询,不用写分页查询SQL,只要设置 FetchOptions.Recskip (跳过的行数)和 RecsMax(分页大小)允许通过结果集进行分页。打开游标后,将跳过第一个RecsSkip。其余的记录,最多RecxMax将被获取。当 Prepared 后,更改RecsSkip 和 RecsMax属性值不起作用。因此,在获取下一行页之前,该命令必须未准备,然后再次执行。例如: // 分页大小为 20,查询第一页 FDQuery1.FetchOptions....原创 2022-03-19 09:02:46 · 545 阅读 · 0 评论 -
delphi 获得时间戳 毫秒数
function DateTimeToMilliseconds(const ADateTime: TDateTime): Int64; //获得毫秒 var LTimeStamp: TTimeStamp; begin LTimeStamp := DateTimeToTimeStamp(ADateTime); Result := LTimeStamp.Date; Result := (Result * MSecsPe...原创 2022-03-13 12:26:33 · 1842 阅读 · 0 评论 -
Delphi10.3 中通过JNI调用 Java 函数
现在很多SDK都提供了JAVA接口。但是没有Delphi接口。没有办法只好曲线救国。我们可以通过 JNI 的方式在 Delphi10.3 中调用 Java 的函数。第一步:创建 Java 虚拟机和运行环境procedure TForm1.FormCreate(Sender: TObject);varOptions: array [0 .. 4] of JavaVMOption;VM_args: JavaVMInitArgs;ErrCode: Integer;begin{ 创建 Jav原创 2022-03-12 18:27:12 · 622 阅读 · 0 评论 -
使用 TRESTClient 与 TRESTRequest 作为 HTTP Client
在 Delphi XE 推出以前的年代,Delphi的发展方向是笔直朝向资料库连结Windows 应用程式这个目标不断前进的,从Delphi 1开始,到Delphi 7,Delphi奠定了VB Killer的外号,主要依靠的就是与资料库的连接功能超越其他开发工具,而且超越的距离不只一个世代。 在 .NET开始发展,Delphi 8, Delphi .NET 不断延迟的时候,与资料库连接功能的方便性,仍然让许多ERP厂商、软硬体厂商持续爱用 Delphi.直到 Web 开发与 App 开发超越了 Wi原创 2022-03-12 12:22:52 · 1032 阅读 · 0 评论