![]() |
Wie kann man den Asciiwert errechnen
hallo zusammen,
ich hab gelesen, dass man ja ganz einfach den Asciiwert über die funktion ord() holen kann. Das hier scheint zu funktionieren x := ord('A') ; //rückgabe 65 Aber wie mache ich das die Werte aus einem String ausgelesen werden ? Da kommt ein Error: inkompatible typen Was muss ich machen, damit der String passt? Danke für jede Hilfe! Lingneu
Delphi-Quellcode:
Procedure HF.btn_testclick(Sender: TObject);
var asc: integer; text: string; begin text := 'ABC'; asc := ord(copy(text,1,1)); //asc := ord(text[1]); end; |
AW: Wie kann man den Asciiwert errechnen
ungetestet ungefähr so?
Delphi-Quellcode:
Ord kann nur mit einem Zeichen umgehen, nicht jedoch mit einem String oder Substring, wie ihn Copy liefert, daher hilft hier das Konstrukt mit [x], als Positionsangabe für das ausgewählte Zeichen innerhalb eines Strings.
var
s : String; i : Integer; ch : Char; asc : Integer; begin s := 'ABCDEF'; for i := 1 to Length(s) do begin ch := s[i]; asc := Ord(ch); end; // oder for i := 1 to Length(s) do begin asc := Ord(s[i]); end; end; |
AW: Wie kann man den Asciiwert errechnen
@nahpets,
DANKE! Funktioniert wunderbar! Was ich jetzt noch bräuchte wäre die Möglichkeit, diesen Asciiwert, der ja ein Integer ist in einer For-Schleife zu verwenden
Delphi-Quellcode:
Leider krieg ich hier die Meldung
var
s : String; i : Integer; ch : Char; asc : Integer; begin s := 'ABCDEF'; for i := 1 to Length(s) do begin asc := Ord(s[i]); end; // ZUSATZ for i := 1 to asc do begin // mach was end; end; "FOR Schleifenvariable muss eine einfache Variable sein" Die Variable asc ist doch auch eine Integer? Gruß LingNeu |
AW: Wie kann man den Asciiwert errechnen
Keine Ahnung, was du da gemacht hast.
Wenn du es genauso benutzt, wie es da steht, kann höchstens die Meldung kommen, das "asc" nicht initialisiert ist und "ch" nicht benutzt wird. Die For-Schleifen Variable ist "i" und hat schon in der Schleife davor funktioniert. Abgesehen davon, wird der Source vermutlich nicht das machen, was du gerne haben möchtest. asc hat nach der ersten Schleife den ASCII-Code von F. Alle anderen ASCII-Codes spielen in der zweiten Schleife keine Rolle. |
AW: Wie kann man den Asciiwert errechnen
Danke!
Fehler gefunden. Es lag an mir, habe mich vertippt! Es stimmt also ... das Problem sitzt vorm Bildschirm :-D gruß LingNeu |
AW: Wie kann man den Asciiwert errechnen
Der Fehler muss wo anderst sein, den die Schleifenvariable ist i nicht asc.
Aber ich vermute mal, Du benötigst 2 verschachtelte Schleifen, den du hast ja für jedes Element des Strings einen ASCII-Wert und in Deinem Fall wird ja die 2. Schleife nur für den letzten ASCII-Wert durchgeführt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:28 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