|
发表于 2011-12-1 08:41:33
|
显示全部楼层
//网上找来的...传输模式设为BinAry //触发接收事件的字数设为1(MSComm1.RThreshold:=1;)
Function Str_HexToInt(Hex: String): integerVar HexDigital: Set Of char;
i: integer;
Digital: String;
Begin
Result := 0;
HexDigital := ['1', '2', '3', '4', '5', '6', '7', '8','9',
'0', 'A', 'B','C','D', 'E', 'F', 'a', 'b', 'c', 'd', 'e', 'f'];
If Length(Hex) = 0 Then Exit;
For i := 1 To Length(Hex) Do
Begin
Digital := Copy(Hex, i, 1);
If (i = 1) And (digital = '$') Then Continue;
End;
Digital := Copy(Hex, 1, 1);
If Digital <> '$' Then Hex := '$' + Hex;
//Result := StrToInt(Hex);
Str_HexToInt:=StrToInt(Hex) ;
End;
//+++++++++++++++++++++++++++++++++++++++++++++++++++
function HexCharToInt(HexToken : char):Integer;
begin
{if HexToken>#97 then HexToken:=Chr(Ord(HexToken)-32);
{ use lowercase aswell }
Result:=0;
if (HexToken>#47) and (HexToken <#58) then { chars 0....9 }
Result:=Ord(HexToken)-48
else if (HexToken>#64) and (HexToken <#71) then { chars A....F }//??91
Result:=Ord(HexToken)-65 + 10;
end; |
|