티스토리 뷰

반응형

델파이로 통신 프로그램 개발하다보면 흔하게 사용하는 함수죠.

디버깅 등 덤프를 떠야 할 때도 자주 사용하죠.

그런데 막상 필요할 때 찾으면 잘 보이지가 않아요. ㅎ

 

제 PC에서는 잘 동작되는 함수이나,

사용하여 보시고 보완해야 할 사항이 있으시면 댓글 남겨 주세요.

[ 함수 본문 ] Byte로 구성된 문자열을 Hexa 문자열로 변환하여 반환.

//
// Byte로 구성된 문자열을 Hexa 문자열로 변환
//
function ValueToHex(const S: AnsiString): AnsiString;
var i: Integer;
begin
  SetLength(Result, Length(S)*2); // 문자열 크기를 설정
  for i:=0 to Length(S)-1 do begin
    Result[(i*2)+1]:= HexaChar[Integer(S[i+1]) shr 4];
    Result[(i*2)+2]:= HexaChar[Integer(S[i+1]) and $0f];
  end;
end;

 

[ 함수 본문 ] Hexa 문자열을 Byte로 구성된 문자열로 변환하여 반환.

//
// Hexa 문자열을 Byte로 구성된 문자열로 변환
//
function HexToValue(const S: AnsiString) : AnsiString;
var i: Integer;
begin
  SetLength(Result, Length(S) div 2);
  for i:=0 to (Length(S) div 2)-1 do begin
    Result[i+1] := AnsiChar(StrToInt('$'+Copy(S,(i*2)+1, 2)));
  end;
end;

 

반응형
댓글