- 博客(36)
- 资源 (16)
- 问答 (2)
- 收藏
- 关注
原创 DELPHI 安卓开发小手段
本文主要记录一些安卓开发时,使用的小功能,我称之为小手段,算是一个学习笔记吧,而本文中关于一些公共的功能,我仅在第一次需要时编写,后面将不再重复,比如动态权限申请之类的。{$ENDIF}目录前言如何调用手机震动功能申请震动权限建立震动函数调用震动函数如何调整手机音量如何关闭EDIT虚拟键盘动态控件属性修改无边窗体如何拖动。
2024-07-25 13:48:29
741
原创 Delphi 开发Android Service四种模式初探
本篇文章正经来说,其实算是我的学习履历,是我在不断的摸索过程中,总结的经验,不能算是一篇正经的学术文章。现在DELPHI的学习资料太少了,就算是有也都是基于老版本DELPHI,或VCL相关的内容,涉及FMX、Android编程就显得明显不足,我虽然也玩了几年的DELPHI,但说实话能力水平有限,下面的文章如果有错误的地方,也请同行的前辈们指点修正,先在此谢过。
2024-05-27 16:19:43
1044
原创 DELPHI通过WebService进行数据交互
WebService是一种可以跨语言和平台的数据交互模式,使用非常广泛,与JSon数据格式结合,更是当前非常流行的一种模式,本章针对DELPHI通过WebService进行数据的交互做一个相对简单例子应用。到当前为止,我们的服务端就创建好了,不过是个空的服务端,什么接口都没有,但我们可以运行一下看看。好了,到当前为止,我们服务端正式完成,F9运行并Star服务,不要关闭,我们开始设计客户端。好了,我们第一个函数创建完成,为了避免麻烦,我们把第二个函数也一起完成后,再来建立客户端。
2024-05-16 19:00:30
1472
3
原创 DELPHI11 利用Android手机实现条码扫描功能
好了,整个过程全部结束,当然这只是最简单的例子,只是演示一下如何识别条码,更多的条码处理功能,比如优化,提速等需要在后面继续。安装过程中所有提示框全部按OK就可以,直到提示安装成功,那么ZXing库就成功完成了安装。点击红框标识的文件夹图标,将下载的ZXing库文件路径加入进来后,点ADD。第三步:选择下载的ZXing库路径,并按Ctrl + A进行全选,并导入。至此为止,我们的库才算是全部安装完成,可以在DELPHI 中正常引用了。2.打开相机,识别条码,并将条码内容显示在MEMO1中。
2024-04-29 13:34:48
680
2
原创 DELPHI 生成二维码方式
下面我把DelphiZXingQRCode单元的全部内容附上,以免大家还要去找地方下载,各位可以把下面的内容全部复制,保存成一个独立单元就可以了,最后别忘了要把此单元引用到软件中,上面的代码才不会出错哦。最近一直在研究如何用DELPHI生成二维码的问题,网上也有不少资料,但都会存在一些问题,比如DELPHI版本的问题,VCL与FMX的问题。代码也是建立在DelphiZXingQRCode模块之上的,这个需要先下载,本文最后也会附上整个模块的代码。废话不多说,先展示VCL的代码模块。
2024-04-27 17:27:02
191
1
原创 DELPHI开发安卓APP自动更新
出现Couldn’t find meta-data for provider with authority错误,升级不成功,而是显示需要其它程序打开,并不能进入安装程序界面。通过以下代码可以得到APP的版本号,如:1.0.1,我们可以按同样的格式将最新版本保存到数据库中,APP版本设置如下图所示。本章主要记录关于安卓APP自动更新的方法,以及自动更新可能出现的问题汇总,后续将持续更新。以下是通过FTP的方式获取APP安装包,并将安装包下载至手机本地。1.在数据库保存APP最新的版本信息。
2024-04-09 14:14:59
353
原创 Delphi 安卓手机获取GPS定位并显示在腾讯地图上
此处需要引用自制单元GetGPSOffset,单元文件内容在下面第4项全文附上,以下代码为调用单元函数纠正GPS坐标,使其在腾讯地图中定位准确。AWeb:此参数为TWebBrowser控件的名称,调用时地图显示在TWebBrowser控件中,实际的控件名称在调用时输入在此。首先在界面中插入一个LocationSensor控件,一个TWebBrowser控件,一个TMemo控件,如下图。好了,DEMO程序非常简单,只是演示了功能实现的基本操作,下面将GPS纠偏的单元文件内容附上,供大家参考。
2024-04-02 14:38:43
380
原创 delphi 安卓开发实现沉浸式状态栏
有了上面这三步,功能基本就实现了,但我们会发现界面顶部与底部都有被遮挡的问题,这个简单,后面我们所有创建的FORM,都把最上面的控件和最下面的控件进行Margin设定就可以了。比如上面图片的界面,我把最上面的ToolBar的Margin TOP设置为35,底部TabControl的Margin Buttom设定为15,显示就刚刚好,不是吗?然而之前在网上搜索,找了好多资料,不是修改这个就是修改那个,一番操作下来都不是我想要的效果,下面我把我实现的方式分享给大家,希望对大家有用。
2023-11-06 14:51:34
441
原创 DelphiXE Android开发所有权限按照分类总结说明
允许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中(Allows anapplication to manage (create, destroy, Z-order) application tokens in thewindow manager. )允许一个程序访问精良位置(如GPS) (Allows an application to access fine (e.g., GPS)location)
2023-10-07 14:33:51
182
原创 DELPHI 实现安卓Toast提示
toast提示是Android系统中一种消息框类型,一种简易的消息提示框;是Android中用来显示提示信息的一种机制。第一步:创建一个独立的单元。
2023-09-23 23:40:45
354
原创 Delphi 随机获取数组不重复值给另一数组
在数组Arr中随机获取一个值,在数组Brr中进行查找,发果Brr数组中没有此数值,则将值增加到Brr数组内,直到Brr数组加满10个值为止,且Brr数组的所有值不重复。以下为了目视更清楚,我用了一个ListBox进行Brr数组值的显示。引用单元:System.StrUtils。
2023-08-21 21:37:25
153
原创 DELPHI实现PING功能升级版
通过以上的方式完美解决了Windows7系统在没有管理员权限的情况下,也能实现Ping功能问题,以上与大家共享。//需要引用WinSock单元。
2023-07-03 10:50:46
611
原创 【Delphi FireMonkey实现窗体嵌入的功能】
以前在VCL模式下,个人喜欢实现选项卡的方式打开子窗体,即每打开一个子窗体,就在主窗体的PageControl上增加一个Page,并将子窗体嵌入到新增的Page中。后面开始玩FMX,发现VCL的方式不能直接套用,需要做一些修改才可以用,以下就是针对此问题做个笔记,希望对有需要的朋友们有用。以上两步就能实现FMX模式下的窗体嵌入功能,如下图,中间图表就是调用子窗体内容。功能描述:将子窗体在主窗体的Layout里面打开显示。子窗体显示的区域:主窗体的Layout3。以下是打开子窗体的函数。
2023-06-19 19:36:55
790
2
原创 DELPHI FireMonkey下Grid用法笔记
以前在VCL模式,使用cxGrid做什么都方便,后面使用FireMonkey的时候发现,有些简单的东西实现起来,还挺麻烦,下面就针对Grid网格的使用做一些笔记。笔记一:给网格Grid根据条件设置背景颜色与字体颜色。
2023-06-10 19:44:13
330
原创 DELPHI 获取软件版本号
【第三步】:调用函数,以WINDOWS为例。此代码可以跨四个平台,以下将重要代码贴上。【第二步】:编写获取版本号的函数。【第一步】:在USE段引用。
2023-06-10 12:47:52
647
原创 delphi错误:firedac odbc sql server driver连接占线导致另一个hstmt
FetchOptions的Mode默认是fmOnDemand表示分页,每页50,改为fmAll表示全部记录,具体的出错原因机理暂时还没搞清楚,但问题是解决了。使用FDQUERY控件在导入EXCEL文件时发生错误。
2023-04-03 12:02:06
536
原创 Delphi XE11APP编译出错
今天从官网上下载了一个DELPHI XE11,但是以我的经验,每一个版本的软件安装以后,使用起来都不会那么顺利,决定从安装完以后开始,将所遇到的问题记录,如果对朋友们有帮助,那就有了意义,互联网分享精神嘛。原因为我手机内原因使用DELPHI XE10.4版本编译过相同名称的程序,但两个版本的签名不一样,于是我将工程另存,重新命名后,此问题解决。根据软件报错的信息来看,其说明的主要意思是:“包名重复,但签名不一致”安装描述:所有路径在安装时指定(D盘),未做任何其它修改。SDK等配置环境如下图。
2022-10-11 10:01:48
1305
原创 delphi在SQL语句查询时格式化数据
原来在VCL开发时,查询的语句基本没做过什么格式化处理,因为像CXGRID这些控件,最后都能对数据进行格式化,但最近开始玩FireMonkey以后,使用ListView通过绑定显示数据,问题就出来了想来想去也不知道用什么好办法,最后还是通过查询的时候格式化数据,不过此方法虽然实现,但查询速度方面会降低,欢迎大家留言讨论
2022-10-05 14:42:07
382
原创 Delphi在FireMonkey下自动创建SQLite数据库
原来一直做VCL开发,主要也是针对Windows方面的,最近研究安卓开发,使用FireMonkey就发现原来的很多思路都不灵了,下面讲得就是我碰到的问题,其实挺简单,只是思路没改过来而已。在网上问了以后才知道安卓这样写不行,需要指定路径,于是代码就变成了下面这样就可以了。1.上面这段代码使用了TPath,那就必须要引用System.IOUtils单元。结果就出现了错误,提示数据库无法打开,但在WINDWOS下面是正常的。如果不做这两项操作,代码会报错无法编译。
2022-10-02 09:59:55
601
2
原创 Delphi 中TPath单元引用报错无法编译问题
大家都知道在FMX中,IO相关的都整合到System.IoUtils单元内,对应的文件路径也都在这个单元内,在跨平台的代码中,我们会经常使用到。首选是分别打开两个源码文件,我们可以看到,在FMX.Objects里定义了一个以TPath命名的类,在system.IOUtils里有一个以TPath命名的记录。所以,当FMX.Objects引用在后面时,系统认可的是TPath类,这个类是没有Combine函数的,自然会提示有错误。很多时候,我们多留意一下,会发现在Delphi的一些源码中,就使用的这种方式。
2022-10-02 08:35:56
361
原创 Delphi XE10 跨平台三层数据库基本连接
本教程完成了Delphi XE 10 下,跨平台三层数据库程序例子,其中服务器程序连接数据库,客户端程序可以是PC、Android手机,发布仅需要一个exe或apk文件,无需安装其他驱动、库,无需设置注册等恼人的活动。在有的手机上安全软件会提示有广告插件:a.banner.doubleClick,网上查了下,是google自带的什么东东,脑力不济,管不了这么多了。三层数据库应用是目前最简单、方便、易扩展的架构,而跨平台应用又是所谓的“互联网+”最需要的,下面的教程分服务器端和客户端两大部分完成该设计。
2022-09-22 11:32:51
1667
原创 DELPHI利WMI获得硬盘参数
WMI-Win32_DiskDrive 硬盘参数Availability --设备的状态。BytesPerSector --在每个扇区的物理磁盘驱动器的字节数。Capabilities --媒体访问设备的能力阵列。CapabilityDescriptions --更详细的解释为任何在功能阵列表示的访问设备的功能的列表Caption --对象的序列号CompressionMethod --设备所使用的算法或工具,以支持压缩。ConfigManagerErrorCode --Windows配置管理
2022-07-04 14:43:07
705
原创 DELPHI利用WMI获得显示参数
Win32_VideoControllerAcceleratorCapabilities --图形和视频控制器的三维阵列的能力AdapterCompatibility --用于此控制器与系统比较兼容性一般芯片组AdapterDACType --姓名或数字 - 模拟转换器(DAC)芯片的标识符AdapterRAM --视频适配器的内存大小Availability --可用性和设备的状态CapabilityDescriptions --自由形式字符串提供更详细的解释中的任何加速器能力阵列
2022-07-04 14:42:14
427
原创 DELPHI利用WMI获得内存参数
WMI-Win32_PhysicalMemory 内存条参数uint64 Capacity --获取内存容量(单位KB)string Caption --物理内存还虚拟内存uint32 ConfiguredClockSpeed --配置时钟速度uint32 ConfiguredVoltage --配置电压string CreationClassName --创建类名(就是更换这个类的名字)uint16 DataWidth --获取内存带宽string Description --描述更Capt
2022-07-04 14:41:23
463
原创 DELPHI利用WMI获取主板参数
WMI-Win32_baseboard 主板参数Caption --简述ConfigOptions --数组,表示位于在底板上跳线和开关的配置。CreationClassName --表示类的名称(就是Win32_baseboard类)Depth --以英寸为单位的物理封装。Description --对象的描述(底板)Height --用英寸表示的物理包的高度HostingBoard --如果为TRUE,该卡是一个主板,或在一个机箱中的基板。HotSwappable --如果为TRUE,就
2022-07-04 14:40:24
921
原创 DELPHI利用WMI获取CPU参数
DELPHI利用WMI获取CPU参数,实现的方法与之前所写文章网卡参数获取一致,这里不再重复,下面将CPU的参数表附上WMI-Win32_Processor CPU 参数AddressWidth --在32位操作系统,该值是32,在64位操作系统是64。Architecture --所使用的平台的处理器架构。AssetTag --代表该处理器的资产标签。Availability --设备的状态。Caption --设备的简短描述Characteristics --处理器支持定义的功能Confi
2022-07-04 14:39:20
1217
原创 DELPHI WMI开发之网卡参数
在之前我们大概针对DELPHI如何利用WMI获得硬件参数做了简单的概述,本章节主要针对网卡做详细说明与记录网卡库:Win32_NetworkAdapter通常一般的电脑都不止一个网卡,有线的,无线的可能都会存在多个,那么我们想要获得网卡信息,就要获取全部,而实现的方式就是:循环查询网卡数量+单网卡信息获取假定我们将网卡的INDEX当作区分网卡唯一的条件,那么我们首先要查询网卡的数量,再来获得单个网卡的信息,代码如下:上面的代码可获得所有网卡信息,当然如果没有获得信息的函数,还是会报错,如下面这句那么Ge
2022-07-04 14:35:47
531
原创 DELPHI开发选项卡模式的窗体
关于选项卡模式的窗体,先看一个我开发的一个案例图在图片中我们可以看到,主界面是固定排版的,所有模块窗体在打开时,都是在主界面的选项卡上增加一个选项,也可以通过关闭选项卡来关闭窗体,那么实现的方式是什么呢?【第一步】我们首先创建一个过程procedure OpenForm(FrmName,FrmCaption:string;MyFormCls:TFormClass);针对此过程的参数简单的解释一下:FrmName:窗体的名称FrmCaption:显示在选项卡上的标签内容MyFormCls:
2022-05-07 14:42:22
612
原创 DELPHI出现异常不弹出对话框处理方式
我们在开发程序时,有时针对程序出现的异常不需要弹出对话框来提示,比如做数据采集时,如果无人值守,出现对话框采集就会停止,那么我们就需要将异常处理改为非对话框模式进行,比如在MEMO里面显示错误信息,那如何实现呢,我们用最简单的例子来说明:下面是一个简单的例子,不做处理时,默认是对话框提示错误信息,这个例子是当除数为0时,进行报错提示正常状态:如果除数为0时,则报错,系统默认的报错方式为对话框那么如果要改成所有报错信息不使用对话框,而是在MEMO中显示,我们做以下几个步骤就可以了【第一步】:先定
2022-05-05 12:19:29
1341
原创 【DELPHI 10.4】版本代码输入不提示问题解决
最近安装了DELPHI10.4的版本在试用,安装完成后是各种问题扑面而来,本章主要介绍代码不提示的问题是如何解决的。安装了DELPHI10.4以后,我单独还安装了CNPACK,但刚开始还好,后面无缘无故出现了代码不提示的问题,以下是解决的步聚:1.打开软件菜单【TOOL】,选择【Options】2.在弹出的窗体中选择【User Interface】–【Editor】—【Source】,然后就右边的菜单中,选择红框内的Code Insight,把下拉菜单的内容选择成为:Delphi(Classic C
2022-03-10 14:57:45
1866
2
原创 Delphi常用的快捷键汇总
1.SHIFT+鼠标左键 先选中任一控件,按键后可选中窗体(选中控件后按Esc效果一样)2.Shift+F8 调试时弹出CPU窗口。3.Shift+F10 等于鼠标右键(Windows快捷键)。4.Shitf+箭头 选择5.shift +F12 快速查找窗体并打开6.F7 (步进式调试同时追踪进入子过程)7.F8 (步进式调试不进入子过程)8.F9 运行9.F12 切换EDITOR,FORM10.Alt+F4 关闭所有编辑框中打开的源程序文件,但不关闭项目11.ALT+鼠标左键 可以块选
2021-07-09 15:58:47
1938
原创 DELPHI实现网络PING的功能
PING这个功能在网络中经常使用,在系统中我们可以直接使用CMD的ping功能,那么在DELPHI中如何实现检测一台电脑是否能联通呢?第一步:加载IdIcmpClient控件第二步:实现PING功能IdIcmpClient1.Host:=‘192.168.1.1’;IdIcmpClient1.Ping();第三步:获取PING的结果if IdIcmpClient1.ReplyStatus.FromIpAddress <> ‘0.0.0.0’) thenbeginshowmes
2021-07-09 15:55:17
1417
原创 DELPHI使用FDConnection连接数据库
DELPHI使用FDConnection连接数据库【连接SQLite数据】如何创建SQLite数据库在此不做说明,以下内容仅说明如何连接数据库,前置说明:FDConnection控件,Name属性为conServer,此案例数据库名称为:SC.db,数据库存放路径与程序同目录,以下为连接代码:conServer.Params.DriverID:=‘SQLite’;conServer.Params.UserName:=’’;conServer.Params.Password:=’’;conServ
2021-06-23 13:20:40
2410
原创 MSSQLSERVER重建数据库索引
数据库使用久了以后,特别是数据表增删涂改量大的时候,索引往往会出现失效问题,如果手工一个个重建又麻烦,下面介绍利用数据自动重建所有数据表索引的方法【方法一】:利用MS SQL SERVER自带的功能进行索引重建第一步:打开SqlServer数据库,点击【管理】,右键【维护】,选择维护计划向导...
2021-06-19 16:58:01
4916
TMS-FMX-UI-Pack-v3.7.8.4
2024-06-20
DevExpressVCL 23.1.4
2024-06-05
ZXing for DelphiXE7-XE12
2024-04-29
Delphi GUI程序与FireMonkey教程
2023-05-16
EXCEL导入导出公用模块
2017-03-30
物品管理系统V2.2
2011-11-13
ReportMachine5.5(For D7-D2010)
2011-11-12
FMX模式下TGrid如何点击列头进行数据排序
2024-05-28
请教DELPHI在FireMonkey下TGRID格式化数据问题
2023-06-09
在DELPHI中如何调用DLL里面的函数呢
2022-07-05
关于DELPHI列表显示问题
2016-09-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人