Delphi

如何保存TWebBrowser的内容,包括用户输入的表单值?

是否可以将加载在Webbrowser(在Delphi中)的整个文档保存为具有新值的普通HTML文件(我的意思是用户在html表单中输入的值为本文档)? 我需要这个阅读这个HTML文档,下次使用应用程序时的所有值。 解决方案 是可能的! 小型演示应用程序,制作一个新的vcl表单应用程序,删除一个 TWebBrowser ,一个 TButton 和您的表单上的 TMemo 并使用此代码 ..
发布时间:2017-04-28 20:39:53 Delphi

检索Delphi窗口句柄

我正在尝试从外部应用程序获取Delphi应用程序的窗口句柄。我可以看到有几个窗口创建(TApplication,TFrmMain等等),而且我知道TApplication是“控制器”,但是从不可见。但是,我可以看到真正的窗口的价值是什么?我知道这是TFrmMain(对于这个具体的应用程序),但是有可能实际上把它弄出来吗?信息是否存储在窗口属性中或其他位置?谢谢! 解决方案 不,没有记录的方 ..
发布时间:2017-04-28 20:39:38 Delphi

使用SHGetSpecialFolderPath检索可以访问非管理员用户的哪个CSIDL可以访问的应用程序文件夹?

在我的应用程序中,我在每个机器上存储一个应用程序文件夹中的一些文件。 b .. \Project1\LoginHistory(登录历史记录文件 - 所有用户通用) ..\Project1\Translations(本地化文件 - 所有用户通用) ..\Project1\FormSettings\User1\(这包含一个用于User1的窗体的一个ini文件) ..\Project1\F ..
发布时间:2017-04-28 20:39:26 Delphi

Delphi Rest.JSON JsonToObject仅适用于f变量

我正在使用Delphi XE8。 我只是看着 REST.Json ObjectToJsonString()和 JsonToObject()调用。 主要尝试这样做: 如何将对象转换为JSON并使用单行代码返回 我注意到,当他们开始使用 F 字符时,我只能使变量工作。我找不到任何文档。这是预期的行为吗?在开始的时候,我是否应该使用$ code> F 命名所有类的变量?如果是的, ..
发布时间:2017-04-28 20:39:05 Delphi

在Delphi上用TCanvas绘制一个像google地图的标记

在我的应用程序中,我需要在TCanvas上绘制一个“标记”,如Google Maps标记(参见图像)。 我想使用半径,高度和起点的参数: 我不知道使用算法。我可以使用弧线来绘制顶部,但是如何绘制底部? 注意:我需要使用GDI和GDI +绘制,所以任何解决方案都是受欢迎的。 解决方案 例如使用200x200 PaintBox - 它至少应该给你一个算法的想法。我相信你可以画中间 ..
发布时间:2017-04-28 20:38:52 Delphi

TVirtualStringTree中的自动调整列

爬上TVirtualTreeView的学习山,我试图创建一个自定义后代,确保当控件调整大小时,最后一列的宽度完全填充控件的宽度,而不需要水平滚动条。 我看到一些与“AutoFitColumns”相关的项目(一种方法和一些事件),但不包含此功能的文档。我可以使用AutoFitColumn来自动调整我的最后一列,如果是这样,那么如何。 解决方案 使用你的virtualtreeview, ..
发布时间:2017-04-28 20:38:39 Delphi

德尔福:30天试用

如何为我的申请进行为期30天的试用?我需要允许用户只使用30天的应用程序。如何计数这些天? 我将第一个和最后一个日期保存在注册表中。但如果要改变系统时间 - 不会有保护。我需要计算这30天。 解决方案 你可能想出一个需要互联网连接但没有任何东西的系统用户不能篡改,我没有看到解决方案。 依赖于不可信元素的任何解决方案(保护的一个元素是用户的控制)是极其微弱的。 我想到的最简 ..
发布时间:2017-04-28 20:38:26 Delphi

如何限制FireMonkey中的最小窗体宽度?

如何在FireMonkey中限制最小窗体的宽度?它在VCL中过去很容易 - 它在表单属性中只有Max和Min约束。 解决方案 这是一个更复杂但更优雅)替代解决方案,定义一个完全自定义的Form类,您可以从中继承自己的... 单元FMX。约束方式 接口 使用 System.Classes,System.Types,System.UITypes,FMX.Forms,FMX.Pl ..
发布时间:2017-04-28 20:38:10 Delphi

数据交换指向带有VID和PID的USB设备

我一直在尝试在网上找到一些关于如何 发送和接收数据(或似乎被称为框架)的一些免费和工作的代码到特定的 USB设备通过使用VID和PID。 有没有人知道如何在delphi中执行此操作? 似乎有没有任何关于delphi的事情,在所有! 解决方案 请参阅 Robert Marquardt的Delphi的HID控制器套件。 它将为您提供沟通的可能性一个USB设备。此单位也被并 ..
发布时间:2017-04-28 20:37:32 Delphi

Coinitialize(nil)和CoInitializeEx(0,COINIT_MULTITHREADED)的区别

在线程中, 有差异,如果我使用 Coinitialize(nil) 而不是 CoInitializeEx(0,COINIT_MULTITHREADED); 我使用Delphi 7,但我认为其他编程语言可以保留的问题 感谢您的帮助。 解决方案 前者以将调用线程放入自己的单线程公寓(STA)的方式初始化COM, 。后者通过将调用线程放入共享 ..
发布时间:2017-04-28 20:36:57 Delphi

如何在Delphi中开始构建可搜索的垃圾收集器(2009-2010)

我正在寻找一种方法来控制我在Delphi中编写的应用程序中创建的所有业务对象。 作为Embarcadero的EDN文章( http://edn.embarcadero.com/article/28217 )说,基本上有三种方法。我最感兴趣的是最后一个,使用界面。这样,当业务对象在应用程序中的任何地方都不再被引用时,它会被内存处理(稍后我会再回来)。 创建新的业务对象时,请问新对象管理器 ..
发布时间:2017-04-28 20:36:31 Delphi

如何使用LiveBindings在TStringGrid中显示200行?

我有一个 TDataSource ,由 TClientDataset 支持,绑定到 TStringGrid 。我通过右键单击网格,选择“链接到数据库数据源... ”,并选择DataSource。这个设置为我的LiveBindings。 当我运行应用程序时,网格只填充200行,即使数据集中有5000条记录。 我无法找到任何有关如何更改显示的行数的文档,或者正确的方式允许用户滚动所有数据。 ..
发布时间:2017-04-28 20:36:19 Delphi

修改一个公式从围绕一个圆周计算到一个椭圆?

我在下面的函数中有这个公式。这是一个相当简单的概念,但这个公式让我差不多2个星期才能完美。它的作用是计算出一个物体在一定程度上和距离中心点的距离。手动绘制圆圈很有用,我也主要用于我的针距组件。它计算在哪里绘制针。 现在我试图找出如何修改这个公式来考虑椭圆或椭圆。我确实想到首先将组件绘制成圆形,然后在所有绘制后拉伸,但这不是一个干净的解决方案,因为我正在做的绘图已经是椭圆形的。 / p> ..
发布时间:2017-04-28 20:34:50 Delphi

如何从按钮控件中删除焦点矩形?

我需要删除按钮焦点矩形,因为在点击按钮后,它看起来比 TBitBtn 字形变坏。 解决方案 您可以为 TBitBtn 创建一个Interposer类,并覆盖 SetButtonStyle 阻止其内部 IsFocused 变量设置: 键入 TBitBtn = class(Buttons.TBitBtn) protected procedure SetButtonStyle(AD ..
发布时间:2017-04-28 20:33:04 Delphi

Delphi 2009 - Bug?将一些假定的无效值添加到一个集合

首先,我不是一个非常有经验的程序员。我正在使用Delphi 2009,并且一直在使用这些套件,这似乎表现得非常奇怪,甚至与我不一致。我想这可能是我,但以下看起来好像有明显的错误: 单元测试; 接口 使用 Windows,消息,SysUtils,类,图形,控件,窗体, 对话框,StdCtrls; type TForm1 = class(TForm) Button1:T ..
发布时间:2017-04-28 20:32:52 Delphi

TIdHTTP.Get EIdIOHandlerPropInvalid错误

我正在尝试使用TIdHTTP.Get将USPS Zip4结果网页源加载到变量中(以提取4位邮政编码后缀),例如 PgSrc:= IdHTTP1.Get('https://tools.usps.com/go/ZipLookupResultsAction!input.action?resultMode=0&companyName=&address1=1600+PENNSYLVANIA+ AVE ..
发布时间:2017-04-28 20:31:57 Delphi

德尔福从RAD Studio升级到Delphi XE

我们正在考虑从Rad Studio 2007升级到Delphi XE,需要说服老板说成本是合理的。我会感谢可以帮助我回答这个问题的评论:“Delphi XE带给桌面的是什么,值得升级?” 请问,Pieter 解决方案 请查看Andreano Lanusse的白皮书。 ..
发布时间:2017-04-28 20:31:07 Delphi

如何将未知接口保存到指针?

例如,我有一个未知界面,并希望将其保存到TreeNode Data? var X:Inknown; 要保存: .... Node:= TreeView1.Items.Add; //Node.data:=x; //编译器不会允许这个 Node.data:=@x; ... 获取: ... var //X:=Nod ..
发布时间:2017-04-28 20:30:55 Delphi