一个Byte的十六进制字串转整数 function HexToInteger(HexStr: String): Integer; begin HexStr := UpperCase(HexStr); Result := 0; if Length(HexStr) = 0 then Exit; HexStr := StringOfChar('0',2 - Length(HexStr)) + HexStr;
case HexStr[2] of '0': Result := Result + 0; '1': Result := Result + 1; '2': Result := Result + 2; '3': Result := Result + 3; '4': Result := Result + 4; '5': Result := Result + 5; '6': Result := Result + 6; '7': Result := Result + 7; '8': Result := Result + 8; '9': Result := Result + 9; 'A': Result := Result + 10; 'B': Result := Result + 11; 'C': Result := Result + 12; 'D': Result := Result + 13; 'E': Result := Result + 14; 'F': Result := Result + 15; end;
case HexStr[1] of '0': Result := Result + 0; '1': Result := Result + 1 * 16; '2': Result := Result + 2 * 16; '3': Result := Result + 3 * 16; '4': Result := Result + 4 * 16; '5': Result := Result + 5 * 16; '6': Result := Result + 6 * 16; '7': Result := Result + 7 * 16; '8': Result := Result + 8 * 16; '9': Result := Result + 9 * 16; 'A': Result := Result + 10 * 16; 'B': Result := Result + 11 * 16; 'C': Result := Result + 12 * 16; 'D': Result := Result + 13 * 16; 'E': Result := Result + 14 * 16; 'F': Result := Result + 15 * 16; end; end;