Außerdem sollte man die Logik von der Darstellung trennen, d.h. es wäre besser, sich für die einzelnen Anforderungen (Summe, Mittel, etc.) jeweils eine Funktion zu schreiben und diese dann aufzurufen. Beispiel für die Summe:
Delphi-Quellcode:
function SumFromStrings(const s: TStrings): double;
var i: integer;
begin
Result := 0;
for i := 0 to s.Count - 1 do
Result := Result + StrToFloat(s[i]);
end;
Der Aufruf wäre dann z.B.
Edit1.Text := FloatToStr(SumFromStrings(Memo1.Lines));
Wobei ungültige Zeilen hier nicht berücksichtigt werden.