Ich farge dich noch mal. Was soll das bitte sehr geben?
Delphi-Quellcode:
a:= StrToInt(Edit1.Text);
...;
b:= StrToInt(Edit2.Text);
Warum werden a und b noch mal die Werte aus den Edits zugewiesen? Nur diesmal nicht in ein Float, sondern in ein Integer kovertiert.
Und y1 wird immer noch nicht benutzt aber berechnet. Was soll das?
Kleiner Tipp: Schalt mal den Rechner aus, nimm dir Papier und Bleistift und schreib dir mal in Worten auf, was da passieren soll und zeichne dir das ganze mal grafisch mit einem Flußdiagramm oder so auf. Dann setzt du dich hin und programmierst das noch mal von vorne und laß erstmal alle Sicherheitsabfragen weg, das macht das ganze etwas übersichtlicher. Wenn du das dann hast, kannst du dich um die Feinheiten kümmern.