【发布时间】:2014-11-05 02:20:05
【问题描述】:
我有这个非常简单的代码,女巫给我留下了一个空字符串。如您所见,它只是复制了“FileDir”字符串中的每个“\”。当我调用“Showmessage(FileDir)”时,我得到一个空框。但是,当我在循环中调用“Showmessage(FileDir[I])”时,我确实得到了字符。
var
s, FileDir: string;
I: integer;
for I := 0 to FileDir.Length do
begin
if FileDir[I] = '\' then
s := s + '\';
s := s + FileDir[i];
end;
FileDir := s;
Showmessage(FileDir);
我已编辑我的代码以将字符串放入编辑框中,然后将其复制到我的“FileDir”字符串中。这可行,但我不满意
for I := 0 to FileDir.Length do
begin
if FileDir[I] = '\' then
edbox.Text := edbox.Text + '\';
edbox.Text := edbox.Text + FileDir[i];
end;
FileDir := edbox.Text;
Showmessage(FileDir);
很可能我没有看到明显的情况,所以也许你们中的一个人看到了。提前致谢
【问题讨论】:
-
FileDir.Length-1 可能,或者根据 Low(String) 的值从 1 开始。
-
@Eszee LURD 提供了两个建议,不是一个,请不要说“不起作用”,请准确。
-
您可以通过从 Low(FileDir) 循环到 High(FileDir) 来使循环与 zbs 无关。
标签: delphi delphi-xe5