开发技巧共16篇

使用Delphi列出蓝牙设备

在使用Delphi进行蓝牙开发时,列出所有连接到特定蓝牙适配器(主机设备)的蓝牙设备是一项基本任务。以下是如何实现这一功能的核心步骤和代码片段。实现方法通过JEDI API JwaBluetoothAPIs库可...
爱Delphi的头像-Delphi 大神网爱Delphi1个月前
5613

Delphi TStringList 存取数据

RAD Studio 10.2.3 测试√存对象:StrList.AddObject(mStrKey, mValueObj); 取对象mIndex := StrList.IndexOf(mStrKey); if mIndex >= 0 then Result := TClass(StrList.Objects[mIndex]);...
风神的头像-Delphi 大神网风神1个月前
639

DELPHI窗口分割用SPLITTER分割2个PANEL

在Delphi中放置两个Panel和一个Splitter组件,可以按照以下步骤操作:添加第一个Panel:在Form上添加一个Panel组件。设置第一个Panel的Align属性为alLeft(如果你希望垂直分割)或alTop(如果你...
风神的头像-Delphi 大神网风神1个月前
6011

key.val.pas

unit key.val; // cxg 2024-12-19 key-value list // fit (fpc+delphi) {$ifdef fpc} {$mode delphi}{$H+} {$endif} { example: procedure TForm1.Button2Click(Sender: TObject); var kv, kv2:...
风神的头像-Delphi 大神网风神1个月前
288

delphi中的变量初始值

在Delphi中,变量的初始值取决于变量的类型和声明中是否指定了显式的初始值。对于整数类型(如Integer、Int64等),默认的初始值为0。对于浮点数类型(如Double、Extended等),默认的初始值为...
风神的头像-Delphi 大神网风神1个月前
758

uniDbgrid单元格合并

uniGui开发Web时,遇到uniDBgrid单元格合并需求,在官网找到解决方案。1. UniDBGrid -> ClienEvent -> UniEvents -> 函数 beforeInit: function beforeInit(sender, config) { config...
求知的头像-Delphi 大神网求知2个月前
6613

delphi初始化日期时间格式

在delphi开发的程序中,不初始化日期时间格式,默认为操作系统日期时间格式。为了统一用户日期时间格式,代码加在程序的入口,工程文件application.initialize之后或 Form.OnCreate事件里// del...
求知的头像-Delphi 大神网求知2个月前
818

在 Delphi FMX Windows 窗体中检测鼠标后退和前进按钮(接受win消息)

在 Delphi FMX 应用程序中检测鼠标的后退和前进按钮(通常用于浏览器的导航)是一个常见的需求。由于 FMX 框架对窗口消息进行了过滤,标准的 WM_APPCOMMAND 消息处理方式在 FMX 中无效。因此,...
风神的头像-Delphi 大神网风神2个月前
4615

Delphi XE10.4字体字号对应的Font Size的点或像素换算

Delphi XE10.4字体字号对应的Font Size的点或像素换算Font SizeIn the VCL, font sizes are expressed in points, 72 per logical inch.In FireMonkey, font sizes are expressed in device-i...
风神的头像-Delphi 大神网风神2个月前
6713

MSQL数据库的编码格式

一个UTF8占三个字节(也与操作系统版本有关,有的版本为3有的为2)(三个字节占一个字符),如果只存英文,则一个latin1占1个字节      select length(“开心工作”);      查看开心工...
风神的头像-Delphi 大神网风神2个月前
5315

取得当前监视器的分辨率

var MonInfo: TMonitorInfo; begin MonInfo.cbSize := SizeOf(MonInfo); GetMonitorInfo(MonitorFromWindow(Handle, MONITOR_DEFAULTTONEAREST), @MonInfo); ShowMessage(Format('Current resol...
家有小二白的头像-Delphi 大神网家有小二白2个月前
4213

动态设置屏幕分辨率

Xe10.2测试可用。function SetScreen(x, y: Word): Boolean; var DevMode: TDeviceMode; begin Result := EnumDisplaySettings(nil, 0, DevMode); if Result then begin DevMode.dmFields := DM...
家有小二白的头像-Delphi 大神网家有小二白2个月前
4915
ImageEnView 设置图层的默认值-Delphi 大神网

ImageEnView 设置图层的默认值

 ImageEnView1.LayerDefaults.Clear(); ImageEnView1.LayerDefaults.Add( IELP_BorderColor +'=$008000FF' ); ImageEnView1.LayerDefaults.Add( IELP_BorderWidth +'=3' ); ImageEnView1.Layer...
家有小二白的头像-Delphi 大神网家有小二白2个月前
316

获得控件所在的窗体

需要引用单元:Vcl.Formsfunction GetParentForm(Control: TControl; TopForm: Boolean = True): TCustomForm;示例:GetParentForm(Edit1); 
家有小二白的头像-Delphi 大神网家有小二白2个月前
699

如何确定cxGrid网格数据的高度

procedure SetGridHeight(AGrid: TcxGrid; ARowsNumber: Integer); var I: Integer; AHeight: Integer; begin if (AGrid = nil) or (AGrid.FocusedView = nil) then Exit; AHeight := 0; with A...
家有小二白的头像-Delphi 大神网家有小二白2个月前
5714

cxGrid 选择行判断选择了多少行

if GridViewList.Controller.SelectedRowCount = 0 then begin ShowMessage('请选择资产'); exit; end; if GridViewList.Controller.SelectedRowCount > 1 then begin ShowMessage('复制记录...
家有小二白的头像-Delphi 大神网家有小二白2个月前
326