delphi

Delphi的“现在”时间戳有多准确

我将要开展一个项目,该项目需要(相当)准确地为来自定制硬件的传入RS232串行和网络数据加盖时间戳.由于数据来自多个独立的硬件源,我需要为所有数据加时间戳,以便可以对其进行校正/插值到标称时间点.我的直接虽然只是使用内置的Now命令来设置时间戳,但是快速谷歌似乎表明这只能准确到大约50毫秒左右.不幸的是,我读的越多,我就越困惑.在GetTickCount和QueryPerformanceCount

在Delphi中枚举可能的设置值

我在Delphi中有一个计算算法,有许多不同的选项,我需要尝试每个选项组合来找到最佳解决方案.我想知道使用Integer循环枚举它们:这不编译.我想知道的是,是否有任何相当简单的方法可以从Integer转换为Set,如果是这样,它是什么?另一种可能性是将Integer用作位域:然后按位测试成员资格:我已经尝试了这个,并且它可以工作,但感觉就像使用集合会更自然并且更好地使用类型系统.有没有比枚举基础整数表示更好/更安全地枚举所有可能的集合组合?

delphi – TValue string < - >布尔来回

我正和TValue一起玩我在一个空白项目中编写了这段代码:但我无法从字符串转换回布尔值;我在第二行得到一个无效的Typecast异常.我正在使用DelphiXE,但它与DelphiXe6中的结果相同,这导致我得出结论:我使用的是TValue错误.那么请问我做错了什么.解决方法虽然您在问题中给出了布尔值作为示例,但我将假设您真正对枚举类型的完整通用性感兴趣.否则你只需要调用StrToBool.TVa

delphi – 为什么设置表的RecNo属性不会移动到该记录?

我有一个使用BDE访问DBase表的TTable组件.表上没有索引,因此排序顺序是表中记录的物理顺序.如果我读取RecNo属性,它包含当前记录的预期编号.我的印象是,使用这个星座,也可以将RecNo属性设置为移动到相应的记录.但显然这在我的计划中不起作用.所以:我记错了吗?或者我需要做些什么特别的工作呢?解决方法TBDEDataSet仅为Paradox实现RecNosetter.您可能想要尝试这样的通用:

delphi – 如何制作自定义组件属性?

我需要帮助来创建一个控件属性,当你点击它时,它会弹出一个自定义对话框,如设置.就像TPicture一样.任何想法或建议?解决方法如果您的类被用作其他组件的属性,并且您想使用ObjectInspector来调用对话框,那么您必须实现并注册自定义属性编辑器,例如:

delphi – 如何以编程方式设置我的IP地址?

如何以编程方式设置我的IP地址?我的应用程序正在检查它,使用DelphiTricks中的代码(虽然我不确定About.com的代码是否可能更好)我希望能够以编程方式设置地址以进行测试.并且(我不知道这是否重要),我希望能够这样做,即使我没有连接到任何网络(在笔记本电脑上,在火车上).解决方法要更改网络适配器的IP地址,可以使用Win32_NetworkAdapterConfigurationWMI

在Delphi中实现观察者模式的最佳方法

我在Delphi中发现了不同的观察者模式实现,如:SourcemakingDesignPatterns和DelphiHobbyist.一般来说,在Delphi中实现观察者的最佳方法是什么?我会说使用接口因为代码更具可读性.解决方法没有“好”或“最好”的方式来实现模式.您选择的实施取决于您希望如何使用它.例如,您可以使用泛型功能(自Delphi2009以来可用)来简化许多模式的使用.如果您使用Pre

如何让Delphi独自离开我的DFM?

使用DXE2,我写了一个表单生成器,它同时创建.pas和.dfm文件.我正在处理一个例程,允许我修改dfm中的不同属性,例如Font.Height和TabOrder.当我在记事本中打开一个生成的文件时,一切看起来就像我期望的那样.当我在Delphi中打开它,属性改变了!令人沮丧的事情是我使用DelphiIDE中原来设计的格式作为我的模板.我不明白为什么德尔福不会尊重我的简单变化例如,原来的Font.Height是-11.我读取dfm,将其更改为-17,并保存.在记事本中,显示-17.当我在Delphi中打