Q&A

  • TStrings 의 CommaText에 관해서..
아래코드에서 CommaText하면 보통 ','로 파싱되자나요 왜 공백으로도 되죠?
procedure TForm1.Button1Click(Sender: TObject);
var
  S: TStringList;
begin
  S:= TStringList.Create;

  S.CommaText := '1,11,2005-04-15 11:46:45';
  Memo1.Lines.Add(S.Strings[0]);
  Memo1.Lines.Add(S.Strings[1]);
  Memo1.Lines.Add(S.Strings[2]);
  Memo1.Lines.Add(S.Strings[3]);

  S.Free;
end;

즉 메모장에 나타나는 결과가
-----------------------------
1
11
2005-04-15 11:46:45
-----------------------------
이렇게 되야 하는데

실행해보면
-----------------------------
1
11
2005-04-15
11:46:45
-----------------------------
이렇게 됩니다 쩝~~ 잘 모르것네..


2  COMMENTS
  • Profile
    KDDG_Apine 2005.04.16 02:02

    commatext 를  프로퍼티의 소스를 보시면 알겠지만 공백이 있었두 구분자로 생각하고  데이터를 넣습니다..

    위에 말씀하신 데이터는 하나씩 넣는게 좋을뜻합니다...

    add로  하나씩 넣으면   안 소스에는 하나의 데이터를  " (큰따움표)로 묶어서 처리 합니다...

    즉 commatText로 데이터를 넣을때 위에 분이 말한것처럼 데이터가 어떻게 들어가겠다 생각하시고 해야 할듯합니다..

    위에 같은 파싱은 참 유용하게 사용할수 있으나 잘못된 데이터를 넣거나 뺄수 있으니  주의 하셔야 됩니다.


    [참고] 델파이 소스의 commatext 소스를 한번 보세요.. 그럼 참 많은 도움이 됩니다..  ^^
  • Profile
    손희석 2005.04.15 23:26

    공백으로 되는것은 기본입니다.
    그래서 "표를 감싸는 것이죠. TString.CommaText 메서드를 쓸때 유의하셔야합니다.

    그럼 즐코딩 되세요.