我有一个空的 Delphi ClientDataSet CDS 文件设置,其中包含我需要的所有列/标题/数据类型。我想使用 PHP 将关联数组附加到 CDS 行中。这可能吗?
该数组可以简单地是:
{
1: {Name:Captain, Phone:18001234567}
2: {Name:Jack, Phone:18009876543}
3: {Name:Sparrow, Phone:18887892345}
}
我选择了 PHP,因为我精通该语言,而且我的 Web 服务器是共享 Linux 主机。基本上我不能在这里运行 Delphi。我对可以在这种环境中工作的其他选项持开放态度。谢谢!
编辑:
请参阅此帖子的评论以了解我的解决方案。
最佳答案
我建议您不要直接写入 cds 文件。
相反,您可以为两个应用程序(PHP 和 Delphi)使用一个通用的 xml,在 delphi 端,您使用带有 TXmlTransformProvider 的 XML 转换加载和保存它,在 PHP 端,您只需像往常一样将其写入 XML。
看看 here 如何在 delphi 上设置。
- 更新
如果您真的需要直接更改 cds 文件(使用 xml 格式),考虑到 cds 格式是 xml,您可以向 cds 文件添加一个新文件,如下所示:
<?xml version="1.0" standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="Name" fieldtype="string" WIDTH="24"/>
<FIELD attrname="Capital" fieldtype="string" WIDTH="24"/>
</FIELDS>
<PARAMS DEFAULT_ORDER="1" PRIMARY_KEY="1" LCID="2057"/>
</METADATA>
<ROWDATA>
<ROW Name="Argentina" Capital="Buenos Aires"/>
<ROW Name="Bolivia" Capital="La Paz"/>
<ROW Name="Brazil" Capital="Brasilia"/>
<ROW Name="Canada" Capital="Ottawa"/>
<ROW Name="United States of America" Capital="Washington"/>
//Add your new ROW tag here with your data
</ROWDATA>
</DATAPACKET>