Q&A

  • 16진수 문제
안녕하세요 델파이 초보입니다..
다시질문 드리겠습니다..

ini 파일에 16진수를 그대로  String 으로 변환해서 생성했습니다.
[Parsing]
Config=AF    <=이런식으로요...

이걸 프로그램에서 순수하게 $AF 로 읽을수 있나요....
부탁드립니다ㅣ
5  COMMENTS
  • Profile
    최용일 2008.03.05 22:40
    쩝~ 아래 답변해 드린것처럼 문자열로 읽어서 정수로 변환해서 쓰시면 됩니다.

    S := 'AF';
    I := StrToInt( '$' + S);
    ShowMessage( I );
    ShowMessage( IntToHex( I , 2) );

  • Profile
    한정우 2008.03.05 22:59
    제가 말씀드린내용은
    16진수 그대로 44[정수 68] 이라는 값을
    저장 하고 이값을 임포트를 하면
    Str:='44';
    [Hex:=intTostr('$'+Str =>2C  16진수로  변경됩니다. ]

    제가 묻고싶은것은 String 44 [정수 68] 를 16 진수 $44[정수 68] 로   형변환을 하고 싶습니다.
    근데 이게 쉽지가 안아서요...
    죄송하지만 다시 한번만 부탁드릴게요.
  • Profile
    한정우 2008.03.05 23:58
    제가 조금 수정했습니다.
    델마당에 사이비님 이 올려주셨습니다.
    <!--CodeS-->
    function HexConvert(s : string) : byte;
    var
       i1, i2,HexConvert : Integer;
       Convert1:string;
    begin
         s := UpperCase(s);
         i1 := 0;
         i2 := 0;
         Case s[1] of
              `0`..`9` : i1 := StrToIntDef(s[1],0);
              `A`..`F` : i1 := (Ord(s[1]) - Ord(`A`) + 10);
         end;
         Case s[2] of
              `0`..`9` : i2 := StrToIntDef(s[2],0);
              `A`..`F` : i2 := (Ord(s[2]) - Ord(`A`) + 10);
         end;
         HexConvert := i1 * 16 + i2 ;
         Convert1:=intTohex(HexConvert,2);
         Result:=strToint(`$`+Convert1);
    end;
    <!--CodeE-->
  • Profile
    최용일 2008.03.06 02:35
    쩝~ 몇번을 알려드렸는데 이해를 못하시는군요...

    님께서 적으신 코드는 아래와 같이 간단히 할 수 있습니다.

    <!--CodeS-->
    function HexConvert(s : string) : byte;
    begin
      Result := StrToInt('$' + s);
    end;
    <!--CodeE-->

  • Profile
    한정우 2008.03.06 08:25

    감사합니다.
    이제야 이해했습니다.