네 감사합니다^^
덕분에 무사히 구별했씁니다. 정말로 감사합니다.
좀더 공부 많이 해야겠습니다^^
정성훈.해미 님이 쓰신 글 :
: 구버전에는 사용자 지정 구분자를 사용할수 없나 보군요.
:
: // 아래의 사용자 지정 구분자를 사용하는 코드 대신
: StrLst->Delimiter = ',';
: StrLst->DelimitedText = buffer;
:
: // 이 코드로 사용해 보세요.
: StrLst->CommaText = buffer;
:
:
:
: 아자! 님이 쓰신 글 :
: : 답변감사합니다
: : 알고보니 그 부분들이 볼랜드 4에서는 제공이 되질 않고있네요.ㅠㅠ
: : 볼랜드 포에서 쓸수있는게 있을까요??ㅠㅠ
: :
: : 정성훈.해미 님이 쓰신 글 :
: : : Delimiter 와 DelimitedText는
: : : TStringList 클래스에 내장되어 있습니다.
: : :
: : : 아자! 님이 쓰신 글 :
: : : : 답변감사합니다.
: : : : 그런데
: : : : StrLst->Delimiter = ',';
: : : : 여기에서 Delimiter 이변수가저는선언이되지않습니다.ㅠㅠ
: : : : DelimitedText 이부분도 마찬가지이구요~
: : : :
: : : :
: : : :
: : : :
: : : :
: : : :
: : : :
: : : :
: : : : 정성훈.해미 님이 쓰신 글 :
: : : : : 간단하게 비어 있는 문자열을 "0"으로 바꾸면 됩니다.
: : : : :
: : : : :
: : : : : TStringList *StrLst = new TStringList();
: : : : :
: : : : : // 구분자를 ','로 설정한다.
: : : : : StrLst->Delimiter = ',';
: : : : : // 설정한 구분자로 나누어서 받을 문자열을 넣는다.
: : : : : StrLst->DelimitedText = buffer;
: : : : :
: : : : : // 구분자가 콤마(',')인 경우 위 2줄 코딩을 빼고 아래처럼 간단하게 1줄 코딩으로 써도 됩니다.
: : : : : // StrLst->CommaText = buffer;
: : : : :
: : : : : // 변환된 문자열 개수만큼 반복하여
: : : : : for(int i=0; iCount; i++)
: : : : : {
: : : : : // 문자열에서 공백을 제거한 것이 ""이면 "0"으로 바꾼다.
: : : : : if(StrLst->Strings[i].Trim() == "") StrLst->Strings[i] = "0";
: : : : : }
: : : : :
: : : : : // 변환된 문자열 리스트를 메모장에 복사한다.
: : : : : Memo1->Text = StrLst->Text;
: : : : :
: : : : : delete StrLst;
: : : : :
: : : : :
: : : : : 아자! 님이 쓰신 글 :
: : : : : : TStringList *nn = new TStringList();
: : : : : :
: : : : : : ExtractStrings(TSysCharSet()<<',', TSysCharSet(), buffer.c_str(), nn)
: : : : : :
: : : : : : for (int i=0; i<nn->Count; i++)
: : : : : : {
: : : : : : Memo1->SelText = nn->Strings[i]+ "\r\n";
: : : : : : }
: : : : : :
: : : : : : 이렇게 해서 문자열을 잘랐습니다.
: : : : : : 하지만 이때 buffer에 들어오는 문자는
: : : : : :
: : : : : : 1. buffer = "&test,1,,,,,,5,,,,5,,6,7"
: : : : : : 2. buffer = "&test,1,111,222,333,444,,5,,,,5,,6,7"
: : : : : : 3. buffer = "&test,2,44,55,,,,5,,,,5,,6,7"
: : : : : :
: : : : : : 이런식으로 다양하게 바뀌어서 들어옵니다.
: : : : : : 그래서 ,로 구분하여 문자를 자르긴 하지만 데이타가 없으면 그냥 0으로 들어가면 되는데..
: : : : : : 즉,
: : : : : : 1번을 자르면 buffer = "&test,1,,,5,,5,,6,7"
: : : : : : test
: : : : : : 1
: : : : : : 0- 데이타 없는 부분
: : : : : : 0- 데이타 없는 부분
: : : : : : 5
: : : : : : 0 - 데이타 없는 부분
: : : : : : 5
: : : : : : 0 - 데이타 없는 부분
: : : : : : 6
: : : : : : 7
: : : : : :
: : : : : : 이렇게 나와야하는데 위와 같이 함수를 쓰면
: : : : : : test
: : : : : : 1
: : : : : : 5
: : : : : : 5
: : : : : : 6
: : : : : : 7
: : : : : : 이렇게 나옵니다.
: : : : : : 이 부분을 처리할 방법아시는분 부탁드립니다.ㅠㅠ