Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
Delphi 7 Enterprise
|
Re: ANSI-Hex-String ---> Ansi-String
21. Jan 2005, 11:03
Ok noch ne Möglichkeit:
Delphi-Quellcode:
Const cHexDig: Set Of Char = [ ' A', ' a', ' B', ' b', ' C', ' c',
' D', ' d', ' E', ' e', ' F', ' f',
' 0', ' 1', ' 2', ' 3', ' 4', ' 5',
' 6', ' 7', ' 8', ' 9' ];
Function CheckHexChar( Input: Char ): Char;
Begin
Result := Input;
If Not( Input In cHexDig ) Then Raise Exception.Create( ' Char is not a HexChar' );
End;
Function HexStringToString( Const Input: String ): String;
Var i, Start: Integer;
Begin
Try
If Not( Length( Input ) Mod 2 = 0 ) Then Begin
Start := 2;
Result := Chr( StrToInt( ' $' + CheckHexChar( Input[ 1 ] ) ) );
End Else Begin
Start := 1;
Result := ' ';
End;
For i := Start To ( Length( Input ) ) Do Begin
If ( ( Start = 1 ) And ( Not( i Mod 2 = 0 ) ) ) Then Begin
Result := Result+ Chr( StrToInt( ' $' + CheckHexChar( Input[ i ] ) +
CheckHexChar( Input[ i + 1 ] ) ) );
End Else If ( ( Start = 2 ) And ( i Mod 2 = 0 ) ) Then Begin
Result := Result+ Chr( StrToInt( ' $' + CheckHexChar( Input[ i ] ) +
CheckHexChar( Input[ i + 1 ] ) ) );
End;
End;
Except
On Error: Exception Do Begin
Error. Message := ' HexStringToString - Error:'#13#10 + Error. Message;
Raise;
End;
End;
End;
Gibts noch was besseres?
Bye
Christian
|
|
Zitat
|