die Ord Function führt einen cast durch. Jetzt denke ich allerdings das du das auch nicht verstehst.
Also:
Beim Computer gibt es Datenspeicher und darauf sind Bytes die aneinander gereiht da liegen.
Wie man diese jetzt interpretiert ist Sache des Programmierers. Du kannst hintereinander liegende Bytes als String, Wort, Kommazahl, kleine Ganzzahl, große Ganzzahl etc. interpretieren. Und Ord macht nichts anderes als den übergebenen Wert als Ordinalwert (Zahlenwert) zu interpretieren. Wenn du ord also ein 's' übergibst, ist das s ja auch nur ein Byte was in deinem Fall als Buchstabe interpretiert wird aber letztendlich ist es nur eine Ansammlung von Bits. Wenn du ord das s übergibst bekommst du die bits von 's' als zahl interpretiert zurück gegeben. Das gleich kannst du auch durch einen direkten cast erreichen:
Delphi-Quellcode:
zahl := byte('s'); //ein cast, man sagt das 's' als byte interpretiert werden soll
zahl := ord('s'); //funktionsaufruf - durch compilermagie/optimierung intern auch nur ein cast
umgekehrt geht es natürlich auch das du den speicher einer zahl als zeichen interpretierst und einer neuen Variablen zuweist:
zeichen := char(65); //ist glaub ich ein große A