1. StrictDelimiter 사용
 Delimiter 를 사용하여 Split 을 하면 다 좋은데 공백문자 등도 delimiter로 인식해 버려 원하지 않는 결과가 나왔다.
그래서 본인도 ExtractStrings를 사용하는 편이었다.
그러나 역시 원하는 결과로 유도하는 파라메터가 있었다.
StrictDelimiter 를 사용하는 것인데 기본적으로 False 상태라 공백문자도 delimiter 로 인식하고, StrictDelimiter를 True 로 하면 지정한 delimiter 만 인식한다.
아래는 그 비교구문이다.
 
procedure TForm1.Button1Click(Sender: TObject); 
const 문자열='A, B, C'+#13+'D, E, F'
var 

i: Integer;

sList: TStringList;  

begin 

sList:=TStringList.Create; 

try 

// StrictDelimiter=False: 공백 등도 delimiter 로 인식 

sList.Delimiter:=','

sList.DelimitedText:=문자열; 

Memo1.Lines.Add('Count (strict=False): '+IntToStr(sList.Count)); 

for i:=0 to sList.Count-1 do Memo1.Lines.Add(sList[i]); 

  

// StrictDelimiter=True: 지정한 문자만 delimiter 로 인식 

sList.Clear; 

sList.Delimiter:=','

sList.StrictDelimiter:=True; 

sList.DelimitedText:=문자열; 

Memo1.Lines.Add('Count (strict=True): '+IntToStr(sList.Count)); 

for i:=0 to sList.Count-1 do Memo1.Lines.Add(sList[i]); 

finally 

if Assigned(sList) then FreeAndNil(sList); 

end

end
 
 
 
 
2.  Name=Value 형태의 사용
 
ini 파일같은데 보면 이런 형태가 사용되잖아?
 
[공격옵션]
chkAttack=1
 
델파이에서도 하는거다...
ini 파일을 다루거나 설정파일 등을 사용할 때 직관적으로(=코드 자체가 주석이 되는) 사용할 수 있을 것 같아.
 
procedure TForm1.Button2Click(Sender: TObject);
var sList: TStringList; 
begin 

sList:=TStringList.Create; 

try 

sList.Values['이름']:='이명박'; 

sList.Values['직업']:='소망교회 장로'

Memo1.Lines.Add('이름: '+sList.Values['이름']); 

Memo1.Lines.Add('직업: '+sList.Values['직업']); 

finally 

if Assigned(sList) then FreeAndNil(sList); 

end

end






'Delphi' 카테고리의 다른 글

[Delphi] Boolean Types  (0) 2009.04.18
[Delphi] System Common Util 함수들  (0) 2009.04.18
[Delphi] 파일을 바이너리 Hex 로 읽어들이기  (0) 2009.04.18
[Delphi] 델파이 OOP의 특성  (0) 2009.04.18
[Delphi] Data Types - String  (0) 2009.04.18
Posted by bloodguy
,