Wenn i 49 ist, macht die Zeile i:=i+i; daraus 98
, Du hättest auch i := i * 2 schreiben können. Außerdem kann man die Funktion CharToInt auch kürzen:
Delphi-Quellcode:
function CharToInt(const C: char): byte;
begin
Result := 0;
case C of
'1'..'9': Result := Ord(C) - 48;
end;
end;