QuotedStr取代双引号在Delphi 2010中

时间:2015-05-11 11:43:00

标签: delphi delphi-2010

我需要创建一个逗号分隔的字符串,该字符串具有多个字符串值,并且每个值都应该是单引号。

当我使用QuotedStr时,它引用双引号而不是单引号。

我甚至尝试使用单引号,但它仍然存在同样的问题。

我尝试使用谷歌搜索,但没有得到任何结果信息。

还有其他方法吗?

问候。

维沙尔

1 个答案:

答案 0 :(得分:2)

QuotedStr在字符串的开头和结尾添加单个引号,作为参数传递。 可能有误导的是调试器如何显示字符串。

例如,以下代码

procedure TForm1.Button2Click(Sender: TObject);
var
  a, b, c, r: string;
begin
  a := 'A';
  b := 'B';
  c := 'C';
  r := QuotedStr(a) + ',' +
       QuotedStr(b) + ',' +
       QuotedStr(c);
  Label2.Caption := r;  // breakpoint here
end;

在最后一行有一个断点,在Local Variables窗格中显示了这一点:

enter image description here

但实际的标签标题如下所示:

enter image description here

调试器用单引号括起字符串以供显示,并且因为你的字符串已经包含单引号,所以看起来会有双引号。

您在评论中发布的代码......

procedure TForm9.Button2Click(Sender: TObject);
var MyString : String;
begin
  //#44
  MyString := QuotedStr('String1');
  MyString := MyString + ',' + QuotedStr('String2');
  ShowMessage(MyString);
end;

...产生这个结果:

enter image description here

如果消息展开并显示长度,请执行以下操作:

  ShowMessage(MyString + '  Length: ' + IntToStr(Length(MyString)));

......它产生了这个:

enter image description here

单引号,长度与预期一致。