【发布时间】:2012-03-22 14:29:09
【问题描述】:
据我所知,Delphi 中的字符串为 1,长度为 0。我负责一个用D5和D2006编写的庞大的应用程序,它正在使用从0索引开始复制的复制功能,现在几个同事也在这样编码。因为这是一个Delphi的“魔术”功能,我相信即使使用Copy从0索引复制字符串,在幕后它也会从位置1复制它。
对我来说,一个好的做法是从第一个位置复制一个字符串,而不是从 0 位置,即使结果是一样的。
现在,我的问题是,通过使用从 0 位置的复制功能而不是用于从 1 位置复制来传递到其他 Delphi 版本时,应用程序是否会受到影响?
【问题讨论】:
-
只有老式的 ShortString 的长度在 0 位置。常用字符串(AnsiString等)的结构比较复杂
-
自 Delphi 1 以来,字符串的长度一直不在索引 0 中,除非您明确声明
ShortString,如var MyShortStr: ShortString;或 `var MyShortString: String[255];'。您和您的同事应该偶尔购买一本书或阅读帮助文件。 :)
标签: delphi delphi-2006 delphi-5