我承诺在 Delphi 7 上纠正一个项目,在那里我必须拆分来自网络的大量数据,以便将它们插入正确的位置。
当然,我已经做了一切copy
pos
,但事实证明,在项目中它占用了太多的代码空间。我的意思是我copy
也pos
曾经在一行中找到必要的片段并将它们复制到数组或所需的组件,一般来说,复制到哪里......
真的不是在第 7 个 Delphi 中像 php-shnogo 这样的功能爆炸了吗?这会将我编写的代码减少 2 倍......也许有什么?我希望代码更具可读性且尺寸更小。
我承诺在 Delphi 7 上纠正一个项目,在那里我必须拆分来自网络的大量数据,以便将它们插入正确的位置。
当然,我已经做了一切copy
pos
,但事实证明,在项目中它占用了太多的代码空间。我的意思是我copy
也pos
曾经在一行中找到必要的片段并将它们复制到数组或所需的组件,一般来说,复制到哪里......
真的不是在第 7 个 Delphi 中像 php-shnogo 这样的功能爆炸了吗?这会将我编写的代码减少 2 倍......也许有什么?我希望代码更具可读性且尺寸更小。
有几个选项可用于访问分隔字符串的各个元素。
SplitString
转换为字符串数组的函数DelimitedText
类属性TStrings
根据链接-http://blog.ivru.net/ ?id=195有一个自写的函数explode,以此类推类似于php。
仅当您突然使用它时,请注意其中元素数量的计算方式不同。
该函数有 4 个参数:
myExplode(sourceText:字符串;分隔符:字符串;var outMass:字符串数组;var outMassLen:整数)
选项:
也就是说,我再次注意 php 中的差异,例如,explode("a|b","|") 将返回一个索引为 0 和 1 的数组,并且从数组中计数将显示 2。当使用我在delphi中指定的函数您还将获得具有相同索引的相同数组,只有outMassLen将包含值1而不是2(即outMass数组的结束元素的索引,您将其传递给指定的函数Delphi 作为第三个参数)。
也就是说,根据你的问题:类似于PHP for Delphi的explode过程已经写好了:)如果你愿意,就用它,如果你愿意,写你自己的过程或函数。如果您不想放置和使用建议的爆炸程序,那么 Alex R. 也回答了您。