随笔分类 - Delphi

摘要: 问题:Firemonkey Windows & macOS 平台下 Edit & Memo 中文输入后会取消原选取文字的 BUG 适用版本:Delphi 10.1.2 & 10.2.1 修正后效果: 修正代码: 请将 FMX.Edit.Style.pas 复制到自己的工程目录下,再修改如下代码: 请阅读全文
posted @ 2017-11-17 18:07 龟山Aone 阅读(112) | 评论 (0) 编辑
摘要: Apple iPhone X 推出后,全屏上多了一个浏海,虽然褒贬不一,也有 Xcode 开发者做出了不错的 ListView 效果,当然 Delphi 也不落人後,马上试做看看。 源码下载:[示例]ListView仿iPhoneX浏海_Aone.zip 适用:Delphi 10.1.2 Berli阅读全文
posted @ 2017-09-20 09:44 龟山Aone 阅读(483) | 评论 (2) 编辑
摘要: Android 平台: ListView 滑动速度已有改善,但比起 Berlin 还是略慢一些(在较慢的机子可感觉的到)仅于 Android 平台,其它平台没差。 TMemo, TEdit 输入文字的问题已修正了。 问题:TMessageManager.DefaultManager.Subscrib阅读全文
posted @ 2017-08-09 17:25 龟山Aone 阅读(978) | 评论 (3) 编辑
摘要: 控件说明:一个简单的讯息提示功能,使用 FMX 基本控件,因此支持 Win, macOS, iOS, Android 平台。 已知问题:如果使用了 WebBrowser, MapView... 等原生控件,则无法显示这个 Toast 讯息,因为 FMX 控件无法显示在原生控件的上方。如果有此需求,可阅读全文
posted @ 2017-07-07 08:10 龟山Aone 阅读(737) | 评论 (6) 编辑
摘要: 在 iOS 平台提供了英文拼字检查,但需将 ControlType 设定为 Platform 才能使用: 效果:阅读全文
posted @ 2017-06-30 15:38 龟山Aone 阅读(190) | 评论 (0) 编辑
摘要: Firemonkey 在 Windows 平台下的 Hint 默认为距形,有些单调,现在只要加入一行代码,就可以有气球箭头样式的 Hint。 修改代码: 请将 FMX.Controls.Win.pas 复制到自己的工程目录下,再修改如下代码: 修改前: 修改后:阅读全文
posted @ 2017-06-06 11:34 龟山Aone 阅读(456) | 评论 (0) 编辑
摘要: 问题:Firemonkey Android 平台显示斜粗体文字时,文字右方会有显示不全的问题。 修正代码: 请将 FMX.FontGlyphs.Android.pas 复制到自己的工程目录下,再修改如下代码: 修正效果:阅读全文
posted @ 2017-05-26 09:00 龟山Aone 阅读(339) | 评论 (0) 编辑
摘要: 效果: 代码: 源码下载:[示例]TreeViewCheck_Aone.zip阅读全文
posted @ 2017-05-17 11:14 龟山Aone 阅读(261) | 评论 (0) 编辑
摘要: 原码下载:[示例]Firemonkey面包屑导航_Aone.zip 效果:(以下效果不用写一行代码)阅读全文
posted @ 2017-04-26 14:12 龟山Aone 阅读(729) | 评论 (1) 编辑
摘要: FMXLinux 是一个可以用来开发 Linux 桌面软件的第三方插件,它需要配合 Delphi 10.2 Toyko 官网:http://www.fmxlinux.com/ 使用方法:开启 FMX 工程,在工程项目上按鼠标右键加入 “Linux platform”: TPath.xxx 路径测试:阅读全文
posted @ 2017-04-12 14:57 龟山Aone 阅读(1242) | 评论 (2) 编辑
摘要: 未修正: 修正代码: 请将 FMX.StdCtrls.pas 复制到自己的工程目录下,再修改如下代码: 修正后: 官方QC:https://quality.embarcadero.com/browse/RSP-17793阅读全文
posted @ 2017-04-07 18:50 龟山Aone 阅读(344) | 评论 (1) 编辑
摘要: 刚好需要将 FireDAC DataSet (TFDDataSet, TFDQuery...) 转成 JSON,网上找了一圈,原来从 XE6 开始就支持这个功能了: 储存: DataSet1.SaveToFile('d:\Data.json', TFDStorageFormat.sfJSON); 载阅读全文
posted @ 2017-04-06 05:28 龟山Aone 阅读(412) | 评论 (1) 编辑
摘要: 升級到 Delphi 10.2 Tokyo 笔记: 更新 Xcode 8.3 & iOS 10.3 测试: macOS 没问题(可 Debug) iOS Simulator 没问题(可 Debug) iOS Device 64 有问题,无法发布到真机:(相同环境,换回 Delphi 10.1.2 可阅读全文
posted @ 2017-03-22 11:20 龟山Aone 阅读(4676) | 评论 (4) 编辑
摘要: 如果可以使用代码随意设置 ListView 的颜色,而不用加载额外的 Style 及修改官方的源码,那该有多好?! 其实 Style 提供了很强了扩充性及可塑性,可以很容易的去操作它。 下面以 ListView 为例,用代码设置它的 ItemBackgroud 颜色(其它的控件基本上也能用相同的方法阅读全文
posted @ 2017-03-22 07:47 龟山Aone 阅读(519) | 评论 (0) 编辑
摘要: iOS 上架一個新版本号,就改个版号数字就好,有什么好说的? 是啊~ 如果上架顺利的话,就没什么好说的,如果被退件,再上传更新时,那版号怎么改? 下面说说我的做法(这只是建议,版号随自己喜好,没有固定章法) 例如我要上架一个新版,在 iTunues Connect 里,加入一个版号为 1.2(注意:阅读全文
posted @ 2017-03-13 09:15 龟山Aone 阅读(352) | 评论 (4) 编辑
摘要: Delphi IDE 提供了一个方便的文件搜寻功能,操作如下: 点 Search 选单内的 Find in Files... 例如我们想搜寻 JFile 需要引用那一个源码,可输入如下: 输入关键字:JFile = (加上等号,主要是缩小搜寻范围) 搜寻目录请输入目前 Delphi 版本的源码目录(阅读全文
posted @ 2017-03-01 16:51 龟山Aone 阅读(343) | 评论 (0) 编辑
摘要: Firemonkey 提供了一个跨平台的日志显示函数 Log.d,当 App 越来越大 Debug 编译越来越慢时,可以利用它在 Release 模式来除错,下列说明如何在各平台查看。 小技巧:可以在 Log.d 输出内容里加入一个关键字在开头(如:'Aone: ....'),在查看 Log 时,可阅读全文
posted @ 2017-02-24 08:07 龟山Aone 阅读(762) | 评论 (1) 编辑
摘要: 使用 TStopwatch 计时阅读全文
posted @ 2017-02-22 15:44 龟山Aone 阅读(278) | 评论 (0) 编辑
摘要: 在 Delphi 10.2 Tokyo 版里将支持 Linux 系统,先做一下学习记录: 安装 Ubuntu Server: 安装方法请参考官方教学影片: https://community.embarcadero.com/blogs/entry/setting-up-ubuntu-server-f阅读全文
posted @ 2017-02-22 07:58 龟山Aone 阅读(392) | 评论 (0) 编辑
摘要: 问题:dcef3 for Firemonkey 浏览器控件,拉动窗体大小会闪烁的问题 修改源码:ceffmx.pas 找到 procedure TCustomChromiumFMX.Resize; 修改如下: Delphi Chromium Embeded 3:https://github.com/阅读全文
posted @ 2017-02-10 12:50 龟山Aone 阅读(465) | 评论 (0) 编辑
摘要: 源码下载: https://github.com/OneChen/DragAndDrop 效果:阅读全文
posted @ 2017-02-07 10:34 龟山Aone 阅读(255) | 评论 (0) 编辑
摘要: 说明: Fiiremonkey 的跨平台能力,大家有目共睹(一码同介面跨四平台),唯独移动平台在几何绘图方面,质量始终不尽人意,我也曾试着去修正(如:修正曲线平滑问题),也曾找过第三方案(如:AggPas),但都不完美,我一直在想,移动平台有这么强的绘图能力及质量(Android & iOS),如果阅读全文
posted @ 2017-01-26 00:35 龟山Aone 阅读(1718) | 评论 (5) 编辑
摘要: 说明:在 Firemonkey 在移动平台 Android & iOS 要直接在 Canvas 画出 1 点像素的线,似乎有点困难,不过利用一点小技巧,还是能达到这个要求的,首先要建立一个 Bitmap 并将大小乘以目前机子的 Scale ,再开始绘图即可。 源码下载: https://github阅读全文
posted @ 2017-01-23 14:02 龟山Aone 阅读(374) | 评论 (0) 编辑
摘要: 问题:Firemonkey TFrame 存档后,下次载入某些事件连结会消失(但源码还在) 解决:(暂时方法)阅读全文
posted @ 2017-01-05 15:09 龟山Aone 阅读(352) | 评论 (1) 编辑
摘要: 提问:如下安装后的 TMyPanel 能在设计期时正常显示,但 TMyPanel2 在设计期时是白板,不能正常看到,为什么? 可能:是隔代无法继承 Style 造成的,改成如下就可以了: ps. 这个是 QQ 群里的问题,记录一下。阅读全文
posted @ 2016-12-25 10:48 龟山Aone 阅读(227) | 评论 (0) 编辑
摘要: 说明:使用 TGridLayout & TGridPanelLayout 来布局 源码下载:[示例]TestGridPanelLayout_布局_20161223.zip 展示:阅读全文
posted @ 2016-12-23 09:52 龟山Aone 阅读(572) | 评论 (0) 编辑
摘要: 问题:FMX 在移动平台的文字显示并非由该平台的原生 API 来显示,而是由 FMX.TextLayout.GPU 来处理,也许是官方没留意到中文字符的问题,造成在中英文混排折行时,有些问题。 修正:这个修正适用在任何文字显示的函数及控件上,如:TText, TLabel, DrawText....阅读全文
posted @ 2016-12-22 09:55 龟山Aone 阅读(963) | 评论 (4) 编辑
摘要: 说明:Firemonkey OnTouch 多点触控应用,可同时多指移动多个不同控件 原码下载:[原创]TestMultitouchMove_多点触控应用_by_Aone.zip 运行展示:阅读全文
posted @ 2016-12-07 16:24 龟山Aone 阅读(426) | 评论 (0) 编辑
摘要: 问题:在 Android 平台下,显示 Emoji 文字,无法显示彩色(皆为黑色),例如 Edit 控件,即使将 Edit.ControlType = Platform 设为平台原生控件,还是没用(真机测试 Edit.ControlType 设定为 Style 与 Platform 是一样的,而 i阅读全文
posted @ 2016-11-18 20:43 龟山Aone 阅读(621) | 评论 (0) 编辑
摘要: 计算字型 Baseline 是一个不常用的函数,但如果想要显示不同大小文字下方对齐,就得用它来计算字型的 Baseline 才行,如果计算不准,显示的文字就会高高低低不整齐。 在 Firemonkey 的 Windows 平台下(其它平台没有问题),取得字型文字的 Baseline 总有些不对劲(因阅读全文
posted @ 2016-11-09 19:40 龟山Aone 阅读(283) | 评论 (0) 编辑
摘要: 当你的 Apple ID 改用双重认证密码时,上架 iOS App 需要去建立一个专用密码来登入 Apple ID 才能上架。 如果使用 Application Loader 上传时,得到这个讯息: 此时需要到 appleid.apple.com 登入你的 Apple ID,去建立一个 app-sp阅读全文
posted @ 2016-11-07 11:56 龟山Aone 阅读(995) | 评论 (0) 编辑
摘要: Android 系统参数设定内,可以设定字型大小: 可以透过下面代码来取得字型大小比例: iOS 请参考: Delphi 取得 iOS 辅助使用里的字型大小阅读全文
posted @ 2016-10-28 08:22 龟山Aone 阅读(307) | 评论 (0) 编辑
摘要: 如何访问类的私有属性? 下面以 TPathData 为例,它有一个私有属性 PathData,储存了每一个曲线点,但一般无法修改它,需要利用下面方法,才能访问修改(若有更好的方法,歡迎分享): 一、利用 RTTI 取得类私有属性(建议使用此方法): 参考:http://blog.qdac.cc/?p阅读全文
posted @ 2016-10-19 17:23 龟山Aone 阅读(378) | 评论 (0) 编辑
摘要: 问题:从 XE4 以来,Firemonkey 曲线绘图在移动平台不平滑的问题一直令人诟病,提交到官方的 QC 也是族繁不及备载,官方似乎有意的避开这个问题,迟迟没有修正。 适用版本:XE4 ~ Berlin 10.1 update 1 (查过官方源码从 XE4 开始有 FMX.StrokeBuild阅读全文
posted @ 2016-10-12 19:32 龟山Aone 阅读(673) | 评论 (2) 编辑
摘要: 说明:TSelection 控件,当在属性 Proportional = True 为等比缩放时,拉动左下角,右上角会跟着移动。 适用:Berlin 10.1.1 (或之前版本) Firemonkey 修正方法: 请将源码 FMX.Objects.pas 复制到自己的工程目录里,再进行修改。 修正前阅读全文
posted @ 2016-10-10 07:10 龟山Aone 阅读(455) | 评论 (2) 编辑
摘要: iOS 10 新规定,在取用相机,相簿,联络资讯,麦克风需要在 Version Info 加入指定的 key,否则闪退: 注:将下面的 Key 复制到工程 Option -> Version Info 里(按鼠标右键可以新增 Key) 常用 Key 完整列表: 参考:http://stackover阅读全文
posted @ 2016-10-07 10:54 龟山Aone 阅读(667) | 评论 (4) 编辑
摘要: 说明:iOS 原生 Edit 透明框 适用:Berlin Firemonkey 方法:在 StyleLookup 输入 transparentedit 效果: 如果有图片 Image 在这二个 Edit 的上方,效果如下: 说明:iOS 原生 Edit 设定框色 适用:Berlin Firemonk阅读全文
posted @ 2016-08-30 18:55 龟山Aone 阅读(541) | 评论 (0) 编辑
摘要: 说明:在 Wndows 显示时,有时控件左方会显示一条虚线 适用:Firemonkey Windows (Berlin 或更高版) 修正方法: 请将源码 FMX.Canvas.D2D.pas 复制到自己的工程目录里,再进行修改。 未修正: 修正后:阅读全文
posted @ 2016-08-27 09:59 龟山Aone 阅读(597) | 评论 (4) 编辑
摘要: 说明:Firemonkey 图片按钮(支持三种状态:MouseOver, MouseDown, MouseUp,可各别指定图片) 原码下载:[示例]TestImageButton_圖片按鈕(3态).zip 运行展示:阅读全文
posted @ 2016-08-27 08:23 龟山Aone 阅读(600) | 评论 (0) 编辑
摘要: 利用 Firemonkey 控件的组合及可塑性,可以做出千变万化的效果及功能,下面展示一个不规则按钮的实做: 效果图: 实做方法: 原码下载:[原创]TestButton45_不规则按钮_by_Aone.zip阅读全文
posted @ 2016-08-05 14:50 龟山Aone 阅读(636) | 评论 (0) 编辑
摘要: 在 Firemonkey 提供了一个跨平台的函数 TPath.GetDownloadsPath 来取得该平台的下载目录,但是非常奇怪的是,在 Windows 平台下,取得的下载目录确是: C:\Users\<username>\AppData\Local (官方文件) 而不是 C:\Users\<u阅读全文
posted @ 2016-08-05 07:32 龟山Aone 阅读(295) | 评论 (0) 编辑
摘要: 版本:2016.12.21 (新增可取代颜色) 下载:[工具]OneStylePalette_调色工具_20161221.zip 版本:2016.12.09 (新增可导出全平台的 Style) 下载:[工具]OneStylePalette_调色工具_20161209.zip 版本:2016.11.2阅读全文
posted @ 2016-07-27 21:45 龟山Aone 阅读(1456) | 评论 (1) 编辑
摘要: Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试安装步骤: 准备电脑: 准备电脑: 设定环境: 设定环境: 远程调试(连结远端平板电脑): 远程调试(连结远端平板电脑): 中断连结平板电脑: 中断连结平板电脑:阅读全文
posted @ 2016-07-26 17:23 龟山Aone 阅读(707) | 评论 (1) 编辑
摘要: 本控件修改自 Delphi Berlin 10.1 的 TSelection (FMX.Controls.pas) 修改重点: 代码说明: 效果: 源码及例子下载:(2016/12/30 修正更新) [控件]TOneSelection(等比修正版)_by_龟山Aone.zip阅读全文
posted @ 2016-07-19 15:14 龟山Aone 阅读(898) | 评论 (3) 编辑
摘要: 1. 在 Form 上放一个 TImage ,再一个 TText 到 Image 里面,并将 Image1.StyleName 设定为 BtnStyle,如下: 2.接着放一个 TButton,将 StyleLookup 指定为 BtnStyle,按钮就变成这个 Style,如下:阅读全文
posted @ 2016-07-15 12:57 龟山Aone 阅读(711) | 评论 (2) 编辑
摘要: 弹簧动画效果1: 不用写任何代码,只需设定下面动画属性: 弹簧动画效果2: 参考动画曲线: http://monkeystyler.com/guide/Interpolation-and-AnimationType-Illustrated阅读全文
posted @ 2016-07-07 16:48 龟山Aone 阅读(862) | 评论 (0) 编辑
摘要: Windows 10 下没有 Sensor.HeadingXSensor.HeadingYSensor.HeadingZ 需改用 Sensor.CompMagHeading Sensor.HeadingXSensor.HeadingYSensor.HeadingZ 需改用阅读全文
posted @ 2016-07-06 10:19 龟山Aone 阅读(425) | 评论 (0) 编辑
摘要: 下面示范 Firemonkey TImageList 加入一张原始尺寸图片的方法: 使用代码加图 来源:https://stackoverflow.com/questions/36013186/how-to-insert-images-to-timagelist-in-firemonkey-prog阅读全文
posted @ 2016-06-17 10:33 龟山Aone 阅读(762) | 评论 (0) 编辑
摘要: 原本在 Seattle 版本时,还能支持 iPhone 3GS (iOS v6.x), iPhone 4 (iOS v7.x),到了 Berlin 已不支持了,在用户的抱怨下,只好自己尝试去修正它,经过一番努力,终于找到原来是 TNSLayoutConstraint 在搞鬼,修正后: 测试及修正重点阅读全文
posted @ 2016-06-04 16:19 龟山Aone 阅读(750) | 评论 (0) 编辑
摘要: 功能:将 GIF 动画每帧合并到一张 PNG 需求:配合 ImageMagick 图像处理软件。 下载:[工具]Gif2Png_Aone_1.0.0.zip 使用方法: 延伸阅读:Firemonkey 使用 TImage 显示动画图片阅读全文
posted @ 2016-06-03 11:07 龟山Aone 阅读(741) | 评论 (0) 编辑
摘要: 在 Delphi Seattle 10 update 1 版本(含之前版本),只要 Project > Build 会立即生成 info.plist 如果需要修改 info.plist 可以利用 TMS 提供的修改工具 Fixing on iOS 9 来修改。 在 Delphi Berlin 10.阅读全文
posted @ 2016-05-18 14:38 龟山Aone 阅读(605) | 评论 (0) 编辑
摘要: 下列方法仅提供 Windows 平台使用,所以需要使用编译开关,代码如下:阅读全文
posted @ 2016-05-17 17:04 龟山Aone 阅读(238) | 评论 (0) 编辑
摘要: Delphi 10.1 Berlin UTF8String Test阅读全文
posted @ 2016-05-06 10:54 龟山Aone 阅读(578) | 评论 (1) 编辑
摘要: 问题:官方 QC 的一个 Firemonkey 移动平台画线问题: RSP-14309: [iOS & Android] Delphi 10.1 Berlin - drawing problemshttps://quality.embarcadero.com/browse/RSP-14309 适用:阅读全文
posted @ 2016-04-28 06:51 龟山Aone 阅读(575) | 评论 (0) 编辑
摘要: Delphi 10.1 Berlin 官方修正列表: Bug fix list for RAD Studio 10.1 Berlin Delphi 10.1 Berlin 官方未列之修正: 这是目前移植到 Berlin 发现的修正,如果再有发现,陆续补上。阅读全文
posted @ 2016-04-27 08:11 龟山Aone 阅读(1727) | 评论 (2) 编辑
摘要: Delphi iOS 版本需求 版本需求 官网 备注 iPod Touch, iPhone, or iPad iOS 8 iOS 9 不支持iPhone 3GSiPhone 4 iPod Touch, iPhone, or iPad iOS 6(官方未列,实测可用) iOS 7 iOS 8 iOS 阅读全文
posted @ 2016-04-24 19:38 龟山Aone 阅读(598) | 评论 (0) 编辑
摘要: 在 Delphi 10 Berlin 提供了照相及相册自订分辨率的功能,请见官方网站教学: http://docwiki.embarcadero.com/RADStudio/Berlin/en/Taking_Pictures_Using_FireMonkey_Interfaces 当自订大小为 20阅读全文
posted @ 2016-04-13 16:15 龟山Aone 阅读(471) | 评论 (0) 编辑
摘要: 在 Firemonkey 的 TForm 并没有提供 OnMouseLeave 的事件,不过可以透过 OnMouseMove 来达到相同效果,请见代码:阅读全文
posted @ 2016-04-11 21:36 龟山Aone 阅读(277) | 评论 (0) 编辑
摘要: 目前 Firemonkey 有一个问题,就是在 Edit 按下会立即弹出键盘,在红鱼儿的博客也提交了 QC: http://blog.sina.com.cn/s/blog_44fa172f0102vy2q.html 被此问题所累的朋友,去投个票吧! 下面想出暂时解决的方法(最终还是希望官方能修正这个阅读全文
posted @ 2016-04-08 14:03 龟山Aone 阅读(618) | 评论 (0) 编辑
摘要: StringGrid Header 高度设定方法: ps. 所有的 Style 都能用这个方法,找到后,再修改它。 StringGrid Header 文字颜色设定方法(不改变底色): 效果: StringGrid Header 文字颜色设定方法(改变底色): 效果:阅读全文
posted @ 2016-03-28 09:00 龟山Aone 阅读(783) | 评论 (0) 编辑
摘要: 问题:使用 Canvas.DrawPath 绘制时,最后一点无法画到终点位置。(这个问题要在粗线才能察觉) 适用:Delphi 10 Seattle (或更早的版本) for Android & iOS 修复方法: 请将源码 FMX.StrokeBuilder.pas 复制到自己的工程目录里,再进行阅读全文
posted @ 2016-03-25 15:20 龟山Aone 阅读(460) | 评论 (0) 编辑
摘要: 目前的 Delphi 10 Seattle 的 TLang 尚不支持取得简体及繁体的语系字符,在能取得正确的语系字符后(整理中),才能使用下列函数判断:阅读全文
posted @ 2016-03-24 18:36 龟山Aone 阅读(408) | 评论 (0) 编辑
摘要: Apple 在 iOS 提供了文件共享(FileSharing)功能,让 App 有一个对外窗口的目录,透过 iTunes 可以任意管理这个目录的文档内容(可拖入文档,也能将文档拖出备份)。 如果 App 需要文件共享,只需要在 Delphi 的 Project Option 需要加入 UIFile阅读全文
posted @ 2016-03-18 09:02 龟山Aone 阅读(411) | 评论 (0) 编辑
摘要: 要使 StringGrid 只能上下滚动,不要左右滚动,只要加入下面代码即可: StringGrid1.AniCalculations.TouchTracking := [ttVertical]; ps. 此方法只适用在有触控屏幕的装置。阅读全文
posted @ 2016-03-09 10:20 龟山Aone 阅读(412) | 评论 (0) 编辑
摘要: 参考: http://developer.apple.com/library/ios/#qa/qa1719阅读全文
posted @ 2016-03-07 19:15 龟山Aone 阅读(267) | 评论 (0) 编辑
摘要: // 字串含中文 by Aone function IsIncludeChinese(Str: String): Boolean; var i: Integer; UCS4Str: UCS4String; begin Result := False; UCS4Str := UnicodeString阅读全文
posted @ 2016-03-02 17:11 龟山Aone 阅读(443) | 评论 (0) 编辑
摘要: 修改 Windows 下的 Style,找到下面二个 Style ,修改其中的 text 内的 font 大小: 将 FMX.Menus.pas 复制到自己的工程目录内,再修改如下内容: constructor TMenuBar.Create(AOwner: TComponent); begin /阅读全文
posted @ 2016-02-01 20:29 龟山Aone 阅读(329) | 评论 (0) 编辑
摘要: 参考官网:http://docwiki.embarcadero.com/Libraries/Seattle/en/FMX.Ani.TBitmapListAnimation 延伸阅读:[工具] GIF 动画每帧合并到一张 PNG阅读全文
posted @ 2016-01-21 22:42 龟山Aone 阅读(796) | 评论 (1) 编辑
摘要: 使用 Firmonkey 在显示 emoji 字符时,有些 emoji 并无法显示彩色,见下图:经查 FMX 源码,是因为判断 emoji 的字符区段不足造成的,经过修改后,便可显示,见下图:修改方法:将 FMX.FontGlyphs.iOS.pas 复制到自己的工程目录下。找到 function ...阅读全文
posted @ 2016-01-14 14:29 龟山Aone 阅读(410) | 评论 (0) 编辑
摘要: 在 FMX 下的 TComboBox 下拉菜单字型修改有二种方法: 效果示例:阅读全文
posted @ 2016-01-07 05:38 龟山Aone 阅读(857) | 评论 (0) 编辑
摘要: 各网友提交的 QC:阅读全文
posted @ 2015-12-23 14:11 龟山Aone 阅读(602) | 评论 (0) 编辑
摘要: 说明:在 iOS 里有一个人性化的辅助设定,可以将字体放大,但这个设定对 Delphi 是不起作用的,还好 Delphi 提供了这个 iOS API 可以取得。 开发环境:Delphi 10 Seattle 运行系统:iOS 7.0 以上 参考资料:Apple 官网 源码: Android 请参考:阅读全文
posted @ 2015-11-20 05:19 龟山Aone 阅读(359) | 评论 (0) 编辑
摘要: 在 iOS 9 Apple 加入了 HTTP 协议,还好有 TMS 提供快速修复工具,得以能顺利上架到 App Store。现在 Delphi 10 Seattle Update 1 提供了这个设定功能,无需再使用 TMS 修复工具了,见下图:阅读全文
posted @ 2015-11-19 17:49 龟山Aone 阅读(854) | 评论 (0) 编辑
摘要: 最新更新:(2015.10.02)开发环境:Delphi 10 SeattleOS X El Capitan v10.11需使用下列 HotfixID: 30398, PAServer Hotfix for Delphi, C++Builder and RAD Studio 10 SeattleXc...阅读全文
posted @ 2015-09-19 12:25 龟山Aone 阅读(1719) | 评论 (7) 编辑
摘要: Firemonkey ListView 的点击事件一直让人摸不着头绪(各平台触发规则不太相同),因为它提供了点击相关的事件就有如下:OnChange:改变项目触发。OnClick:点击触发。OnItemClick:点击项目触发Windows 平台:按下立即触发,放开后接着触发 OnItemClick...阅读全文
posted @ 2015-09-08 07:27 龟山Aone 阅读(1495) | 评论 (0) 编辑
摘要: FireMonkey 能将目前使用的 Style 导出成文件,它提供二种文件格式,请看下列代码: *.style *.fsf XE8 格式支持: TStyleFormat = (Indexed, Binary, Text);阅读全文
posted @ 2015-07-14 22:18 龟山Aone 阅读(563) | 评论 (0) 编辑
摘要: Firemonkey 实现简单的图片拉伸不变形,是利用原始图片的 "固定区" 及 "位伸区" 来达到此目的,因此必需要有此结构的图片才适合。下面以聊天气泡为例,下图四个角为固定区,就是拉伸时,这四个区是不变的,而拉伸区,会自动依位伸的大小自动位伸:实作效果:代码,直接扩展 Canvas 功能://-...阅读全文
posted @ 2015-07-02 17:34 龟山Aone 阅读(1087) | 评论 (1) 编辑
摘要: Delphi 在面对跨平台开发,程序语言也改进不少,不过有些改进,让原本 Delphi 开发者有些不适应,最显注的就是字串处理函数了,原本 Pascal 语言字串起始由 1 开始,几乎是它的经典了,新版本字串由 0 开始,这个改变,让很多人不适应,也多有抱怨,虽然 Delphi 尽量保有相容性,...阅读全文
posted @ 2015-06-05 17:15 龟山Aone 阅读(2482) | 评论 (2) 编辑
摘要: 自从 XE8 提供 ImageList 带来了很多便利,但 SpeedButton 的图标太小(不够大气),还好 FMX 提供了 Style 可供使用者自订图标大小及显示位置,请自行按图索骥,做一遍: 开一个新工程。 放一个 SpeedButton。 放一个 ImageList。 在 ImageLi阅读全文
posted @ 2015-06-03 17:02 龟山Aone 阅读(2018) | 评论 (9) 编辑
摘要: XE8实现iOS 状态栏的几种效果:一、状态栏底色:开一个新工程。设定Fill.Color 颜色属性。设定Fill.Kind = Solid。无需修改任何官方源码。二、隐藏状态栏(全屏):开一个新工程。设定BorderStyoe = None。无需修改任何官方源码。三、透明状态栏(能见底图):开一个...阅读全文
posted @ 2015-05-22 22:44 龟山Aone 阅读(1538) | 评论 (1) 编辑
摘要: 说明:TGridLayout 提供计算容器内控件等分的功能:横式(Orientation=Horizontal)可将 ItemWidth = -1(小于0则自动等分)直式(Orientation=Vertical)可将 ItemHeight = -1(小于0则自动等分)问题:当 TGridLayou...阅读全文
posted @ 2015-05-22 15:43 龟山Aone 阅读(821) | 评论 (2) 编辑
摘要: 问题:XE8 for Android 方向传感器无法正常运作(在XE7是正常的)测试:官方示例Samples\ObjectPascal\MobileSnippets\OrientationSensor\适用:XE8 for Android修复方法:请将源码 System.Android.Sensor...阅读全文
posted @ 2015-05-12 14:43 龟山Aone 阅读(681) | 评论 (0) 编辑
摘要: 问题:打开 XE8 的 ShareSheet 示例,发布到 Android 实机,按 Share 选 Gmail 结果显示:没有权限添加附件。适用:XE8 for Android修复方法:请将源码 FMX.MediaLibrary.Android.pas复制到自己的工程目录里,再进行修改。找到下面代...阅读全文
posted @ 2015-05-08 07:50 龟山Aone 阅读(369) | 评论 (0) 编辑
摘要: 说明:Firemonkey 可以换肤是一大亮点,但使用它必须要付出一点代价,就是需要一点载入的时间,下面以 *.fsf 二进制文件来做载入测试,有兴趣可以参考看看。 开发:XE8 for iOS 皮肤:Test.fsf (886,594 Bytes) 注:上表的重点不是在 App 启动的时间(因为需阅读全文
posted @ 2015-04-30 16:10 龟山Aone 阅读(746) | 评论 (3) 编辑
摘要: 说明:调整 Firemonkey Android 显示文字有「锯齿」效果适用:Firemonkey Android 平台修改方法:请将源码 FMX.FontGlyphs.Android.pas复制到自己的工程目录里,再进行修改。// 找到这行FPaint.setAntiAlias(True); //...阅读全文
posted @ 2015-04-21 06:17 龟山Aone 阅读(641) | 评论 (0) 编辑
摘要: 说明:ListView 调色盘,用来快速调整 ListView Style 的颜色,能导出 Style 本文,及另存 *.style 或 *.fsf 文件。 适用:Android, iOS, Windows, OSX(由主选单选取) 下载 (2016/05/25) :[原创]Delphi_Berli阅读全文
posted @ 2015-04-20 16:16 龟山Aone 阅读(1190) | 评论 (3) 编辑
摘要: 需求:改变 ListView 颜色 适用:Firemonkey 任何平台 操作:Style 是改变控件外观最便捷的途径,ListView 也不例外,下面示范使用 StyleBook 来设定 ListView 的外观颜色,以 Android 平台为例: 如果有需要一个 App 里拥有多种 ListVi阅读全文
posted @ 2015-04-18 17:10 龟山Aone 阅读(1389) | 评论 (1) 编辑
摘要: 作用:在 OSX 图标下方显示 App 中文繁体或简体的名称(系统自动选取) 适用:XE7, XE8 for OSX 操作: zh_CN.lproj InfoPlist.strings CFBundleName = "中文测试"; CFBundleDisplayName = "中文测试"; zh_T阅读全文
posted @ 2015-04-16 12:53 龟山Aone 阅读(636) | 评论 (0) 编辑
摘要: 问题:XE8 Firemonkey Windows 无法列印旋转文字(与显示在视窗里的代码相同时)适用:XE8 Windows 平台(其它平台测试没问题)修复前效果:修复后效果:修复方法:请将源码 FMX.Printer.Win.pas复制到自己的工程目录里,再进行修改。找到 TPrinterWin...阅读全文
posted @ 2015-04-09 13:06 龟山Aone 阅读(370) | 评论 (0) 编辑
摘要: 问题:XE8 Firemonkey 在 Windows 平台 Memo 卷动时,在第 1 , 2 行会产生重叠现象。更新:XE8 update 1 已经修复这个问题,无需再使用下面方法。修改前:修改后:适用:XE8 for Windows 平台修复方法:请将源码FMX.Memo.Style.pas复...阅读全文
posted @ 2015-04-08 05:24 龟山Aone 阅读(426) | 评论 (0) 编辑
摘要: 适用:XE8 Android 平台问题:安装 XE8 RTM 时,如果勾选了 Android SDK 5.0.1 (API 21) 及 Android NDK (android-ndk-r9c) ,安装后记得更新 Android SDK。▼步骤一:打开 Option 可看到许多对应不到的路径。▼步骤...阅读全文
posted @ 2015-03-31 09:01 龟山Aone 阅读(879) | 评论 (0) 编辑
摘要: 系统字型名称在每个平台的取得方式不尽相同,以下示范如何在 iOS 取得系统内所有字型的名称: 开一个新工程,放一个按钮 TButton 及 TMemo,在按钮事件内加入下面代码: 运行结果: 其它平台做法:阅读全文
posted @ 2015-03-22 19:25 龟山Aone 阅读(330) | 评论 (1) 编辑
摘要: 问题:将 Frame 含 PopupMenu 放置 Form 后,在 Frame 里的 PopupMenu 失效,无法按快捷键。适用:(XE7 update 1 / XE8) for Windows 平台修正方法:请将源码 FMX.Forms.pas复制到自己的工程目录里,再进行修改。找到 TCom...阅读全文
posted @ 2015-03-21 11:57 龟山Aone 阅读(470) | 评论 (0) 编辑
摘要: 说明:展示 ListView 视其每一行 Item 的 Detail 字串长度自动调整高度(可每行高度不同)。 适用:Delphi XE7 / XE8 源码下载:[原创]ListView_自动计算行高(by龟山阿卍).zip 补充:计算最后一项区域并卷到最后一项阅读全文
posted @ 2015-03-20 14:27 龟山Aone 阅读(1424) | 评论 (0) 编辑
摘要: 1. 开启工程目录下面的Entitlement.TemplateiOS.xml 档案。2. 加入二行: application-identifier XXXXXXXXXXXXX3. 将XXXXXXXXXXXXX 改成 App ID(见上图)实机测试可以发布了,以上参考网址:https://www.d...阅读全文
posted @ 2015-01-30 09:13 龟山Aone 阅读(696) | 评论 (1) 编辑
摘要: 用代码切换 Edit 不同的键盘样式:procedure TForm1.Button1Click(Sender: TObject);begin Edit1.KeyboardType := TVirtualkeyboardType.Default; Edit1.SetFocus;end...阅读全文
posted @ 2015-01-07 10:04 龟山Aone 阅读(699) | 评论 (0) 编辑
摘要: 将控件 StyledSettings 的勾取消(如此才能自定样式及字型,如果勾选则依 Style 而定)。设定 TextSettings 里的 Font 属性。使用代码寫法:CheckBox1.StyledSettings := [];CheckBox1.Font.Style := [TFontSt...阅读全文
posted @ 2014-12-11 09:57 龟山Aone 阅读(683) | 评论 (0) 编辑
摘要: ListView 使用LiveBindings 预设加载 200 条记录,这也许是速度的考量,但当需要全部加载的的情况时,该如何做呢?只需加入下面二行代码即可:FDQuery1.OptionsIntf.FetchOptions.RecsMax := -1;FDQuery1.OptionsIntf.F...阅读全文
posted @ 2014-12-09 08:54 龟山Aone 阅读(957) | 评论 (1) 编辑
摘要: 适用:XE6 或更高版本说明:ListView 在基本的项目里提供了 Accessory(项目右方「>」符号),但要如何分辨是否按下>或者项目本身呢?在 XE6 提供了OnItemClickEx 事件可以辨识,如下例:procedure TForm1.ListView1ItemClickEx(con...阅读全文
posted @ 2014-11-24 09:11 龟山Aone 阅读(1092) | 评论 (2) 编辑
摘要: 测试实机:iPhone 3GS(v6.1.2)其它机种也可以正常发布,方法以此类推开发环境:Delphi XE7 Update 1(选择 iOS 8.1 SDK)发布时需要到 Project > Option > Delphi Compiler > Linking > Minimum iOS ver...阅读全文
posted @ 2014-11-21 12:43 龟山Aone 阅读(597) | 评论 (0) 编辑
摘要: VCL 和 Firemonkey 的 Bitmap 处理像素的方式不相同,下例为将图片内不是「白色」的像素全部改成「黑色」:procedure TForm1.Button1Click(Sender: TObject);var x, y: Integer; vBitMapData: TBitma...阅读全文
posted @ 2014-11-03 13:34 龟山Aone 阅读(755) | 评论 (0) 编辑
摘要: procedure TForm1.Button1Click(Sender: TObject); begin Form2 := TForm2.Create(Self); Form2.ShowModal(procedure(ModalResult : TModalResult) begin ...阅读全文
posted @ 2014-09-24 12:09 龟山Aone 阅读(1550) | 评论 (0) 编辑
摘要: XE7 提交 App 后,在「Prerelease」里被提示了:Build 1.0.0 does not contain the correct beta entitlement. For more information, see the iTunes Connect Developer Guid...阅读全文
posted @ 2014-09-16 10:56 龟山Aone 阅读(781) | 评论 (0) 编辑
摘要: 更新: 下面代码 Android 实机没问题,但在 iOS 实机没有动作。阅读全文
posted @ 2014-09-05 11:47 龟山Aone 阅读(2663) | 评论 (5) 编辑
摘要: 如果想要修改 Android Style 可以将它导出成 *.style 后再加入 TStyleBook 内来修改(iOS 的方法亦同):阅读全文
posted @ 2014-08-25 09:38 龟山Aone 阅读(556) | 评论 (0) 编辑
摘要: 问题:当 Memo設定為 ReadOnly = True 後, 选取一段文字后,無法有複製的功能。适用:XE6 Android 系统(目前 iOS 还找不到方法)修正方法:请将源码 FMX.Platform.Android.pas复制到自己的工程目录里,再进行修改。找到TWindowManager....阅读全文
posted @ 2014-06-19 11:50 龟山Aone 阅读(508) | 评论 (0) 编辑
摘要: 注意:XE7 已修正这个问题。Delphi Firemonkey TListView 提供了搜寻的功能,但在 XE6 以前的版本,可以显示右边的清除按钮,在 XE6 确消失了,这里提供一个修正的方案,供大家参考。1、放一个 TListView 后,将 SearchVisible 设为 True ,就...阅读全文
posted @ 2014-06-10 15:46 龟山Aone 阅读(1282) | 评论 (0) 编辑
摘要: 提示:Delphi 10 Seattle 透过 TImageList 来指定图标,就能显示原来图标的颜色。 下列方法只适用于 XE6 XE6 Firemonkey 里的 TabControl 可以将切页按钮设置一个图示,但显示的图示皆为灰色,如下图所示: 如果想要显示彩色的图示,则需要修改 Styl阅读全文
posted @ 2014-05-21 15:44 龟山Aone 阅读(1837) | 评论 (0) 编辑
摘要: 说明:XE6 的 TSwitch 做了很多改进,包含多语显示处理,但 XE6 似乎只认定一种中文语系「zh」,它无法处理「zh_TW」、「zh_CN」、「zh_HK」、「zh_SG」等语系,不过可以透过修改 XE6 源码来修正此问题,如下:注意:请先将「FMX.Platform.Android.pa...阅读全文
posted @ 2014-05-16 09:43 龟山Aone 阅读(1040) | 评论 (0) 编辑
摘要: 说明:展示使用程序码改变 Firemonkey TMemo 的背景颜色。 适用:XE6 源码下载:[原創]Memo改背景色_XE6.zip阅读全文
posted @ 2014-04-25 10:53 龟山Aone 阅读(1757) | 评论 (1) 编辑
摘要: 说明:XE5 在 Android 平台上存在这一些键盘操作的问题,目前发现有下列几种:按键盘上的隐藏键后,无法按上一页(需要修改 XE5 源码「FMX.VirtualKeyboard.Android.pas」)。按键盘上的隐藏键后,无法触发 OnVirtualKeyboardHidden事件。关闭键...阅读全文
posted @ 2014-04-02 05:48 龟山Aone 阅读(2173) | 评论 (4) 编辑
摘要: 日前整理仓库,翻出了一些 Delphi 产品,以前购买的 Delphi 都有实体产品,包含说明书、光碟片、还有一些广告文宣,而且相当厚实,版本的演进,从外包装也能感受到,到目前的 XE5 版,只剩一个序号:▼ Delphi 2 & 3▼Delphi 2 & 3 & 6 & 8 & 2006▼Delphi 7 & 8▼Delphi 8 & 2006▼Delphi XE3 & XE5▼Orpheus 2.1著名的 Orpheus控件,目前已经开源了http://sourceforge.net/projects/tporpheus/▼V阅读全文
posted @ 2014-03-28 08:45 龟山Aone 阅读(1032) | 评论 (2) 编辑
摘要: 源码下载:[原创]展示Popup的使用方法.zip阅读全文
posted @ 2014-03-27 11:52 龟山Aone 阅读(764) | 评论 (0) 编辑
摘要: 注意:XE7 已提供下拉更的功能。说明:展示如何在 Android 平台下,使用 ListView 下拉更新。适用:Delphi XE5 , XE6修改:需要修改到 Delphi 源码FMX.Platform.Android.pas,请见:[原创] 让 ListView 在 Android 可回弹视...阅读全文
posted @ 2014-03-27 11:46 龟山Aone 阅读(2913) | 评论 (0) 编辑
摘要: XE7 源码下载:[原创]取得APP自己的版本号(狠跨4个平台)XE7.zipXE6 源码下载:[原创]取得APP自己的版本号(狠跨4个平台)XE6.zipXE5 源码下载:[原创]取得APP自己的版本号(狠跨4个平台).zip//----------------------------------...阅读全文
posted @ 2014-03-27 11:38 龟山Aone 阅读(1653) | 评论 (1) 编辑
摘要: 问题:如果 SearchEdit 里已输入过搜寻字,再新建 ListView 项目后,会无法显示。适用:Delphi XE5源码下载:[原创]修正ListView搜寻问题.zipprocedure TForm1.Button1Click(Sender: TObject);var i: Integer...阅读全文
posted @ 2014-03-27 11:26 龟山Aone 阅读(444) | 评论 (0) 编辑
摘要: 在某一些 Android 的机子上,点入 Edit 显示会键盘,但关闭键盘再点一次 Edit 后,键盘并不会再次显示出来。实机测试: Sony Xperia ST17i:无法再次显示。 Nexus 7 II:可以正常显示。解决方案:在点入 Edit 事件,显示键盘。源码下载:[原创]示例Edit关闭键盘再显示.zipfunction ShowVirtualKeyboard(const AControl: TFmxObject): Boolean;var Service1: IFMXVirtualKeyboardService;begin if TPlatformServices.C...阅读全文
posted @ 2014-03-27 11:17 龟山Aone 阅读(366) | 评论 (0) 编辑
摘要: FireMonkey 里的 TPathData 支持 SVG 的基本绘图指令,因此可以运用 Inkscape 软件,提取 SVG 的绘图内容,请见图片说明: INKSCAPE https://inkscape.org/en/阅读全文
posted @ 2014-03-27 11:04 龟山Aone 阅读(529) | 评论 (0) 编辑
摘要: 说明:目前 Delphi XE5 无法在 Android 平台下正常使用 ShowMessage 或 MessageDlg 功能(当失去焦点后会当机,如关闭屏幕后再开),这里展示如何使用 TFrame 制作讯息框,来替代 ShowMessage 的功能。源码下载:https://github.com/OneChen/FrameDialog阅读全文
posted @ 2014-03-27 10:59 龟山Aone 阅读(781) | 评论 (0) 编辑
摘要: 说明:让 ListView 在 Android 可回弹。适用:Delphi XE5修改:找出 FMX.Platform.Android.pas 档案,并复制到自己的 Project 路径里,找到 GetScrollingBehaviour 函数,修改成如下:unit FMX.Platform.Android;function TPlatformAndroid.GetScrollingBehaviour: TScrollingBehaviours;begin Result := [TScrollingBehaviour.sbBoundsAnimation{可回弹}, TScrollingBeh.阅读全文
posted @ 2014-03-27 10:48 龟山Aone 阅读(1299) | 评论 (1) 编辑
摘要: 问题:TColorPanel 在运行时,选取颜色都会重绘,造成选色缓慢。适用:Delphi XE5修正:找出 FMX.Colors.pas 档案,并复制到自己的 Project 路径里,找到 TColorQuad.SetColor 函数,并删除下面二行:unit FMX.Colors;...略pro...阅读全文
posted @ 2014-03-27 10:43 龟山Aone 阅读(336) | 评论 (0) 编辑