Einzelnen Beitrag anzeigen

Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: ANSI-Hex-String ---> Ansi-String

  Alt 21. Jan 2005, 10: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
  Mit Zitat antworten Zitat