![]() |
ANSI-Zahl eines Zeichens auslesen
Hallo,
ich möchte in einem kleinen Editierfeld ein Wort oder auch nur einen Buchstaben eingeben und nach dem ENTER den ANSI oder ASCII oder auch Unicode-Wert dieses Zeichens in einem anderen Editierfeld ausgeben. bisher habe ich folgenden Code: [delphi] var mZeich, mWort : string; mAnsi : integer; begin if key = #13 then begin mWort := EingEdit.Text; mZeich:=copy(mWort,1,1); mAnsi := Ord(mZeich); ErgEdit.Text := FloatToStr(mAnsi); end; end; end. Programm geht nicht! In der mAnsi:=Ord(mZeich); fliege ich raus, Variable wären nicht passend ... Bei Ord('A') kommt korrekt 65 heraus, ist in Quote-Mode, geht das mit einer Variable nicht? Noch'n Problem: Wie kann man in einem DELPHI-Programm den griechischen Buchstaben ALPHA oder BETA oder PI eingeben, wo sind die denn? Gruß Foxgrove |
Re: ANSI-Zahl eines Zeichens auslesen
Hallo Foxgrove,
ein String ist vergleichbar mit einem array of char, allerdings beginnt der Index nicht bei 0, sondern bei 1:
Delphi-Quellcode:
Die Sonderzeichen findest du, indem du dir bei deinem TEdit-Control im Object Inspector die Eigenschaft Font anschaust und dann mit dem Windows-Tool "Zeichentabelle" diesen Font anschaust. Fahre mit der Maus auf das Zeichen, welches du brauchst, klicke es an und übernehme es in die Zwischenablage. In der Text-Eigenschaft deines Controls kannst du dann die ausgewählten Zeichen aus der Zwischenablage übernehmen. Wenn die gewünschten Zeichen nicht im Standard-Zeichensatz enthalten sind, dann kannst du auch im TEdit den für dich richtigen Font einstellen.
var
i: Integer; s: String; begin s := 'Foxgrove'; for i := 1 to Length(s) do ShowMessage(Format('Zeichen %d ist "%s" und hat den Code %d', [i, s[i], Ord(s[i])])); end; Freundliche Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz