在移动应用开发中,一个程序被切到后台,有的时候,我们需要保存下状态,然后以便在程序被操作系统在后台中止时,再次启动能够恢复原来的状态(比如 iOS 中,你的程序被切后台后,很可能由于某些原因(如内存不足)被操作系统中止)。要实现这个效果,您可以: 1、在主窗体的 OnCreate 事件中,检查 SaveState 的
分类: Android
[FMX] 写了一个Helper,为TCustomScrollBox的子类添加ScrollInView方法
因为要用到,所以特意添加了这么个方法,FMX 的 TCustomScrollBox 没有提供,或者是我没有找到正确的,所以特意加了一个。另外,针对 TControl 加了一个 LocalToParent 函数用于将指针的坐标转换为指定级别的父控件的坐标。 完整源码奉上,但声明下,我只测试了一部分我用到的情况,其它情况没
[FMX] TListBox 的设置 ItemIndex 不会自动滚动到相应记录的处理
好吧,我不确定这是不是Bug,不过按我的想法,设置了 ItemIndex 属性,显示时应该让记录滚动到可视区,让我看见,但却就是看不见呀看不见~~~~ 跟进源码,原来是 ContentLayout 没有值造成的,所以,要修正这一问题的简单做法就是先调用一下列表框的ApplyStyleLookup 方法。 所以,截止 B
[FMX] FMX 的 Style designer 支持 FixedWidth/FixedHeight 属性设置了
这两个属性用于控制控件的大小是否允许通过 Object Inspector 改变,如果设置为非0值,则在Object Inspector 或者代码中设置 Width / Height 属性不会起作用,也就是说会固定宽度或高度。这个在XE 8 中需要我们手动处理样式文件,目前看已经不需要了。
[FMX] 自定义一个带图标的编辑框
好吧,FMX 我还是使用组合大法,父子关系如下图所示: 核心的几点提示: 1、Edit 的样式要选择 transparentedit; 2、Image 要进行一下适当的缩进,以避免覆盖底下的那条横线以及和右侧的文字区大小所匹配,然后左对齐; 3、Edit 的对齐方式是Client,填充客户区; 4、Line 的对齐方式
【付费教程】在 Android开发中使用 C 代码
【价格】 以人民币计价:个人用户:99元 企业用户:500元 【作者】 D10.天地弦 185511468 【视频长度】 待定 【视频语言】 中文,普通话 【视频编码】 格式:H.264 MP4 分辨率:1024×768 【教程源码】 包含示例工程源码 【上架时间】 预计 2016 年 5 月 18 日 ~ 2016
[QString] 新增 UrlMerge 函数说明
QString 新增了一个 UrlMerge 函数用来替代Delphi自身 System.Net.UrlClient 单元提供的 TURI.PathRelativeToAbs 函数。为啥要替换它?理由只有一个:它的解析支持有点小问题,所以自己重写一个。 URL 相对路径转换为绝对路径有几种情况: 相对路径实际上是一个带
[QString] QString 中那些与字符串解析相关的函数
QString 提供了很多与字符串相关的函数来简化字符串的解析,不使用这些函数当然也可以解析字符串,这些函数只是简化字符串解析时的代码: DecodeToken DecodeToken 按指定的分隔符来解析出第一个字符串,分隔符可以有多种。 SplitToken SplitToken 按指定的分隔符分解所有的字符串内容
[QString] 新增字符串的分隔函数 SplitByStrW 和 StrBeforeW 函数
【更新说明】 StrBeforeW 用于解析特定字符串前的子串,比如字符串”Tommy and Jommy”,我们要取 ” and” 前的字符串,那么,用StrBeforeW就可以轻松的分割出来。 SplitByStrW 调用 StrBeforeW 将得到的子串加入到一个
[QPlugins] 第一个 FMX 插件工作了~~~
QPlugins 对 FMX 的支持目前有一个好消息报告给大家,那就是 FMX 的插件工作了。目前仅限于 Windows 平台,测试的宿主程序是用 VCL 编写的,而插件是用 FMX 编写的一个窗口。当然现在第一版 Bug 多多,退出时还有异常,不过这是一个良好的开始。下面是测试程序的动态截图: 未来是光明的,前途是坎
[FMX] 字体大小调整两种方法的另类对比
在编写跨平台的程序时,一般控件的字体的名称和大小都是平台默认的。我们可以通过两种方式调整字体的大小: 设置 TextSettings.Font.Size 的值 修改控件的 Scale 属性,按比例缩放 我们看一下对比图,第一个是 Windows 下,分别是调整缩放和直接设置 TextSettings.Font.Size
[QMacros] 复杂宏参数的传递
QMacros 的宏支持传递参数,其参数的格式参照 JSON 执行,所以 QMacros 的参数支持 JSON 所有的数据类型:null、true/false、数值、字符串、对象和数组,字符串中内容的转义也遵守 JSON 的规则。 【注意】 如果 QMacros 调用 Complie 或 Replace 时,标志位指定
[QMacros]示例:使用 QMacros 玩转 HTML 模板
我们在实际开发中,由于各种各样的原因,可能会结合浏览器来实现一些 Delphi 本身不好实现的效果。而如果网页是靠拼字符串来完成,显然其效率不是太理想。而如果结合 QMacros ,你会发现一切都变的那么简单。QMacros 的示例中包含了一个新的 HTML 模板示例代码,我们来解读其中与 QMacros 相关的部分,
[QMacros]更新:新增 MRF_ENABLE_ESCAPE 和 MRF_IGNORE_MISSED 标志位
【更新说明】 新增了两个标志位来更好的支持模板功能: MRF_ENABLE_ESCAPE 启用模板中的转义字符支持,转义字符以反斜线引起,后跟要转义的字符,如果非特殊转义字符,则为后面的字符。QMacros 支持的特殊转义字符包括,其含义和 QJson 的转义支持一致,但\后跟其它字符时,会返回其它字符,而不会出错:
[QDAC]QSendmail 单元已经加入到 QDAC 项目家族
【注意】QSendMail 支持 XE 以后的版本,以前的版本由于默认携带的 Indy 版本问题,无法直接支持。要在 XE 以前的版本编译,请在其上手动安装新版的 Indy 后再编译。 QSendmail 单元用于实现跨平台的邮件发送,它基于 Indy 的 TIdSmtpServer 实现,并简化了相应的接口,原来没有
[QMacros] 使用宏替换在百度地图上加标注
这段代码是我实际使用的一段代码,贴出来分享给大家。 procedure TBaiduMapMarker.Changed; var S: String; ASavePoint: Integer; const STempate: String = ‘if(typeof(%MarkerName%) != ”undefine
[QMacros] 教程: 使用 QMacros 从 PHP 脚本中获取使用的变量名称列表
【注】本教程仅出于演示目的,并不代表作者推荐或者反对某种做法,也不代表这些代码有任何其它实际用途。 QMacros 的是一个高效的栈式查找替换引擎,为您提供丰富的功能。下面的代码演示了如何从一段 PHP+HTML 混合代码得到所有的 PHP 定义的变量名(其中源代码放到了Memo1 里,输出的变量名称直接放到了Memo
[QWorker]更新:修正了特定场景下,空闲工作者全部被解雇而引起的问题
【问题描述】 该问题是由于解雇策略没有考虑到长时间作业而引起的。比如,我们投递两个长时间作业和一个间隔时间很长的重复作业,然后如果长时间没有投递新的作业,由于其它工作者长时间无作业处理,会被自动解雇,只剩下最后两个长时间作业的工作者在工作,从而无法处理间隔时间很长的重复作业。 【严重程度】 高 【更新级别】 推荐 【特
[QMacros] 更新:增加对用户自定义规则的宏名称解析的支持
QMacros 默认是通过宏的开始字符串和结束字符串来区隔宏名称的。但这并不是所有的时候都能满足我们的需要,比如下面的字符串中,我们用 $ 来开始宏名称,遇到非数字时,宏名称就结束: Replace $1.Name to $2.Name 根据前述规则,$1 和 $2 我们人工就可以解析出两个宏 1 和 2,而由于没有宏
[专题] QAMF – Delphi 下 AMF 0 和 AMF 3 格式支持库
AMF 是 Adobe Message Format 的缩写,是 Adobe 的一种专用的数据格式,Flash 和 Flex 平台用的都是它。有许多朋友一直想要一个 Delphi 下对 AMF 格式完整支持的库,而目前开源和非开源的部分都没有找到合适的库,所以在朋友们的支持下,特编写这么一个 AMF 格式的支持库奉献给