답변감사합니다.
그런데
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
: : 이렇게 나옵니다.
: : 이 부분을 처리할 방법아시는분 부탁드립니다.ㅠㅠ