Wäre
y:= StrToInt(Edit1.Text[1]);
nicht etwas lesbarer?

Es würde außerdem die Fehlerquellen minimieren.
Genauso kannst du Edit1.Text direkt String2 zuweisen.
String2 := Edit2.Text;
Edit:
Das Beste wäre eine Eingangsprüfung auf Leerstrings. Oder TryStrToInt.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.