Q&A

  • intToHex함수 사용시 에러
소스는 도움말에 있는 소스를 사용했습니다.
어떤 과정을 제가 빼먹어서 에러가 나는건지. 그리고 예저ㅔ의 intToHex(Edit1.Text[1],2);의
2는 무얼 의미하는 지요
델파이 버전은 6.0입니다.

에러메시지 : [Error] Unit1.pas(36): There is no overloaded version of 'IntToHex' that can be called with these arguments

var
  i: Integer;
begin
  Label1.Caption := '';
  for i := 1 to Length(Edit1.Text) do
  begin
    try
      Label1.Caption := Label1.Caption + IntToHex(Edit1.Text[i],2) + ' ';
    except
      Beep;
    end;
  end;

4  COMMENTS
  • Profile
    미스터박 2003.12.27 05:07

    많이 사용해 보았지만 에러는 없습니다.
    뒤쪽의 2는 4bit 단위의 2자리만 보여주는 것이지요
    그러니까 2를 사용하면 1byte값만 display되는 것입니다.


  • Profile
    LuckyBoy 2003.12.27 00:09
    일단 Error 가 나는 것은 Edit1.Text 는 String 입니다.
    그런데.. IntToHex를 사용하면 당연히 Error 가 발새하겠죠??
    그럼 어떻게 하면 Error 가 안날까요.. 당연 IntToHex(StrToInt(Edit1.Text), 2) 이렇게 사용해야 겠죠..
    그리고 뒤의 2는 핵사값을 2자리로 표현하라는 말입니다.
    만일 IntToHex(10,2)의 값은 0A 가 되겠죠..
    만일 IntToHex(10, 4)의 값은 000A 로 표현됩니다..

    그럼 즐프하세요..

  • Profile
    초보에요 2003.12.27 01:42
    IntToHex(Ord(Edit1.Text[i]),2)
    로하니 결과가 제대로 나옵니다.
    IntToHex(StrToInt(Edit1.Text[i]),2)의 경우
    컴파일은 이상없는데 실행시 에러가 나네요.
    초보라 원인은 아직 모르겠습니다.
  • Profile
    초보에요 2003.12.27 01:36
    감사합니다.