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관리 #텍스트처리 #데이터저장 #문자열리스트
'Delphi > 클래스' 카테고리의 다른 글
| 클래스 참조(Class Reference)와 가상 생성자를 이용한 동적 객체 생성 (0) | 2026.03.25 |
|---|---|
| 커스텀 열거자(Custom Enumerator) 구현을 통한 For-In 루프 최적화 (0) | 2026.03.04 |
| TList와 TList<T>의 차이 및 실무 활용 (0) | 2025.11.10 |
| 클래스(Class) 기반 객체 설계 기초 (0) | 2025.10.17 |
| 메모리 스트림(TMemoryStream) 활용하기 (0) | 2025.10.01 |
댓글