TStringList的DelimitedText的空格问题

发布时间 2023-05-23 15:03:23作者: lucken
如果DelimitedText的字符串中有空格,TStringList遇到空格会进行自动换行,而这显然不是我们想要的结果。
经测试发现D7~D10.2.2都是这样的,然而这却不是TStringList的BUG。
解决这个问题的方法需要修改classes.pas的源码。
procedure TStrings.SetDelimitedText(const Value: string);
var
P, P1: PChar;
S: string;
begin
BeginUpdate;
try
Clear;
P := PChar(Value);
while P^ in [#1..' '] do
{$IFDEF MSWINDOWS}
P := CharNext(P);
{$ELSE}
Inc(P);
{$ENDIF}
while P^ <> #0 do
begin
if P^ = QuoteChar then
S := AnsiExtractQuotedStr(P, QuoteChar)
else
begin
P1 := P;
// while (P^ > ' ') and (P^ <> Delimiter) do // by cxg
while (P^ > '') and (P^ <> Delimiter) do