摘要: 效果: 第一步.与cxgrid相关联的TFDQuery控件需要开启"缓存更新"属性. 第二步.设置gridview-OptionsBehavior-EditMode属性.它有四个选项,如下图所示: 这四个选项的作用如下: 第三步,设置EditForm属性. 各属性说明如下: 阅读全文
posted @ 2026-02-04 04:41 一曲轻扬 阅读(2) 评论(0) 推荐(0)
摘要: 如果我不把UnitName 改成UnitName1,在With内部会得到一个意料之外的值. 分析: with内部的UnitName 其实指向的是system单元下的TObject.UnitName,然后在当前语境下,指向的就是fq.UnitName,而不是你在上面声明的UnitName.所以它才会返 阅读全文
posted @ 2026-02-03 23:33 一曲轻扬 阅读(3) 评论(0) 推荐(0)
摘要: 我们在基类单元中声明了GetData一个方法并在Create事件中调用GetData方法. 注意此时GetData在声明时,使用的是virtual方法,说明它是不再继承TFrame中的同名过程,而是新增的方法 另外Create和Destroy事件使用的是override方法,说明它是继承的父类同名方 阅读全文
posted @ 2026-02-03 07:59 一曲轻扬 阅读(1) 评论(0) 推荐(0)
摘要: type TFrame3 = class(TFrame) private { Private declarations } public { Public declarations } function test():string; end; implementation {$R *.dfm} { 阅读全文
posted @ 2026-01-13 07:57 一曲轻扬 阅读(13) 评论(0) 推荐(0)
摘要: Delphi 窗体间通信之事件回调模式 - 一曲轻扬 - 博客园 (cnblogs.com) 书接上例.这回我们将使用接口回调模式,来完成窗体间的通讯问题 核心套路: 定义接口(在弹出窗体单元) 实现接口(在主窗体/框架单元) 设置回调(创建时连接) 触发回调(事件发生时) 具体实现代码如下: 第一 阅读全文
posted @ 2025-12-28 11:30 一曲轻扬 阅读(38) 评论(0) 推荐(0)
摘要: Delphi 窗体间数据传递的「事件回调模式」套路总结 一、核心思想 「单向依赖 + 事件驱动」 - 下级窗体通过事件通知上级,避免双向引用导致的循环依赖。 在下级窗体中完成参数收集工作,并传向上级窗体. 在上级窗体关联并具现事件方法. 以下以FrmRK单元(上级)和FMTop20Record (下 阅读全文
posted @ 2025-12-26 15:18 一曲轻扬 阅读(32) 评论(0) 推荐(0)
摘要: 需求: 窗体A 调用窗体B ,窗体B又调用 FrameC.现在要把A中的一个值 S 传给FrameC.然后执行P过程.P在执行的过程中需要用到值S. 我最开始的设想大概如下(这是不对的): 窗体Aprocedure TMaterial2.ModifyInformationClick(Sender: 阅读全文
posted @ 2025-11-11 06:57 一曲轻扬 阅读(32) 评论(0) 推荐(0)
摘要: 原因是: 被修改的单元的名称,没有同步到早前引用了该单元的单元中. 做个比喻就是 张三改名为李四,以后大家也都叫他李四,但是在他没改名之前,注册在某单元里面的名字还是叫张三. 解决方案是: 菜单 - 搜索 - 在文件中查找 . 找出是谁引用了这个单元 找到目标: 阅读全文
posted @ 2025-11-09 13:58 一曲轻扬 阅读(16) 评论(0) 推荐(0)
摘要: 需求说明: 程序设计: 效果演示: 设计思路: FrmCK 只负责发布事件,不关心谁在监听. FrmGrid 只负责响应事件,不关心事件来源. 创建过程: 一.创建接口单元FrmInterface.然后在单元中需要声明两个接口,即监听事件的接口和发布事件的接口 1.监听接口只需要声明一个过程即可,它 阅读全文
posted @ 2025-10-28 21:25 一曲轻扬 阅读(86) 评论(0) 推荐(0)
摘要: 效果展示: 核心代码: procedure TMain.scAdvancedListBox2Items0Click(Sender: TObject); //单位设置 begin //获取点击的按钮的caption属性 var i := TscAdvancedListBox(Sender).ItemI 阅读全文
posted @ 2025-10-16 13:34 一曲轻扬 阅读(53) 评论(0) 推荐(0)
摘要: 使用 AnsiToUtf8 方法转换一下就可以了 procedure TForm1.LoadSettingsFromIni; var IniFile: TIniFile; begin IniFile := TIniFile.Create(FIniFilePath); try UserNameEdit 阅读全文
posted @ 2025-10-05 15:02 一曲轻扬 阅读(60) 评论(0) 推荐(0)
摘要: 重要提示: xls后缀的文件与xlsx后缀的文件,连接方法不一样. 可以使用代码来实现: FDConnection1.Connected := false; FDConnection1.Params.Clear; FDConnection1.DriverName := 'ODBC'; FDConne 阅读全文
posted @ 2025-09-12 07:00 一曲轻扬 阅读(81) 评论(0) 推荐(0)
摘要: 一.设置文本属性. 注意到,在CELL这个方法中,与我们常用的VBA参数的写法是相反的. DELPHI先列后行: property Cells[ACol, ARow: Integer]: string read GetCells write SetCells; VBA先行后列: CELLS(ROW, 阅读全文
posted @ 2025-09-11 04:10 一曲轻扬 阅读(232) 评论(0) 推荐(0)
摘要: 需求: 把登陆窗体中的图片,替换为数据表中的图片. 思路: 1.把图片保存到本地 2.修改图片控件的图片路径 难点: 1.对附件的操作方法不熟练 2.不同的数据库操作方法有差异 主要用到的方法: Field2.SaveToFile 方法 (DAO) 效果(左侧图片的变化): 原窗体: 载入表中图片后 阅读全文
posted @ 2025-07-27 17:53 一曲轻扬 阅读(42) 评论(0) 推荐(0)
摘要: 其中 数据表tblLinkedTables中,记录了所有需要外链的表名. 核心代码如下: Private Sub cmdBrowse_Click() With Application.FileDialog(msoFileDialogFilePicker) .InitialFileName = Cur 阅读全文
posted @ 2025-05-07 07:24 一曲轻扬 阅读(34) 评论(0) 推荐(0)
摘要: //带密码 SELECT * FROM [;database=C:\Users\Administrator\Desktop\VBA删除后端表\数据源\Data2.mdb;pwd=123].A; //不带密码 SELECT * FROM [;database=C:\Users\Administrato 阅读全文
posted @ 2025-04-23 09:11 一曲轻扬 阅读(21) 评论(0) 推荐(0)
摘要: 设置视图: 运行效果: unit HideWindown; interface uses Windows, Messages, SysUtils, Classes, Forms, StdCtrls, ActiveX, ComObj, ShellAPI, Tlhelp32, Vcl.Controls, 阅读全文
posted @ 2024-10-20 11:36 一曲轻扬 阅读(361) 评论(0) 推荐(0)
摘要: 我在ACCESS中添加了TreeView插件,结果电脑A上打开没问题,电脑B打开时就报MSCOMCT2.OCX和MSCOMCTL.OCX有错. B电脑之前是可以正常使用的,但是加了TreeView插件之后报错,说明是插件引用的问题. 在网上下载了这两个文件,复制到C:\WINDOWS\SYSTEM3 阅读全文
posted @ 2024-09-25 15:27 一曲轻扬 阅读(411) 评论(0) 推荐(0)
摘要: 用过Round和INT函数都没办法解决. 查询结果: 原因: 参与计算的字段使用了单精度或者双精度数据类型,改成小数类型即可解决. 阅读全文
posted @ 2024-09-24 21:47 一曲轻扬 阅读(94) 评论(0) 推荐(0)
摘要: 为了更详细地解释 Base64 编码的过程,我们可以从头开始逐步分解这个过程。假设我们有一段简单的 ASCII 文本 "Hello",我们将详细展示如何将其转换为 Base64 编码。 1. 获取文本的 ASCII 码 首先,将 "Hello" 转换为其 ASCII 码值。每个字符的 ASCII 码 阅读全文
posted @ 2024-08-25 17:33 一曲轻扬 阅读(67) 评论(0) 推荐(0)