|
SubString 의 두번째인자는 인덱스가아니라 첫번째 인자인 인덱스에의 상대 길이입니다.
그리고 핵사값으로 "12"가 들어오면 앞에 "0x" 를 붙이고 StrToInt 하면됩니다.
수신되는 데이터의 포멧이있어야 정확하게 알겠네요.
Rkluv 님이 쓰신 글 :
: 안녕하세요 아래와 같이 문의드립니다.
:
: 장비에서 넘어오는 16진수 data를 10진수로 변환하려고 합니다.
:
: AnsiString CMD;
:
: AnsiString temp16;
: AnsiString hum16;
: AnsiString temp10;
: AnsiString hum10;
: AnsiString tpv;
: AnsiString hpv;
:
: CMD.sprintf("%c%s%c%c\n", 0x02, "002RCV", 0x03, 0x0D);
: WriteCmd2(CMD);
: Read2();
: temp16 = sResult2.SubString(15,16);
: hum16 = sResult2.SubString(21,22);
: temp10 = StrToInt(temp16);
: hum10 = StrToInt(hum16);
: tpv = (temp10/100)-100;
: hpv = (hum10/10);
:
: sLabelFX15->Caption = tpv;
: sLabelFX16->Caption = hpv;
:
: 컴파일 에러는 없는데 장비가 없어서 직접적으로 테스트는 못해보고 있습니다.
: 코드상 이상이 없는지 확인하고 싶습니다 . 감사합니다.
:
|