본문 바로가기
Delphi/클래스

TStringList 정렬, 중복 제거, 파일 입출력

by MonoSoft 2025. 11. 11.
728x90
반응형

TStringList 정렬, 중복 제거, 파일 입출력

 

TStringList는 델파이에서 가장 널리 사용되는 
문자열 컨테이너입니다.
단순 문자열 저장뿐 아니라 정렬, 중복 제거, Key=Value 쌍 관리, 
파일 입출력까지 지원해 다양한 실무 상황에서 활용됩니다.

Sorted := True만 설정하면 자동 정렬됨
Duplicates 속성으로 중복 정책 제어 가능
Names[], Values[]를 활용하면 설정(Key=Value) 관리 가능
LoadFromFile, SaveToFile로 편리한 파일 입출력

uses
  System.Classes, System.SysUtils;

procedure DemoStringList;
var
  SL: TStringList;
begin
  SL := TStringList.Create;
  try
    SL.Sorted := True;           // 자동 정렬
    SL.Duplicates := dupIgnore;  // 중복 무시

    // 데이터 추가
    SL.Add('Orange');
    SL.Add('Apple');
    SL.Add('Banana');
    SL.Add('Apple'); // 무시됨

    // Key=Value 형태
    SL.Values['Theme'] := 'Dark';
    SL.Values['FontSize'] := '12';

    // 파일 저장
    SL.SaveToFile('settings.txt');

    // 출력
    Writeln('정렬 및 중복 제거 결과:');
    Writeln(SL.Text);
  finally
    SL.Free;
  end;
end;

begin
  DemoStringList;
end.

OwnsObjects를 활용하면 문자열과 연결된 객체도 자동 해제 가능 (TObjectList와 유사).
SL.CaseSensitive := False로 하면 정렬 및 비교 시 대소문자 무시.
환경 설정 파일을 INI 대신 "Key=Value" 텍스트로 관리할 때 매우 유용.
IndexOf, IndexOfName을 활용하면 빠른 조회 가능.

 


#Delphi #TStringList #정렬 #중복제거 #파일입출력 #KeyValue #List관리 #텍스트처리 #데이터저장 #문자열리스트

 

728x90
반응형

댓글