[Delphi] TStringList 예제

Clover·2022년 3월 28일
0

Delphi

목록 보기
7/12
post-thumbnail

"TStringList"Delimiter & LineBreak, CommaText 사용 예제

Delimiter

  • 구분자를 이용하여 문자열을 분할할 때 사용한다.
  • 주의점은, 문자열 내의 공백값을 구분자로 인식한다는 것이다.
  • DelimiterChar 타입이라서, 한번에 여러개의 구분자를 입력할 수 없다.
procedure Delimiter;
var
  sList :TStringList;
begin
  try
    sList := TStringList.Create;
    sList.Delimiter := '|';
    sList.DelimitedText := 'AAA|BB B|CCC|DDD|EEE';  //값 대입과 동시에 분할이 이루어진다.
 
    Memo1.Lines.Clear;
    Memo1.Lines := sList; //sList[0] = AAA
                          //sList[1] = BB
  finally                 //sList[2] = B
    sList.Free;           //sList[3] = CCC  ....
  end;
end;
  • 'BB B'의 공백값을 구분자로 삼아, 분할시키는 것을 볼 수 있다.

LineBreak

  • DelimiterString 타입으로 쓰고싶을 때 사용한다.
procedure LineBreak;
var
  sList :TStringList;
begin
  try
    sList := TStringList.Create;
    sList.LineBreak := '<>';      // String 타입
    sList.Text := 'AAA<>BBB<>CCC<>DDD<>EEE';
 
    Memo1.Lines.Clear;
    Memo1.Lines := sList;  //sList[0] = AAA
                           //sList[1] = BBB
  finally                  //sList[2] = CCC
    sList.Free;            //sList[3] = DDD  ....
  end;
end;

CommaText

  • TStringList의 요소 전체를 , 로 연결하여 String으로 리턴해준다.
procedure CommaText;
var
  sList :TStringList;
begin
  try
    sList := TStringList.Create;
    sList.Add('AAA');
    sList.Add('BBB');
    sList.Add('CCC');
    sList.Add('DDD');
    sList.Add('EEE');
 
    Memo1.Lines.Clear;
    Memo1.Lines.Text := sList.CommaText;  //AAA,BBB,CCC,DDD,EEE
 
  finally
    sList.Free;
  end;
end;

0개의 댓글