随笔分类 - Delphi学习笔记
摘要:效果: 第一步.与cxgrid相关联的TFDQuery控件需要确定"缓存更新"属性处于关闭状态. 说明:如果开启缓存更新,则需要手动执行 FDQuery1.ApplyUpdates 第二步.设置gridview-OptionsBehavior-EditMode属性.它有四个选项,如下图所示: 这四个
阅读全文
摘要:如果我不把UnitName 改成UnitName1,在With内部会得到一个意料之外的值. 分析: with内部的UnitName 其实指向的是system单元下的TObject.UnitName,然后在当前语境下,指向的就是fq.UnitName,而不是你在上面声明的UnitName.所以它才会返
阅读全文
摘要:我们在基类单元中声明了GetData一个方法并在Create事件中调用GetData方法. 注意此时GetData在声明时,使用的是virtual方法,说明它是不再继承TFrame中的同名过程,而是新增的方法 另外Create和Destroy事件使用的是override方法,说明它是继承的父类同名方
阅读全文
摘要:type TFrame3 = class(TFrame) private { Private declarations } public { Public declarations } function test():string; end; implementation {$R *.dfm} {
阅读全文
摘要:Delphi 窗体间通信之事件回调模式 - 一曲轻扬 - 博客园 (cnblogs.com) 书接上例.这回我们将使用接口回调模式,来完成窗体间的通讯问题 核心套路: 定义接口(在弹出窗体单元) 实现接口(在主窗体/框架单元) 设置回调(创建时连接) 触发回调(事件发生时) 具体实现代码如下: 第一
阅读全文
摘要:Delphi 窗体间数据传递的「事件回调模式」套路总结 一、核心思想 「单向依赖 + 事件驱动」 - 下级窗体通过事件通知上级,避免双向引用导致的循环依赖。 在下级窗体中完成参数收集工作,并传向上级窗体. 在上级窗体关联并具现事件方法. 以下以FrmRK单元(上级)和FMTop20Record (下
阅读全文
摘要:需求: 窗体A 调用窗体B ,窗体B又调用 FrameC.现在要把A中的一个值 S 传给FrameC.然后执行P过程.P在执行的过程中需要用到值S. 我最开始的设想大概如下(这是不对的): 窗体Aprocedure TMaterial2.ModifyInformationClick(Sender:
阅读全文
摘要:原因是: 被修改的单元的名称,没有同步到早前引用了该单元的单元中. 做个比喻就是 张三改名为李四,以后大家也都叫他李四,但是在他没改名之前,注册在某单元里面的名字还是叫张三. 解决方案是: 菜单 - 搜索 - 在文件中查找 . 找出是谁引用了这个单元 找到目标:
阅读全文
摘要:需求说明: 程序设计: 效果演示: 设计思路: FrmCK 只负责发布事件,不关心谁在监听. FrmGrid 只负责响应事件,不关心事件来源. 创建过程: 一.创建接口单元FrmInterface.然后在单元中需要声明两个接口,即监听事件的接口和发布事件的接口 1.监听接口只需要声明一个过程即可,它
阅读全文
摘要:效果展示: 核心代码: procedure TMain.scAdvancedListBox2Items0Click(Sender: TObject); //单位设置 begin //获取点击的按钮的caption属性 var i := TscAdvancedListBox(Sender).ItemI
阅读全文
摘要:使用 AnsiToUtf8 方法转换一下就可以了 procedure TForm1.LoadSettingsFromIni; var IniFile: TIniFile; begin IniFile := TIniFile.Create(FIniFilePath); try UserNameEdit
阅读全文
摘要:重要提示: xls后缀的文件与xlsx后缀的文件,连接方法不一样. 可以使用代码来实现: FDConnection1.Connected := false; FDConnection1.Params.Clear; FDConnection1.DriverName := 'ODBC'; FDConne
阅读全文
摘要:一.设置文本属性. 注意到,在CELL这个方法中,与我们常用的VBA参数的写法是相反的. DELPHI先列后行: property Cells[ACol, ARow: Integer]: string read GetCells write SetCells; VBA先行后列: CELLS(ROW,
阅读全文
摘要:设置视图: 运行效果: unit HideWindown; interface uses Windows, Messages, SysUtils, Classes, Forms, StdCtrls, ActiveX, ComObj, ShellAPI, Tlhelp32, Vcl.Controls,
阅读全文
摘要:在窗体中插入TApplicationEvents控件,然后设置它的onMessage事件即可 procedure TForm1.ApplicationEventsMessage(var Msg: tagMSG; var Handled: Boolean); var AktywnaForma: TFo
阅读全文
摘要:效果如图所示: 核心代码: procedure TForm1.Button1Click(Sender: TObject); var AIndex, I, ATotalSelectedCount, ASelectedRecordsCount: integer; AMasterView: TcxGrid
阅读全文
摘要:一.创建一个DLL项目 二.把验证过没有问题的函数写到DLL项目中 三.生成DLL 拿到了DLL 四.调用DLL 通常DLL调用的声明语句都会写在 implementation之上或者之下,区别是作用域不同.唯一的要求是:声明语句必须要在调用语句之前!!! unit Unit1; interface
阅读全文
摘要:TDictionary 是一个开放哈希表,支持泛型,并提供了以下常用属性和方法: 属性: Count:返回字典中元素的数量。Keys:返回字典中所有键所组成的动态数组。Values:返回字典中所有值所组成的动态数组。 方法: Add:向字典中添加一个键和其对应的值。Clear:清空字典中的所有元素。
阅读全文
摘要:我经常让GPT写一些简单的代码,它确实也能给出相对满意的结果,但是这单元的名称总是和我的不一样 我们在delphi中新建新项目名称一般都是Unit1,所以我们首先要先把Unit1修改成与GPT一样的名称才可以. 首先是保存我们的新项目,然后关闭.当然里面是空白的,什么代码和控件都没加.保存后这是新项
阅读全文
摘要:感谢我宅猫大哥的热心指导. 启动时等待验证码. 输入验证码后,等待处理数据 处理完成后,显示数据 实现原理:利用已有的账号和密码登录后产生的cookie,向服务器请求数据.返回的数据是JSON格式,后期需要自己整理. 注意,请在程序中使用同一个TnetHttpClient控件来完成.因为里面保存了c
阅读全文

浙公网安备 33010602011771号