<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[daigua1987的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/daigua1987</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; daigua1987]]></copyright><item><title><![CDATA[FlexCel VCL导入excel图片]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/157434321</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/157434321</guid><author>daigua1987</author><pubDate>Tue, 27 Jan 2026 16:13:56 +0800</pubDate><description><![CDATA[excel导入图片案例已经有很多了，但是加上图片就比较少了，这里介绍一种导入的方式，下载一个TMS FlexCel VCL控件（https://download.youkuaiyun.com/download/daigua1987/92593861）SuperSimpleMerge是图片合并使用，有多张图片的时候把图片合并起来。GetExtensionFromImageType 是获取图片类型的。SaveImageAsPNG是提取图片保存到文件夹。]]></description><category></category></item><item><title><![CDATA[提高FastReport导出xlsx的图片清晰度]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/143263627</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/143263627</guid><author>daigua1987</author><pubDate>Sun, 27 Oct 2024 06:23:23 +0800</pubDate><description><![CDATA[导出的xlsx图片就清晰了，而且格式是PNG的，记录一下免得下次忘记，我的版本是6.9.14的，其他版本的你们可以自己研究研究。然后根据SaveGraphicAs找到frxImageConverter。]]></description><category></category></item><item><title><![CDATA[安装TeeChart运行程序提示Unit ‘TeCanvas’ not found]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/143223391</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/143223391</guid><author>daigua1987</author><pubDate>Fri, 25 Oct 2024 00:46:48 +0800</pubDate><description><![CDATA[这个问题碰到很多次，不经常安装就忘记，记录一下下次好记起来，如果出现这个提示，就需要重新安装Delphi，然后第一个安装Teechar就可以解决。]]></description><category></category></item><item><title><![CDATA[DBGridEh图片显示优化]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/142468912</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/142468912</guid><author>daigua1987</author><pubDate>Mon, 23 Sep 2024 21:20:07 +0800</pubDate><description><![CDATA[以前已经说过怎么在DBGridEh里面显示图片，还有怎么让图片更清晰，但是碰到数据量比较大和图片特别大的情况下就会卡死，一般有两种方案，一种是异步加载图片，保证主程序不会被卡住，一种是把图片加载到缓存里面，我是用图片加载到缓存里面。2.在create或者show事件里面创建吧变量FImageList := TDictionary.Create;3.在DrawColumnCell事件里面添加这些代码，这样速度就快很多了。主要原理就是避免不停的去加载存储的图片。]]></description><category></category></item><item><title><![CDATA[Delphi的库存验证方案及主从表数据批量提交]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/138664444</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/138664444</guid><author>daigua1987</author><pubDate>Fri, 10 May 2024 14:29:49 +0800</pubDate><description><![CDATA[二 由于我们是批量提交所以要在提交的时候加上事务，保证主从表的数据一次提交，提交失败时可以回滚，FDConnection.StartTransaction用于开启事务，FDConnection.Commit用于提交事务，FDConnection.Rollback用于回滚事务，事务里面可以嵌套事务。用Delphi写系统系统的时候，难免会做库存验证，库存数据在前端的时候，很难跟后端的库存进行实时验证，这样我们就可以在保存的时候进行统一验证。一 在库存表加一个触发器，用于获取那些产品库存不足。]]></description><category></category></item><item><title><![CDATA[delphi Unigui的TUniDBGrid+TFDMemTable的排序]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/137648104</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/137648104</guid><author>daigua1987</author><pubDate>Thu, 11 Apr 2024 18:16:05 +0800</pubDate><description><![CDATA[MainData是TFDMemTable，如果勾选了MultiColumnSort，就需要循环Column[i]来获取列名。TUniDBGrid添加点击标题排序问题，MultiColumnSort勾选就是多列排序，不勾选就是单列排序，TFDMemTable的排序找了半天，后面再官方网站找到:A是升序，:D是降序，:N不区分大小写。在TUniDBGrid的OnColumnSort事件里面添加代码。这是官方说明大家可以参考一下。]]></description><category></category></item><item><title><![CDATA[DBGridEh的合计和分组小计总结]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/135911893</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/135911893</guid><author>daigua1987</author><pubDate>Mon, 29 Jan 2024 14:46:31 +0800</pubDate><description><![CDATA[分组后，只有最下面的总数合计，分组的小计没有。这个时候我们就需要调整一下设置了，把前面的设置全部改回来，然后数据集要用MemTableEh，在加上DataSetDriverEh，然后再加FDQuery连接即可，MemTableEh的DataDriver属性选择DataSetDriverEh，DataSetDriverEh的ProviderDataSet属性选择FDQuery，MemTableEh再连接到DataSource即可，然后设置DataGrouping里面的属性。会显示数据集的列信息。]]></description><category></category></item><item><title><![CDATA[Delphi 无边框窗体显示阴影]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/135817450</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/135817450</guid><author>daigua1987</author><pubDate>Wed, 24 Jan 2024 11:20:56 +0800</pubDate><description><![CDATA[系统默认的窗体边框太难看，经常跟系统的风格不符，这个时候我们就需要无边框的窗体了，然后自己设置边框颜色等，但是在showmodal出来的时候，没有阴影效果，这样看着就没立体效果了，所以我们就需要添加阴影效果了，不过找了网上大部分阴影效果，都不怎么符合自带的阴影效果。后面找到了Dwm，效果显示非常好，是原本的阴影效果，只是把边框隐藏起来了，设计的时候，需要带着边框的，然后把插件拖上去即可。]]></description><category></category></item><item><title><![CDATA[TDBGridEh如何显示图片]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/135816944</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/135816944</guid><author>daigua1987</author><pubDate>Wed, 24 Jan 2024 11:08:16 +0800</pubDate><description><![CDATA[再TDBGridEh碰到要显示图片的问题，找到是需要再DrawColumnCell事件里面实现，定义一个TDBImageEh，通过图片路径把图片加载到TDBImageEh里面，只测试过本地图片，如果是局域网的，可以用共享文件实现图片显示，如果是网络图片就需要下载再加载进来了。这样表格就会显示图片了，但是图片非常模糊，如果需要显示清晰的图片就需要对图片进行处理了，通过canvas画一个高清的图片再加载进去，图片就会显示高清的图片了，新建一个Unit。下面是加载本地地址图片。]]></description><category></category></item><item><title><![CDATA[Unigui的FastReport的图片显示]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/134925178</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/134925178</guid><author>daigua1987</author><pubDate>Mon, 11 Dec 2023 14:22:32 +0800</pubDate><description><![CDATA[这个是直接加载图片地址，就是显示的时候特别慢，如果图片地址不存在还会提示错误，后面从FastReport的帮助文档里面找到了FileLink属性，这个属性也可以放图片地址。打印显示的时候，比前面一种方法快很多，而且如果地址不存在图片也不会报错。一般来说我们是用TfrxPictureView的Picture属性来显示图片，也就是TfrxPictureView直接加载图片，Unigui显示图片时，基本上会用图片的存储地址显示，FastReport的dome是用图片格式直接显示的。]]></description><category></category></item><item><title><![CDATA[一个Delphi FMX PC端的界面模板]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/134424165</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/134424165</guid><author>daigua1987</author><pubDate>Wed, 15 Nov 2023 16:55:42 +0800</pubDate><description><![CDATA[需要的可以去https://download.youkuaiyun.com/download/daigua1987/88537855?spm=1001.2014.3001.5503下载。由于要弄个PC端系统，如果用以前的window窗体，再MOS系统里面就无法使用，所以做了一个FMX PC端系统模板，只有界面的代码，用到了TMS FMX控件。]]></description><category></category></item><item><title><![CDATA[delphi的BPL应用]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/132734320</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/132734320</guid><author>daigua1987</author><pubDate>Thu, 07 Sep 2023 12:31:15 +0800</pubDate><description><![CDATA[BPL里面各个Form和Unit之间的调用，需要注意的如果用到了Form的控件，记得一定要把Form对象传过去。BPL调用BPL的时候，也要把Form传过去，传回来的时候再转换回来。如果是模块化架构，就选择BPL，不要选择DLL，DLL可以对外做接口使用，不过Delphi接口我觉得DataSnap更方便点。为什么要用BPL呢，因为DLL是无法传递对象的，只能传递对象的内存地址过去。点击后，把第二个BPL的值，通过回调过程传递到一个BPL里面。最近一直在测试BPL和DLL，总结一下这段时间的经验。]]></description><category></category></item><item><title><![CDATA[谈谈学DELPHI]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/132631813</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/132631813</guid><author>daigua1987</author><pubDate>Fri, 01 Sep 2023 23:02:39 +0800</pubDate><description><![CDATA[Dephi是一个基于多种平台的开发软件，我学Delphi是因为我是搞ERP的接触的第一个ERP就是用Delphi7开发，当时看开发的同事随便拖几下，页面就出来了感觉很神奇，弄ERP前，我是搞JAVA的，HTML页面有多难搞，懂的都应该知道，那时候HTML模板还特别少，不像现在这样很多的资源，随便下载，套上就好了。左下角是控件属性，右下角是控件，可以拖进窗体即可。说了这么多，就是告诉大家Delphi做系统的应用开发非常方便，特别是对于数据库的开发，可以根据数据自动生成SQL预计对数据进行增删改的操作。]]></description><category></category></item><item><title><![CDATA[delphi 10.4加载BPL问题]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/132618806</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/132618806</guid><author>daigua1987</author><pubDate>Fri, 01 Sep 2023 10:31:26 +0800</pubDate><description><![CDATA[delphi 10.4调用BPL的时候，在用FindClass去找FORM的时候，一直提示找不到form，查资料说要勾选Build with runtime package，我找了半天没找到这个选项，后面测试在10.4里面 是Link with runtime package。如果你用到了bpl动态加载的，记得把这个勾选上。]]></description><category></category></item><item><title><![CDATA[Delphi的UI设计]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/132536802</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/132536802</guid><author>daigua1987</author><pubDate>Mon, 28 Aug 2023 13:45:00 +0800</pubDate><description><![CDATA[HTML的模板网上很多，我们主要参考就是界面的配色，还有就是图片和图标了。弄过来后，我们可以通过HTML的CSS 和JS代码获取到相关界面的颜色值，然后对我们的界面进行设计，由于HTML经常会有一些渐变色，所以我们需要下一个TMSPack，里么Panel控件提供了渐变色的功能，还有就是GroupBox可以实现透明功能。Dephi 的控件，如果不自己处理，界面看起来特别丑，虽然不影响功能，但是会看着不舒服，由于windows UI找不到相关模板，所以我就参考了HTML的模板，进行设计处理。]]></description><category></category></item><item><title><![CDATA[UNIGUI的自适应屏幕]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/132491765</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/132491765</guid><author>daigua1987</author><pubDate>Fri, 25 Aug 2023 11:31:17 +0800</pubDate><description><![CDATA[Unigui]]></description><category></category></item><item><title><![CDATA[UNIGUI的TUniForm的去边框方法]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/131417198</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/131417198</guid><author>daigua1987</author><pubDate>Wed, 28 Jun 2023 08:03:46 +0800</pubDate><description><![CDATA[加上后，边框会去掉，当时右边和下面会出现一整条的空白，想了各种办法都无法消除，网络资料也是说暂时无法解决，去UINGUI的官方网站，复制下来的，也是同样的情况，这个时候我们就需要一个UniContainerPanel来处理了，把UniContainerPanel的top和left都设置为0，Align设置为alNone,然后设置高和宽，比窗体大10左右就差不多了。如果TUniForm用ShowModal显示出来后，总会有边框显示，查询资料是在。]]></description><category></category></item><item><title><![CDATA[fastreport.net设计模板保存到数据库]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/116452254</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/116452254</guid><author>daigua1987</author><pubDate>Thu, 06 May 2021 13:50:55 +0800</pubDate><description><![CDATA[fastreport.net设计模板保存到数据库
新学C#,尝试用我写Delphi的架构方式，写一个简单架构出来，写到打印功能时，习惯去下载跟delphi一样的打印控件fastreport，其他打印预览什么的都没问题，唯独那个保存事件找不到用那个控件，网络上查找了很多，都写得太过复杂，看着完全懵逼状态，不太适合新手，后面找了很久才找到方法，首先在打印模块拖入Report和environmentSettings两个控件，打印预览代码
        private void toolStripButton6_]]></description><category></category></item><item><title><![CDATA[TDBGridEh的自带数据筛选功能]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/115652087</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/115652087</guid><author>daigua1987</author><pubDate>Tue, 13 Apr 2021 03:04:46 +0800</pubDate><description><![CDATA[TDBGridEh的自带数据筛选功能
以前用TDBGridEh总是为筛选发愁，TDBGridEh以前是筛选是通过TMemTableEh+TADODataDriverEh+TADODataDriverEh然后TDBGridEh的STFFilter的属性里面设置
这样TDBGridEh第一行就会出现筛选列，但是我是用FireDAC作为数据连接的，这样就比较麻烦了，后面找EhLib里面的一份说明文档才知道，有另外一种方便的筛选功能

TDBGridEh上面会出现一行筛选行，可以对TDBGridEh的全部内容进行筛]]></description><category></category></item><item><title><![CDATA[DELPHI的权限控制]]></title><link>https://blog.youkuaiyun.com/daigua1987/article/details/115423962</link><guid>https://blog.youkuaiyun.com/daigua1987/article/details/115423962</guid><author>daigua1987</author><pubDate>Sun, 04 Apr 2021 04:33:21 +0800</pubDate><description><![CDATA[DELPHI的权限控制
本人DELPHI新手，没事练习写个简单的系统，第一个权限控制就想了好几天不知道怎么去控制，看了很多权限控制的代码，要不是一个一个的MenuItem的去判断要不是遍历MainMenu，还需要搞递归，感觉太不方便了，下面的本人的一个方法，感觉适合新手使用。
第一把所有MenuItem的Name存储到数据库的表中,t_Mod是所有菜单的表ModNo是菜单Name，新增用户后，把t_Mod的数据插入到权限表（t_Power）中，然后再勾选权限

第二前端控制，前端我们通过TComponent]]></description><category></category></item></channel></rss>