Einzelnen Beitrag anzeigen

s-off
(Gast)

n/a Beiträge
 
#2

Re: Ascii in String Convertieren

  Alt 28. Sep 2007, 08:49
Moin,

Zeichen für Zeichen mit Chr() übersetzen

Edit
Ein Beispiel sähe so aus (nicht schön, zeigt aber, wie es geht - die Funktionen zur Ermittlung der Token lassen sich sicherlich schöner gestalten - auch wurde kein Exceptionhandling berücksichtigt!):
Delphi-Quellcode:
Function AsciiToChar(_sValue: String; _cDelimiter: Char): String;
Var
   i: Integer;

   Function ParseString(_cDelimiter: Char; _sString: String; _iCount: Integer): Integer;
   Var
      i: Integer;
      sErgebnis: String;
   Begin
      Result := 0;
      If Length(_sString) > 0 Then Begin
         If _sString[Length(_sString)] <> _cDelimiter Then Begin
            _sString := _sString + _cDelimiter;
         End;
         For i := 1 To _iCount Do Begin
            sErgebnis := Copy(_sString, 0, Pos(LowerCase(_cDelimiter), LowerCase(_sString)) - 1);
            _sString := Copy(_sString, Pos(LowerCase(_cDelimiter), LowerCase(_sString)) + 1, Length(_sString));
         End;
         Result := StrToInt(sErgebnis);
      End;
   End;

   Function CountDelimiters(Const _cDelimiter: Char; Const _sString: String): Integer;
   Var
      i: Integer;
   Begin
      Result := 0;
      For i := 1 To Length(_sString) Do Begin
         If _sString[i] = _cDelimiter Then Begin
            Inc(Result);
         End;
      End;
   End;

Begin
   Result := '';
   For i := 1 To CountDelimiters(_cDelimiter, _sValue) + 1 Do Begin
      Result := Result + Chr(ParseString(_cDelimiter, _sValue, i));
   End;
End;
Aufruf mit:
Delphi-Quellcode:
Procedure TForm1.Button1Click(Sender: TObject);
Const
   sASCII: String = '72,97,108,108,111';
Begin
   ShowMessage(AsciiToChar(sASCII, ','));
End;
  Mit Zitat antworten Zitat