Hallo Delphi-Freunde,
es ist mir fast etwas peinlich, aber ich steh auf der Leitung. Vielleicht kann mich ja jemand grad runterschubsen.
Ich brauche eine Funktion, mit der ich den ASCII-Wert eines Zeichens ermittle, also im Prinzip die Umkehrung der Funktion CHR(x : Byte). Da ich die Funktion in der Delphi Hilfe nicht finden konnte, habe ich mir folgende Funktion geschrieben:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function TForm1.ASC(cInput : Char) : Byte; var i : Byte; begin Result := 0; for i := 1 to 255 do begin if cInput = Chr(i) then Result := i; end; end; |
Das jeweilige Zeichen ermittle ich aus einem String mittels
Copy(sInput, Index, 1);
Daraufhin krieg ich die Meldung, dass String und Char nicht kompatibel sind. Schon klar, worin das Problem besteht, aber wie umschiffe ich die Klippe? Ich habe eigentlich keine Lust, in der Funktion auch noch zu prüfen, wie viele Zeichen übergeben werden ... sprich, wenn ich die Funktion auf einen String als Übergabewert umbaue, ob dann der String auch wirklich nur ein Zeichen lang ist. Das passt nämlich nicht mehr in die Ergebnismenge meiner Funktion.
Ich danke Euch im Voraus für Eure Lösungsvorschläge.
Gruß
Gregor
Moderiert von
Gausi: Topic aus Sonstiges verschoben am Fr 07.10.2005 um 17:22