Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - ord-Funktion
Prophet- - Sa 29.11.08 12:05
Titel: ord-Funktion
Hallo Leute, ich will ein Programm schreiben, dass mir, wenn ich in einem Edit einen Buchstaben eingebe, mir die zugehörige Zahl der ASCII-Tabelle ausgibt. Nur kommt bei mir der Fehler 'inkompatible Typen'. Was mache ich falsch?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| function asc(buchstabe:string):integer; begin result:=ord(buchstabe); end;
procedure TForm1.Button1Click(Sender: TObject); var buchstabe:string; begin buchstabe:=edit1.text; label1.caption:=inttostr(asc(buchstabe)); end; |
Moderiert von
Christian S.: Quote- durch Delphi-Tags ersetzt
platzwart - Sa 29.11.08 12:12
ord nimmt als parameter einen character auf, keinen string! du kannst nämlich den ascii code nur von einem einzelnen zeichen (char) anzeigen lassen, nicht von einer zeichenkette (string).
zusammengefasst: ändere den typ auf char
jaenicke - Sa 29.11.08 12:22
Und auf die einzelnen Buchstaben kannst du wie in einem Array zugreifen. Zum Beispiel:
Delphi-Quelltext
1: 2:
| buchstabe[1] edit1.text[1] |
Damit bekommst du jeweils den ersten Buchstaben. So kannst du ggf. mit einer Schleife alle Buchstaben durchgehen.
wazap - Sa 29.11.08 17:16
Warum so kompliziert? Mach doch einfach Label1.Caption := IntToStr(Ord(Edit1.Text[1]));
alzaimar - Sa 29.11.08 19:45
wazap, das ist doch genau das, was hier vorgeschlagen wurde. Nur ist deine Lösung unübersichtlicher, was angesichts des Kenntnisstandes des Fragestellers offensichtich kontraproduktiv ist.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!