【发布时间】:2019-03-29 17:38:51
【问题描述】:
我正在尝试将 SysUtils.WrapText() 函数与包含转义单引号字符的字符串一起使用,但我得到了意想不到的结果。
var
Lines : TStrings;
begin
Lines := TStringList.Create;
try
Lines.Text := WrapText('Can''t format message, message file not found', 15);
ShowMessage(Lines.Text);
finally
Lines.Free;
end;
end;
如果字符串包含撇号字符,该函数似乎根本不包装字符串。
我也尝试使用#39 代码而不是单引号字符,但问题仍然存在。此外,我检查了Lines.Count,它是1。
我已经尝试删除单引号字符:
var
Lines : TStrings;
begin
Lines := TStringList.Create;
try
Lines.Text := WrapText('Cant format message, message file not found', 15);
ShowMessage(Lines.Text);
finally
Lines.Free;
end;
end;
它开始按预期包装字符串:
我想知道为什么会发生这种情况,我应该如何使用带有此类字符串的 WrapText() 函数?
【问题讨论】:
-
看起来它不会分解/忽略引号之间的文本。添加另一个引号,它开始拆分文本。
-
你试过
Lines.Text := WrapText('Cant format message, message file not found', [' '], 15);吗? -
@Sam:这改变了文本的含义。
Can't是 can not 的缩写,而 cant 是倾斜或斜面的表面。 :-)
标签: delphi escaping word-wrap delphi-2007