Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

delphi: hexcode umwandeln in buchstabe





Frage

hi ich möchte aus dem hexcode eines buchstabens wieder den buchstaben erhalten. den hexcode des buchstabens erhalte ich mit dem befehl "a:=inttohex(ord(ein[i]),1)" (a ist als string definiert, ein ist der text, von dem ich alle buchstaben in einer schleife in hexcodes umwandle, auch als string definiert). hat jemand eine idee, wie ich auch diesen so erhaltenen hexcodes wieder den ursprünglichen text erhalten kann? noob

Antwort 1 von drago

Deine Fragestellung verstehe ich nicht ganz.

Die Funktion intToHex liefert doch einen String...
Du willst also aus einem String einen String machen.
Also:
"US-Dollar nach Euro" und dann
"Euro nach Euro" umrechnen.....

Diesen zurückgelieferten String, kansst du 1:1
weiterverwenden, z.B. als Label-Überschrift.

z.B.

procedureTForm.Button1Click(sender:TObject);
var
zahl:integer;
test:string;

begin
zahl:=122;
test:=inttohex(zahl,2);
label1.caption:=test;
end;


end;



.

Antwort 2 von _gau_

chr($hexcode)

mfg, [gau]

Antwort 3 von _gau_

@drago
Ich hab's so verstanden, daß er einfach die Umkehrfunktion haben will... ;-)

mfg, [gau]

Antwort 4 von _gau_

Natürlich gibt es da das Problem, dabei die aufeinanderfolgenden Hexstrings in die einzelnen (jeweils einen Character repräsentierenden) Stücke aufzuteilen.
Man müßte also entweder irgendein Trennzeichen dazwischen haben oder vielleicht bei der vorherigen Umwandlung eine definierte Länge einstellen. Z.B. mit inttohex(...,4) und dann abzählen...

mfg, [gau]

Antwort 5 von _gau_

Obwohl mir grad einfällt, wenns nur um den normalen Zeichensatz geht (33 bis 255), dann sind die entstehenden Hexstrings ja eh immer zweistellig.

mfg, [gau]

Antwort 6 von delphi-noob

wunderschönen sonntag allerseits

ich danke euch! meine fragestellung war wohl tatsächlich etwas verwirrend. aber gau hat mich richtig verstanden: ich habe die funktion aufgeschrieben und die umkehrfunktion gesucht.

wenn ich nun aber tippe:
ch:='$'+hexcode;
aus:=char(ch);

so erscheint die fehlermeldung "incompatible types: 'Char' and 'String'", da ich ch als char und hexcode als string definiert habe. weiss jemand, wie ich das hinkriege?

noob

Antwort 7 von delphi-noob

*nach oben*

Antwort 8 von delphi-noob

*nochmal schieb*

Antwort 9 von delphi-noob

*und nochmal*

Antwort 10 von drago

Brauchst du den Code als Zeichenformat
oder als Mathematischen Wert.
Das kann ich aus deiner Äußerung nicht erkennen.

Wie willst du den String weiterverarbeiten ?

.

Antwort 11 von delphi-noob

ich brauch den code als string, sofern ich mich richtig ausdrücke. ich mache ein beispiel. der code lautet (wie schon oben):

ch:='$'+hexcode;
aus:=char(ch);


in der variablen "hexcode", die als string definiert ist (hat damit zu tun, dass ich die zwei zeichen aus einem text-string herauslese), steht zum beispiel "6E". da möchte ich noch ein $ vorne dran hängen, damit es dann "$6E" heisst. die zweite zeile sollte mir dann aus dem hex-code den buchstaben n ausgeben und diesen in der variablen aus (als string definiert) speichern.

noob



Antwort 12 von _gau_

chr (oder char) akzeptiert natürlich keine Strings. Also nochmal ummodeln...

aus := chr(strtoint(ch));

Naja, ziemliches Hin-und-her. Weiß nicht, ob das auch einfacher, kürzer, schneller geht... Bin nicht so der Delphi-Coding-Freak ;-)

[gau]

Antwort 13 von _gau_

PS:
In meinem Beispiel ist ch natürlich ein String, damit man hexcode und $ erstmal zusammenpappen kann...

Antwort 14 von delphi-noob

juhuuu. vielen dank, gau! es funktioniert noch nicht 100prozentig so, wie ich es will, aber jetzt kriege ich es hin. auf jeden fall war es genau das, was ich gesucht habe.

vielen dank!

PS: ich bin mir ziemlich sicher, dass das einfacher geht. aber da ich auch nicht delphi-freak bin, bin ich mir solche umgangsmethoden bestens gewohnt ;).

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: