| 
 
원데이터가 1바이트단위의 숫자배열이라면
 파싱없이 그냥 단순 변환만으로 간단하게 문자열 처리가 되겠지만
 
 원하시는 것처럼 원데이터가 문자로표시된 숫자를 파싱해주는 함수는 없습니다.
 
 공백으로 구분하여 나눈 후 그문자를 숫자로 변환하고
 그것을 char에 넣는 지금의 방법을 그대도 사용하세요.
 
 대신 일일이 합칠 필요는 없습니다.
 char배열에 순서대로 넣은 후 그걸 String으로 변환하면 끝납니다.
 
 예)
 
 UnicodeString PasingData;
 TStringList *lst = new TStringList;
 
 // 공백으로 구분해서 문자열을 나눔
 lst->Delimiter = ' ';
 lst->DelimitedText = "60  63  120  109  108  32  118  101  114  115  105  111  110  61  34  49  46";
 
 // 변환할 숫자 개수+1만큼 char배열을 만든다,
 char *Data = new char[lst->Count+1];
 
 // 문자열숫자를 변환
 for(int i=0; i<lst->Count; i++)    {
     Data[i] = lst->Strings[i].ToIntDef(0);
 }
 Data[lst->Count] = 0x00;
 
  // char문자열을 String로 변환
 PasingData = UnicodeString(Data);     
 
 // 메모리 삭제
 delete Data;
 delete lst;
 
 
 PasingData 가 변환된 결과 문자열입니다.
 
 
 이걸 함수로 만들어 쓰시면 될거 같은데요.
 
 UnicodeString DecStr2Str(UnicodeString ADecStr)
 {
     UnicodeString PasingData;
     TStringList *lst = new TStringList;
 
     lst->Delimiter = ' ';
     lst->DelimitedText = ADecStr;
 
     char *Data = new char[lst->Count+1];
 
     for(int i=0; i<lst->Count; i++)    {
         Data[i] = lst->Strings[i].ToIntDef(0);
     }
     Data[lst->Count] = 0x00;
 
     PasingData = UnicodeString(Data);     
 
     delete Data;
     delete lst;
  
     return PasingData;
 }
 
 
 
 
 SHAWN 님이 쓰신 글 :
 : 안녕하세요.
 : 
 : 아래와 같은 코드가 있습니다.
 : 
 : ex)
 : 60  63  120  109  108  32  118  101  114  115  105  111  110  61  34  49  46
 : <    ?     x      m     l    SP   v     e      r      s      I     o      n     =    "    1    .      
 : 
 : 이것은 십진수로 저는 각 숫자를 읽어들여 char로 바꾸고 그런다음 char를 합쳐서 문자열을 만듭니다.
 : 
 : 그래서 완성한 데이터를 읽어서 분석을 하는데.
 : 
 : 문득 궁금한점이 생겨서.... 위와같은 십진수 코드를 제가 현재 작업하는 것처럼 하나하나 읽어서
 : 
 : char로 바꾸고 그런다음 하나하나 더해서 문자열을 만드는게 아닌,
 : 
 : 위에것을 한번에 처리하는 윈도우 함수나 라이브러리가 있는지 궁금해서 글을 올립니다.
 : 
 : 이상 감사합니다. 
 
    |