簡體   English   中英

Delphi:換行符的Char值

[英]Delphi : Char value for newline

我有一個AnsiString如下:

UID,CardNo,Pin,Password,Group,StartTime,EndTime,Name,SuperAuthorize
1,0,1,,0,0,0,Johnny Test,0
2,0,2,,0,0,0,Harry Potter,0
3,0,3,,0,0,0,Scooby Doo,0
4,0,4,,0,0,0,Baby Lonney Toons,0 

如何在名為Users的TStringlist中添加新行的分隔符,以便我得到:

Users[1] : 1,0,1,,0,0,0,Johnny Test,0
Users[2] : 2,0,2,,0,0,0,Harry Potter,0
Users[3] : 3,0,3,,0,0,0,Scooby Doo,0

這是我的代碼:

procedure TFRTest.GetInfo(sbuffer : AnsiString);
var
    userIndex : Integer;;
    Users  : TStringList;
begin

    Users := TStringList.Create;
    Users.Delimiter := Char(10) ;
    try
         Users.DelimitedText :=  sbuffer;

         for userIndex := 0 to Users.Count -1 do
         begin
             ShowMessage(Users[userIndex]);
         end;
    finally
         Users.Free;
    end;

您不需要使用DelimitedText 您可以直接分配給Text ,並將換行符視為分隔符。

{$APPTYPE CONSOLE}

uses
  Classes;

const
  Str =
    'UID,CardNo,Pin,Password,Group,StartTime,EndTime,Name,SuperAuthorize' + sLineBreak +
    '1,0,1,,0,0,0,Johnny Test,0' + sLineBreak +
    '2,0,2,,0,0,0,Harry Potter,0' + sLineBreak +
    '3,0,3,,0,0,0,Scooby Doo,0' + sLineBreak +
    '4,0,4,,0,0,0,Baby Lonney Toons,0';

var
  i: Integer;
  StringList: TStringList;

begin
  StringList := TStringList.Create;
  try
    StringList.Text := Str;

    Writeln(StringList.Count);
    for i := 0 to StringList.Count-1 do begin
      Writeln(StringList[i]);
    end;
  finally
    StringList.Free;
  end;

  Readln;
end.

輸出:

5
UID,CardNo,Pin,Password,Group,StartTime,EndTime,Name,SuperAuthorize
1,0,1,,0,0,0,Johnny Test,0
2,0,2,,0,0,0,Harry Potter,0
3,0,3,,0,0,0,Scooby Doo,0
4,0,4,,0,0,0,Baby Lonney Toons,0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM