C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[64095] Re:문자열 아스키 변환...
김상구.패패루 [peperu] 1531 읽음    2011-04-07 12:16
그냥

int num_ch1 = CH1->Position;
AnsiString s;
s.printf("%03d", num_ch1);

이렇게 하시는게 제일 편하겠죠.

止水 님이 쓰신 글 :
: BCB6 으로 현재 시리얼 통신을 하기 위해
: CPort 264를 사용해서 통신구현을 해 두었습니다.
:
: 하지만 통신을 통해 넘겨주는 형식이 UNICODE?(ASCII? 였나...)로 되어 있어
:
: 약간의 문제로 고민을 하고 있습니다.
:
: 간단한 컨트롤러와 통신을 하는 것인데...
: 기본적으로 ON 하는 데이터가
: "02 31 31 4F 4E 03" // STX 1 1 O N EOT (보기 편하게 한칸씩 띄워 두었습니다.)- 컨트롤러 1번 채널 ON
: 라고 되어 있습니다.
:
: ON/OFF 를 제외하고 실 데이터 값을 넘겨 주어야 하는데
:
: AnsiString 형의 문자열 데이타를 UNICODE 로 변환 후,
: 변환된 채로 다시 AnsiString 에 넣고 싶지만 어떻게 해야 할까요(좌절)
:
: 이리 뒤적 저리 뒤적 해서
: 찾아본 결과
:
: WideString s;
: 1.  s = "안녕하세요"; // 문제 없지만 권장하지 않습니다. ANSI->UTF16 코드변환이 자동으로 이루어지긴 하지만
:                            // 다른 언어환경의 OS에서 실행하면 s에 엉뚱한 값이 들어가겠죠.
: 2.  s = L"안녕하세요"; // 심각하게 문제있습니다. WideString의 = 연산자는 BSTR 타입을 요구하기 때문입니다.
: 3.  s = WideString(L"안녕하세요);  //  안전한 방법이지만 메모리 복사가 이루어집니다.
: 4.  WideString s1 = L"안녕하세요";  // 가장 안전하고 성능에도 영향이 없습니다.
: 5.  WideString s2(L"안녕하세요");  // 4번과 동일하죠. 표현만 다를 뿐.

: -peperu 님의 글 中-
: 위와 같은 답변이 있어서 문자 말고 혹시 변수도 되나 해봤지만
: 와치로 확인해 봤을 때 WideString 와 AnsiString 가 같은 값(AnsiString 값)을 가지는 것을 확인하였습니다.
:
: 트랙바에서 데이터를 받아서 변환하고 싶은데, 0~255, 즉 000~255 값이라 좀 지저분합니다....(랄까 실력부족)
:
: void __fastcall TForm1::CH1Change(TObject *Sender)
: {
:     num_ch1 = CH1->Position;
:     if(num_ch1<10){
:     ch_num1->Text = "00"+IntToStr(num_ch1);
:     }else if(num_ch1<100){
:     ch_num1->Text = "0"+IntToStr(num_ch1);
:     }else if(100<=num_ch1){
:     ch_num1->Text = IntToStr(num_ch1);}
:     change = "1"+ch_num1->Text;//change 가 AnsiString 변수입니다.
: }
:
: 이걸 어찌해야 UNICODE 로 바꿀수 있을까요...orz
: 몸 상태가 메롱이라 머리도 잘 안돌아가네요 ㅠ(질문 하는데만 25분째...)
:
: ....아니면 배열로 받아서 하나씩 비교해서 붙여넣어야 하는 걸까요....
: (어차피 문자는 상관없고 숫자만 비교하면 되니까....(...))
: 배열로 받는다면 배열 안에 하나씩 집어 넣는것도 문제가....(공부해!)
:
: ......이상 질문이었습니....다.

+ -

관련 글 리스트
64094 문자열 아스키 변환... 止水 1912 2011/04/07
64137     Re:문자열 아스키가 아니라 유니코드 변환...(자답????)- 수정 止水 1605 2011/04/12
64095     Re:문자열 아스키 변환... 김상구.패패루 1531 2011/04/07
64106         Re:Re:문자열 아스키 변환... 止水 2168 2011/04/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.