vcl

【Delphi】 FMX 下 TImageList的使用方法:获取其中一张图片

余生颓废 提交于 2021-02-03 07:08:58
按照此前的VCL里使用TImageList非常简单,在IDE中添加好图片资源后,使用ImageList的GetBitmap或GetIcon即可获取图片,很好理解。 但是在FMX中,TImageList不是这样使用了,需要多一些步骤,下面一步一步来演示。 1.添加图片资源 首先添加一个TImageList控件,双击该控件来添加图片资源。 如上图,点击新建来增加Item(如Item 0,Item 1,这些Item名称是有作用的,在Item 0上选中后再单击一下可以修改名称), 双击Item 0,弹出新界面,选中一张本地图片,关闭窗口时自动会添加,如下图 回过头看看,刚才添加Item 时,所在的区域是叫Sources Of Images,这里正是和VCL使用差别的地方,如果想和VCL的TImageList使用方法接近,则可以直接在下面的 List Of Images区域里添加,在过程中会自动添加到Sources Of Images区域。 而如果先在Sources Of Images区域添加,则必须在List Of Images区域里点击新建按钮进行添加(此时Sources Of Images里选择哪个Item则自动添加对应的图片)。 2. 图片尺寸说明 在 Sources Of Images区域添加图片时,可以看到一个图片尺寸,而在List Of Images区域添加并选择后

Delphi - is it possible to disable Delphi's lazy loading of forms?

假如想象 提交于 2021-01-28 12:16:36
问题 I've heard that the Delphi application uses "lazy loading", deferring the loading of form components until they are actually referenced. It was mentioned in another post - "That's why we changed TPageControl to be lazy-load - the Delphi IDE's options dialog was taking too long to load!" I assume this applies to applications created with Delphi as well, but I can't find any mention of lazy loading in the VCL sources, suggesting maybe it's called something else if it does exist. In cases where

Delphi开发工具DevExpress VCL 2021年新版首发(附高速下载)

痞子三分冷 提交于 2021-01-28 11:34:44
DevExpress VCL Controls 是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。 DevExpress VCL v20.2.4正式版下载 具体更新内容如下: 此列表包括v20.2.4中已解决的所有问题。 ExpressBars Suite T964153 - Ribbon Form - 如果Style属性设置为rs2007和rs2010以外的值,并且表单的DisableAero属性设置为False,则功能区控件的组和选项卡没有分隔符 T960957 - TdxCustomStatusBar后代不会缩放基于当前DPI由文本面板的PanelStyle.ImageIndex属性指定的图像 ExpressDocking Library T963411 - 拖放操作可以取消停靠并放置停靠面板,以便其右边缘或底边缘不在屏幕上 ExpressEditors Library T959802 - TcxButton - 如果在隐藏按钮上方/下方的控件并将SpeedButtonOptions.Transparent属性设置为True时开始,淡入淡出动画会产生绘画瑕疵 T966644 -

使用kbmMW#1轻松实现REST

北城以北 提交于 2021-01-16 04:57:34
使用kbmMW很容易创建REST服务器。 首先,我们制作服务器应用程序(或服务......取决于您)。 在这种情况下,我们将添加一个简单的Form,为我们的kbmMW组件提供GUI和位置。 在Delphi中,单击 文件 - 新建 - VCL Forms应用程序 拖放以下两个组件到Form上: TkbmMWServer TkbmMWTCPIPIndyServerTransport 将 kbmMWTCPIPIndyServerTransport1 的Server属性设置 为 kbmMWServer1 。 双击 kbmMWTCPIPIndyServerTransport1 的 Bindings 属性 以打开其编辑器。 为0.0.0.0端口80添加绑定,这是默认的HTTP服务器端口。 您可以选择所需的任何端口其他绑定,但让要REST用户知道。 设置 kbmMWTCPIPIndyTransport1 属性 Streamformat为 REST 。 (译者注:这是必须的一步,表明服务端可以接收REST请求) 现在保存项目,然后双击Form,写OnCreate事件: procedure TForm7.FormCreate(Sender: TObject); begin kbmMWServer1.AutoRegisterServices; // 注册Rest服务 kbmMWServer1

C++ - How to get the user folder?

半城伤御伤魂 提交于 2021-01-03 06:00:47
问题 I'm having a little problem with my program... I have to create a file with the application data, but I don't know how to access the %USER% or %APPDATA% directories... I've tried to use the application folder, but if I install the application in D:\Program Files\(Organization)\(APPName) I cannot write new files in this directory, I can just read or modify if I don't have admin privileges... So, the question is: How to access the %USER% folder or Get ADMIN privileges with the application... PS

用varnish做缓存服务器

♀尐吖头ヾ 提交于 2021-01-01 05:42:35
一、目的 通过配置Varnish缓存服务器,实现如下目标: 使用Varnish加速后端Apache Web服务 使用varnishadm命令管理缓存页面 使用varnishstat命令查看Varnish状态 二、方案, 服务器规划见我的另外一篇笔记:squid反向代理,通过源码编译安装Varnish缓存服务器 三、实施:主要是部署varnish缓存服务器 1、安装软件依赖包 yum -y install gcc readline-devel pcre-devel 2、创建程序的启动账户:useradd -s /sbin/nologin varnish 3、编译安装软件 tar -xf varnish-3.0.6.tar.gz //解压源码包 cd varnish-3.0.6/ //进入到解压的目录 ./configure --prefix=/varnish //配置,指定安装路径为/varnish make && make install //编译安装 4、复制启动脚本及配置文件 cp redhat/varnish.initrc /etc/init.d/varnish cp redhat/varnish.sysconfig /etc/sysconfig/varnish cp redhat/varnish_reload_vcl /usr/bin/ ln -s /usr/local

varnish缓存服务器构建疑问

僤鯓⒐⒋嵵緔 提交于 2021-01-01 01:40:10
标题索引 追朔原因 实验分解 抓包分析 追朔原因【此文需要待续】 当下是互联网时代也是CDN缓存时代,缓存可以提供互联网80%流量,因此缓存的构建和提高缓存的命中率是互联网行业必不可少的方式和手段,另外在http1.1协议盛行的时代,需非常了解http协议才能对apache、nginx、haproxy等服务器原理了解更为透彻,互联网CDN内容发布商缓存命中率才能大大提供,用户才能得到好的体验。 实验分解 当客户端浏览器cache-control:max-age=0时,表示缓存服务器通常需要将请求转发给源服务器(具体可参考图解http协议书籍89页); 当客户端浏览器cache-control:max-age>0时,表示客户端可以从缓存服务器端直接获取数据。 vcl 4.0; #------------------------------------------------------- #装载负载均衡模块 import directors; import std; #------------------------------------------------------- #在全局配置中配置acl,在recv函数中调用acl acl aclpurges { "192.168.40.2"/24; "127.0.0.1"/24; } #-----------------------

报表分析工具FastReport 2020年总结和计划

好久不见. 提交于 2020-12-26 16:57:56
FastReport .Net是适用于Windows Forms,ASP.NET,MVC和.NET Core的全功能报表解决方案。它可以在Microsoft Visual Studio 2005-2019中使用。支持.Net Framework 2.0-4.x,.NET Core 3.0及以上版本。 在FastReport .NET 2021.1的新版本中,我们实现了对.NET 5的支持。添加了新条形码-Deutsce Post Leitcode。将RTF转换为报告对象的算法已得到显着改进。并且还添加了用于转换数字的新功能。欢迎下载体验。(点击下方按钮下载) 慧都网下载FastReport.NET v2021.1最新版 在过去的一年中,我们可能会谈论很多我们的经历和遇到的困难,但是我们只是回顾一下今年,并谈论一些关于未来的计划。 尽管有种种困难,我们今年还是努力工作。我们计划的所有工作尚未完成,但是我们致力于在可预见的未来实现所有目标。 怎么了 在过去的一年中,我们能够为产品实施新的质量控制流程。这个方向的工作将继续。我们优化并改进了对各种格式的导出,添加了新的对象属性,改进了报告生成算法并修复了许多错误。我们增加了对5种新条形码和6种新格式的支持,以保存文档。 我们想感谢开发人员在重构代码以将.NET系列源代码合并到通用存储库中所做的艰苦工作。 此外,在FastReport

Why Canvas is “hidden” in all VCL controls?

最后都变了- 提交于 2020-12-15 05:23:35
问题 I want to do a basic procedure that draws something (let's say a triangle, for simplicity) on any control's (button, panel, etc) canvas: procedure DrawTriangle(Control: TCustomControl); In this function I need to use Control.Width & Control.Height to know how big is the control. Turns out to be more difficult than imagined because Canvas is protected. A solution would be to obtain the canvas of the control inside the procedure: VAR ParentControl: TWinControl; canvas: TCanvas; begin

Inno Setup: change the setup language while setup is running

落爺英雄遲暮 提交于 2020-12-06 07:03:23
问题 In my Setup I don't want use the standard Language Dialog form. Instead, I want to add a combobox to the Welcome page of my Inno Setup to do the same job made by the Language Dialog, so that it's able to : show all the languages included in the [Languages] section in the drop down list. So the user can select a language from this custom combobox. apply the chosen language to the whole setup. I know that this is not possible using the "normal way", because there are no functions available in