使用Delphi在列表中转换\n
您好,我正在尝试将一个字符串转换为要使用的列表中的sLineBreak,但以下代码给出了错误信息:使用Delphi在列表中转换\n,delphi,Delphi,您好,我正在尝试将一个字符串转换为要使用的列表中的sLineBreak,但以下代码给出了错误信息: var SLista: TStringList; Arrangement: array of String; Index: Integer; text: string; SLista: = TStringList.Create; Text: = 'hi' + sLineBreak + 'world' + sLineBreak + 'yeah' + sL
var
SLista: TStringList;
Arrangement: array of String;
Index: Integer;
text: string;
SLista: = TStringList.Create;
Text: = 'hi' + sLineBreak + 'world' + sLineBreak + 'yeah' + sLineBreak
+ 'Yeah';
SLista.Delimiter: = sLineBreak;
SLista.DelimitedText: = text;
SetLength (Arrangement SLista.Count);
for index: = 0 to Pred (SLista.Count) do
Writeln (SLista [index]);
错误:
[DCC错误]test.dpr(120):E2010不兼容类型:“Char”和“AnsiString”
正如我所能做到的那样?sLineBreak const被定义为字符串#13#10。Delimiter是一个字符,因此不能将sLineBreak分配给它。而不是指定给SLista.DelimitedText使用
SLista.Text := text;
如果您特别想使用DelimitedText,您可以使用#13或#10作为分隔符,将文本拆分成行。但请注意,Text属性始终使用sLineBreak作为换行符,即使您通过DelimitedText将#13或#10作为分隔符来分配内容也是如此
作为旁注,如果使用分隔符和分隔符文本属性,请确保考虑文本中的空间字符对StruttDimimITER属性的影响,以及引用文本中的字符与QooTeCar属性。< /P> < P> SnRead Curst const被定义为字符串α13×10。Delimiter是一个字符,因此不能将sLineBreak分配给它。而不是指定给SLista.DelimitedText使用
SLista.Text := text;
如果您特别想使用DelimitedText,您可以使用#13或#10作为分隔符,将文本拆分成行。但请注意,Text属性始终使用sLineBreak作为换行符,即使您通过DelimitedText将#13或#10作为分隔符来分配内容也是如此
作为旁注,如果使用Delimiter和DelimitedText属性,确保您考虑文本中的空间字符对StruttIdimITER属性的影响,以及引用文本中的字符与QooTeCar属性。 < P>代码不必要复杂,因为赋值给<代码>文本< /代码>导致输入字符串在断线时被拆分。因此,您可以使用以下内容替换代码:
SLista := TStringList.Create;
try
SLista.Text: = 'hi' + sLineBreak + 'world' + sLineBreak + 'yeah' + sLineBreak
+ 'Yeah';
for str in SLista do
Writeln(str);
finally
SList.Free;
end;
代码不必要地复杂,因为分配给
文本
会导致输入字符串在换行符处被拆分。因此,您可以使用以下内容替换代码:
SLista := TStringList.Create;
try
SLista.Text: = 'hi' + sLineBreak + 'world' + sLineBreak + 'yeah' + sLineBreak
+ 'Yeah';
for str in SLista do
Writeln(str);
finally
SList.Free;
end;
当然,在Windows sLineBreak上是
#13#10
当然在Windows sLineBreak上是#13#10
如果你不发布假代码,这真的很有帮助。您发布的代码有多个其他错误。请发布你实际使用的代码。如果你不发布假代码,这真的很有帮助。您发布的代码有多个其他错误。请张贴您实际使用的代码。