var
Str : String;
Byt : Byte;
begin
Str := #$0A;
Byt := Byte(Str[1]); //Byt 에는 $10이 들어가게 됩니다.
Caption := IntToStr(Byte); //Caption에는 '10' 이 찍히게 됩니다.
end;
님이 하신대로 StrToInt로 하시면 안됩니다. (지금과 같은 예제에서는 오류가 나지만 오류가 나지 않는다해도 님이 원하시는 결과가 안됩니다)
가령 Str := #$31;
이상태에서 num := StrToInt(Str); 을 하게 되면 num은 1이라는 값이 들어값니다.
왜냐하면 #$31 = '1' 이기때문입니다. '1'을 strToInt를 취하게 되면 1 즉 $01이 됩니다..(정확히 integer형으로 나타내시려면 $00000001이 되죠) 님이 원하시는 $31을 넣으시려면 Byte로 형변환만 해주시면 됩니다.
단, Byte로 형변환을 시키기 위해서는 1Byte의 데이타형이라야 합니다..
Byte('asdf')이런 것은 안됩니다. 'asdf'는 스트링이고 총 4바이트니깐요...