AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie kann man den Asciiwert errechnen
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man den Asciiwert errechnen

Ein Thema von LingNeu · begonnen am 10. Sep 2015 · letzter Beitrag vom 11. Sep 2015
Antwort Antwort
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#1

Wie kann man den Asciiwert errechnen

  Alt 10. Sep 2015, 18:20
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;
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Wie kann man den Asciiwert errechnen

  Alt 10. Sep 2015, 18:40
ungetestet ungefähr so?
Delphi-Quellcode:
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;
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.
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Wie kann man den Asciiwert errechnen

  Alt 11. Sep 2015, 07:25
@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:
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;
Leider krieg ich hier die Meldung

"FOR Schleifenvariable muss eine einfache Variable sein"
Die Variable asc ist doch auch eine Integer?


Gruß LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.354 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Wie kann man den Asciiwert errechnen

  Alt 11. Sep 2015, 07:37
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.
Peter
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Wie kann man den Asciiwert errechnen

  Alt 11. Sep 2015, 07:39
Danke!
Fehler gefunden. Es lag an mir, habe mich vertippt!

Es stimmt also ...
das Problem sitzt vorm Bildschirm

gruß
LingNeu
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Wie kann man den Asciiwert errechnen

  Alt 11. Sep 2015, 07:41
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz