delphi相关内容

将 TObject 保存到文件

如何将当前状态下的对象保存到文件中?这样就可以立即读取并恢复它的所有变量. 解决方案 如前所述,最简单的方法是使用 Stream 及其 WriteComponent 和 ReadComponent 方法. 但请注意: - 它适用于 TComponent 的后代,而不是普通的 TObject; - 仅用于已发布的属性(保存在 dfm 中的),而不是公共的,也不是(更不用说)私人的; ..
发布时间:2022-01-24 18:55:23 其他开发

链接4条信息并保存

保存、编辑和加载信息.我要加载的信息是我自己添加的.每行信息将包含 4 条,(字符串、整数、字符串、整数).通过 4 个单独的编辑框和一个按钮,我将此信息添加到“数据库"(不确定我是否需要数据库,或者是否可以通过 Tstringlist 之类的东西来完成).每次单击该按钮时,它都会将当时键入的内容添加到“数据库"中. 保存数据的唯一要求是当我从列表中键入第一个字符串时,它可以将属于它的其余信 ..
发布时间:2022-01-24 18:51:24 其他开发

Delphi中的简单读/写记录.dat文件

由于某种原因,即使我昨天使用了 OpenID 帐户,它也不再存在.但无论如何. 我需要将记录数据保存到 .dat 文件中.我尝试了很多搜索,但都与数据库和 BLOB 相关.我无法从中构造任何东西. 我有以下记录 类型分数=记录名称:字符串[50];分数:整数;结尾;var rank: 分数数组[1..3]; 我只需要一种简单的方法来保存和读取 .dat 文件中的记录数据.我有关于 ..
发布时间:2022-01-24 18:38:52 其他开发

Delphi:以某种结构存储数据

对于我在 Delphi 2010 中工作的模拟程序.模拟不是问题,但我需要使用大量数据,这会产生问题.数据在 Excel 表中可用,因此无需在 Delphi 中编辑此数据,但从 excel 表中收集此数据大约需要 10 分钟.只要您不需要在每次程序运行时都收集数据,这不是问题.所以我做了一个程序,它收集所有的数据使它可见,这里没有问题,然后存储它.但是我不能将它存储为“Delphi 格式",而不会 ..
发布时间:2022-01-24 18:32:38 其他开发

如何将命令发送到单个客户端而不是所有客户端?

我正在用 Indy 10 编写一个简单的客户端/服务器聊天程序.我的服务器(idtcpserver)向客户端发送命令,客户端应答,但是当连接多个客户端并且服务器发送命令时,所有连接的客户端向服务器发送数据. 如何将命令发送到指定的客户端而不是全部? 解决方案 向所有连接的客户端发送命令的唯一方法是,如果您的代码循环通过所有向每个客户端发送命令的客户端.因此,只需删除该循环,或至少将其 ..
发布时间:2022-01-24 15:11:24 其他开发

在 Delphi 7 中,为什么我可以为 const 赋值?

我将一些 Delphi 代码从一个项目复制到另一个项目,发现它在新项目中无法编译,但在旧项目中可以.代码如下所示: 过程 TForm1.CalculateGP(..)常量价格:钱=0;开始...价格:= 1.0;...结尾; 所以在新项目中,Delphi 抱怨“无法分配左侧"——可以理解!但是这段代码在旧项目中编译.所以我的问题是,为什么?是否有允许重新分配 const 的编译器开关?这甚至是 ..
发布时间:2022-01-23 23:23:56 其他开发

从 GMail 的“已发送邮件"中获取电子邮件标题文件夹

我的程序通过 GMail 向联系人发送电子邮件.通常这很有效,但我们注意到有时我的程序“认为"它发送的电子邮件实际上并没有到达 Gmail,更不用说到达联系人了.我认为我可以在程序中添加一个检查,该检查访问 Gmail“已发送邮件"文件夹以查看每封电子邮件是否确实已发送. 我有一些使用 TIdPOP3 组件的代码,但这会从收件箱中下载标题,而不是从已发送的项目中下载.我的问题是,如何访问已发 ..
发布时间:2022-01-23 13:30:52 其他开发

有哪些工具可以将 Delphi 7 应用程序转换为 C# 和 .Net 框架?

我维护着一个用 Delphi 7 编写的旧的仅限 PC 的应用程序.尽管 Delphi 过去为我提供了很好的服务,但我现在只将它用于这个应用程序,并且发现我的语言技能正在下降.它的语法与我的 Java/Ruby 的“日常工作"语言太不同了,所以我需要更长的时间才能开始编写新代码,而且它太旧了,我没有使用很多 接口所以现在对我来说似乎很古老的代码没有被管理! 我的许多用户正在迁移到 Vista ..
发布时间:2022-01-23 09:46:28 C#/.NET

迁移到 Delphi 2010 和 Unicode 时如何准备 64 位

由于下一个版本预计不会支持 64 位,因此不再需要等待将现有代码库一次性迁移到 unicode 和 64 位的可能性.但是,如果我们在进行 unicode 转换时已经可以为 64 位准备代码,那就太好了.如果它最终出现在 2020 版中,这将最大限度地减少影响.如果它要到 2020 年才到货,有什么建议可以在不引入太多混乱的情况下解决这个问题吗? 解决方案 这里有另一个类似的问题,但我也会 ..
发布时间:2022-01-23 09:15:18 其他开发

Delphi中的UDP服务器和客户端

我正在制作一个 UDP C/S.我对服务器每秒可以接收的数据数量有疑问. 我已经测试了将 10、100、1000 条数据消息批量发送到服务器,10、100 条接收没有问题.发送 1000 个时,只收到 300 ~ 400 个.所有测试都在本地完成. 我尝试使用 ICS 的 twsocket 和 Synapse 的 tudpblocksocket 来实现服务器.两者都出现了上述相同的问题 ..
发布时间:2022-01-22 17:29:20 其他开发

UDP 数据包未被 Wireshark 捕获,但被 UDP 应用程序捕获

我有一个设计和工作的应用程序在端口上接收 UDP 广播.该应用程序一直运行良好,但我想将应用程序接收到的数据包与 Wireshark 捕获进行比较.我正在努力确保以最小的数据丢失捕获尽可能多的数据包. 我最初以为我会运行 Wireshark 并将捕获的原始数据包与我们应用程序中显示的数据包进行比较.但是,当我运行 Wireshark 时,永远不会在该端口的 IP 层捕获数据包.我看到来自服务 ..
发布时间:2022-01-22 16:54:46 其他开发

如何查看我的 delphi 应用程序中当前使用了多少堆栈空间?

如何查看我的 delphi 应用程序中当前使用了多少堆栈空间?我遇到了一个非常奇怪的错误,听起来像是堆栈问题.我想将它添加到我的应用程序的日志中,以了解正在使用/剩余的堆栈空间.使用调试器可能不是很好,因为该例程可以被多次调用. 谢谢! 解决方案 {$IFDEF MSWINDOWS}函数 currentStackUsage: NativeUInt;//注意:Win32 使用 FS,W ..
发布时间:2022-01-22 12:49:21 其他开发

Delphi:for循环期间函数结果未清空

这正常吗? 对于 := 1 到 10 做x.测试;x.测试;x.测试;x.测试;功能测试:字符串;开始{$IFDEF DEBUG} DebugMessage('结果检查 = '+Result,3);{$ENDIF}结果 := 结果 + 'a';结尾;10:39:59:结果检查 =10:39:59:结果检查 = a10:39:59:结果检查 = aa10:39:59:结果检查 = aaa10:39 ..
发布时间:2022-01-22 12:32:14 其他开发

什么是安全的最大堆栈大小或如何衡量堆栈的使用?

我有一个带有多个工作线程的应用程序,每个内核一个.在现代 8 核机器上,我有 8 个这样的线程.我的应用加载了很多插件,它们也有自己的工作线程.因为该应用程序使用大量内存(照片,例如 200 MB),所以我有内存碎片问题.问题是每个线程都分配了 {$MAXSTACKSIZE ...} 的地址空间.它不是使用物理内存,而是使用地址空间.我将 MAXSTACKSIZE 从 1MB 减少到 128KB, ..
发布时间:2022-01-22 12:22:03 其他开发

密码散列的盐是否应该被“散列"?还?

我认为这可能是一个愚蠢的问题,但我已经很困惑我应该在这里做什么才能做到最好. 在对密码散列进行加盐处理时,加盐是否也应进行散列处理或保留为明文? 注意:我在 SHA-256 中对密码进行哈希处理,Salt 是一个预定义的字符串,因为一次只能存储一个密码. TIA 克里斯(香巴拉). 解决方案 没关系. 盐的目的是防止预计算攻击. 无论是散列盐还是单独使用 ..
发布时间:2022-01-22 08:33:54 其他开发