【发布时间】:2012-06-05 06:09:39
【问题描述】:
我有一个空的 Delphi ClientDataSet CDS 文件设置,其中包含我需要的所有列/标题/数据类型。我想使用 PHP 将关联数组附加到 CDS 行中。这可能吗?
数组可以是:
{
1: {Name:Captain, Phone:18001234567}
2: {Name:Jack, Phone:18009876543}
3: {Name:Sparrow, Phone:18887892345}
}
我选择 PHP 是因为我精通该语言,而且我的 Web 服务器是一个共享的 Linux 主机。基本上我不能在这里运行Delphi。我对可以在这种环境下工作的其他选项持开放态度。谢谢!
编辑:
请参阅这篇文章中的 cmets 了解我的分辨率。
【问题讨论】:
-
+1 提出了一个很好的问题。
TClientDataSet是一个非常专有的 Delphi/C++Builder 本地数据集(用 C++ 编写),在最近的 RAD Studio 版本包含源代码之前,该格式从未发布过。我不知道有任何方法可以从任何其他语言或平台访问它。我原以为如果可能的话,他们会把它包含在 RadPHP 中,但是(至少就 XE2 而言)他们没有。 -
顺便说一句,您是否考虑过在 Wine 下运行 Delphi 应用程序,并在它和您的 PHP 代码之间进行工作?它应该很容易实现,因为您只是在谈论数据通信,而不是处理 UI 或操作系统级别的工作。
-
您的 json 数据不是数组。数字标识符在 delphi 中可能无效。
-
我想您已经决定不能以 XML 格式(而不是默认的专有二进制文件)保存 CDS 并以这种方式使用它? (当然你有;如果你可以只使用 XML,你就不需要 CDS。)抱歉;在这一点上,我没有建议。我能想到的唯一 Linux 替代品是 FreePascal(不支持 CDS)或旧版本的 Kylix(需要企业或架构 SKU,IIRC,才能支持 CDS - pro 没有包含它)。跨度>
-
不幸的是,我不确定 Delphi 是否使用标准的 binary_XML 编码。 CDS 在那之前就已经存在了,我想,我怀疑当时 Borland 推出了自己的产品。在他们成为 Inprise, IIRC 之前,这是他们“我们做客户端-服务器应用程序”的一部分。
标签: php database arrays delphi tclientdataset