Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   (Buchstabe) ist kein gültiger Integerwert beim Benutzen von ord (https://www.delphipraxis.net/191776-buchstabe-ist-kein-gueltiger-integerwert-beim-benutzen-von-ord.html)

rosen2000 17. Feb 2017 20:22

Delphi-Version: 5

(Buchstabe) ist kein gültiger Integerwert beim Benutzen von ord
 
Hallo,
Ich muss ein Programm zum Dechiffrierung von Caesar-Verschlüsselung schreiben und ich muss den ord eines Buchstabes benutzen. Trotzdem zeigt es aber einen Fehler, den ich nicht verstehe.
Delphi-Quellcode:
function dech (s:string;k:integer):string;
var i,asciinr:integer;
begin
  i:=1;
  while s[i]<>#0 do
    begin
      asciinr:=(ord(s[i]));
        if (asciinr>97) and (asciinr<122) then
          begin
            asciinr:=asciinr-k;
            result[i]:=chr(asciinr);
          end;
        i:=i+1;
      end;
end;
Es meldet sich immer bei
Delphi-Quellcode:
      asciinr:=(ord(s[i]));
Kann mir jemand helfen?:|:|:?

Luckie 17. Feb 2017 20:30

AW: (Buchstabe) ist kein gültiger Integerwert beim Benutzen von ord
 
Ord erwartet einen Char und kein Zeichen aus einem String. Caste das mal nach Char.

rosen2000 17. Feb 2017 20:46

AW: (Buchstabe) ist kein gültiger Integerwert beim Benutzen von ord
 
Zitat:

Zitat von Luckie (Beitrag 1361994)
Ord erwartet einen Char und kein Zeichen aus einem String. Caste das mal nach Char.

Ich habe den Fehler nach 20 Minuten gefunden. Ich habe die Edit Felder verwechselt und habe Buchstaben geschrieben da, wo ich eine Zahl schreiben muss. Ist jetzt korrigiert.
Aber danke für den Tipp. Jetzt gibt es noch ein Paar Fehler aber ich denke ich schaffe die alleine. Vielleicht mit Char gehen sie weg.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 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