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
[24400] Re:[질문] AnsiString 과연 어떤넘인지요?
꼴.Free [kkol] 869 읽음    2003-02-19 23:30
Ponoffchk(int i, AnsiString PRead)
이 함수에서 PRead가 AnsiString이라 넘어갈때 아무 문제가 없을것 같은데요..
그래고 님이 말하는 에러도 컴파일 에러가 아니라.
00E0이 들어있는 스트링을 숫자로 변환할때 발생하는 에러가 아닌가요?

님이 사용하는 숫자 데이터를 보건데 추측이지만
16진수를 사용하는 것 같습니다.
이럴경우 그냥 10진수 숫자로 변환하는건 의미도 없고
문자 A~F 가 들어있으면 에러가 뜨는건 당연하겠지요.

이럴때는 "0x00E0"처럼 앞에 "0x"를 붙여서 변환해 보세요.
그럼 될겁니다.

:      Temp1 = StrToInt("0x" + PRead.SubString(1,1));
// 이러면 될거 같은데요..

근데 무엇에 쓰는 코드인지.. ^^;



강영준 님이 쓰신 글 :
: 아래 소스에서 P1Readvalue 에 스트링 값으로 "00E0"이 들어 있을때..
:
: Ponoffchk함수로 넘어 갈경우 에러가 생기드라구요.. "E"를 보낼수 없다그러든거 같든데.
:
: 숫자로만 "0020" 된건 아무 문제 없이 함수를 호출 할수 있는데..
:
: 도대체.. 이넘을 어떻게 해결을 해야 할지 모르겠네요.
:
: AnsiString 이란넘 편할땐 무지 편하드니만.
:
: char *ch[5] 이런걸 다른 함수에다 넘길려면.. 함수를 어떻게 정의해줘야 하나요?
:
:
: void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
: {
:     AnsiString Str;
:
:     ComPort1->ReadStr(Str,Count);
:
:     if(Count != 7) {
:      Str1 = Str1 + Str;
:       if(Count != 7 && Str.SubString(Count,1) == ETX) {
:        P1Readvalue = (Str1.SubString(11,4));
:        P2Readvalue = (Str1.SubString(17,4));
:        P3Readvalue = (Str1.SubString(23,4));
:        Str1="";
:     Ponoffchk(1,P1Readvalue);
: //    Memo3->Lines->Add(P1Readvalue);
:     Ponoffchk(2,P2Readvalue);
: //    Memo3->Lines->Add(P2Readvalue);
:     Ponoffchk(3,P3Readvalue);
: //    Memo3->Lines->Add(P3Readvalue);
:       }
:     }
:     Memo1->Lines->Add(Str);
:     Memo1->Lines->Add(Count);
: }
:
: void __fastcall TForm1::Ponoffchk(int i, AnsiString PRead)
: {
:      int Temp1,Temp2,Temp3,Temp4;
:
:      Memo2->Lines->Add(PRead);
:      Temp1 = StrToInt(PRead.SubString(1,1));
:      Binarychk(i,12,Temp1);
:      Temp2 =StrToInt(PRead.SubString(2,1));
:      Binarychk(i,8,Temp2);
:      Temp3 =StrToInt(PRead.SubString(3,1));
:      Binarychk(i,4,Temp3);
:      Temp4 =StrToInt(PRead.SubString(4,1));
:      Binarychk(i,0,Temp4);
:
: }

+ -

관련 글 리스트
24396 [질문] AnsiString 과연 어떤넘인지요? 강영준 749 2003/02/19
31920     Re:[질문] AnsiString 과연 어떤넘인지요? 강영준 713 2003/02/19
31919     Re:[질문] AnsiString 과연 어떤넘인지요? 김백일.cedar 667 2003/02/19
24404     Re:자답... 강영준 672 2003/02/20
24400     Re:[질문] AnsiString 과연 어떤넘인지요? 꼴.Free 869 2003/02/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.