Entwickler-Ecke

Sonstiges (Delphi) - Von einem Character den ASCII- Code ermitteln


S - tefano - Fr 15.11.02 14:11
Titel: Von einem Character den ASCII- Code ermitteln
Hi,

ich schreib mir zur Zeit ein Programm, mit dem man alles mögliche umrechnen können soll.
Hab schon Binär nach Dez. Dez. nach Binär, dasselbe mit HEX und Dez., und noch nen Teil wo man sich aus ner RGB- Kombination den HTML- Farbencode geben lassen kann.
Jetz wollt ich noch nen Teil machen, wo man durch Leerzeichen getrennte Hexwerte in Buchstaben umwandeln lassen kann, und umgekehrt.
Das muss ja anhand der ASCII-Tabelle gemacht werden.
So, jetz meine erste Frage:
Wenn ich den Hexwert (z.B. 3F oder so) in eine Dezimalzahl umgewandelt habe, kann ich dann einfach sagen

edit1.text:= # + zahlstr; {Zahlstring is der Hexwert in Dezimal als string}

So macht manns ja z.B. wenn man einen Zeilenumbruch machen will (also #13). Funktioniert das mit Text auch?

Und:
Schön und gut, wenn ich Hexwerte nach AsciiTabelle in Text umwandeln kann, aber wie kann ich herausfinden welches Zeichen in der ASCII Tabelle welchem Wert zugeordnet ist?

Danke schonmal,

S - tefano


wwerner - Fr 15.11.02 14:18

chr(wert)


S - tefano - Fr 15.11.02 23:12

Cool, das funktioniert schonmal.
Das Gegenstück zu dieser Funktion scheint ja Ord zu sein.
Jetz hab ich nur ein Problem:
Ich habe eine Zeichenkette (z.B. das Wort "Delphi"), und muss ja jedes einzelne Zeichen für sich kodieren - eben über Ord.
Und Ord akzeptiert ja nur Ordinal und Char- Werte. Aber irgendwie krieg ichs nich hin, den Stringwert (dessen length=1 ist) in einen Char umzuwandeln.
Irgendwie, PChar und so, da kommt dann der Fehler "ungültige Typumwandlung".
Mit welcher Prozedur muss ich das machen bzw. welche Typen kann ich verwenden, die man sowohl der copy-Funktion übergeben kann als auch der ord-Funktion?

Danke schonmal

Estefano


Ex0rzist - Sa 16.11.02 02:14

Hi,

hast du es schon mal mit DeinString[i] versucht?


S - tefano - Sa 16.11.02 14:41

Hi,

danke, klappt wunderbar.

Bis denn,

S - tefano