Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Delphi在列表中转换\n_Delphi - Fatal编程技术网

使用Delphi在列表中转换\n

使用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

您好,我正在尝试将一个字符串转换为要使用的列表中的sLineBreak,但以下代码给出了错误信息:

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
如果你不发布假代码,这真的很有帮助。您发布的代码有多个其他错误。请发布你实际使用的代码。如果你不发布假代码,这真的很有帮助。您发布的代码有多个其他错误。请张贴您实际使用的代码。