Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - inkompatible Typen bei Befehl ord


Christoph Englmann - Di 10.08.04 16:46
Titel: inkompatible Typen bei Befehl ord
hallo,

habe folgenden Quelltext:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.Button1Click(Sender: TObject);


var
  s, test :string;

begin
  test := copy('AAA',2,1);
  S := chr(Inc(Ord(test)));
...
end;

end.


Mein ziel ist es, das AAA zu zerlegen und dann immer eins hoch zu zählen -> d.h. aus AAA soll AAB werden und aus AAZ dann ABA usw....
hierzu wollte ich einfach den String zerlegen und dann halt von rechts nach links einfach immer eins dazuzählen
leider erscheint in der Zeile
S := chr(Inc(Ord(test)));
der fehler inkompatible typen...

danke christoph


Delete - Di 10.08.04 17:40

Was soll der ordinal Wert eines Strings sein? Und wenn man mal in der Hilfe gekuckt hätte nach dem dieser Fehler aufgetreten ist, dann wüßte man, dass man ord nur auf ordinal Typen anwenden kann.


Christoph Englmann - Di 10.08.04 18:04

hallo,

danke für die "freundliche" antwort...
leider hilft mir die relativ wenig weiter bei meinem vorhaben, den ASCII-Wert eines Zeichens zu ermitteln...
sorry,
ich hab auch in die hilfe geschaut, vielleicht bin ich auch einfach zu doof

christoph


Anonymous - Di 10.08.04 18:22

Da ein String aus (fast) beliebig vielen Zeichen bestehen kann kannst du ihn auch nicht einfach so inkrementieren.

Wenn du den ASCII-Wert von einem einzelnen Zeichen haben willst, dann gib noch einen Index an:


Delphi-Quelltext
1:
bla := ord(str[length(str)]);                    


Christoph Englmann - Di 10.08.04 18:49

super,

danke das wars...