Was passiert, wenn Du
Zitat:
y:= StrToInt(Copy(Edit1.Text,0,1));
in
y:= StrToInt(Copy(Edit1.Text,1,1));
änderst? Eine weitere Fehlerquelle wäre sTemp, aber da das anscheinend eine globale Variable ist, kann man im Code nicht sehen, was drinstehen könnte.