Herzlich willkommen in der Delphi-PRAXiS, Tobias.
Das mit der angemessenen Auswahl der Controls für deine Benutzeroberfläche, das wird bestimmt noch. Ansonsten musst du einfach erkennen, dass durch die rekursive Definition der Fibonacci-Zahlen viel zu viele Berechnungen stattfinden, wenn du jede Zahl einzeln berechnest und dann in die ListBox einträgst. Hier hast du etwas zum Studieren:
Delphi-Quellcode:
function Fibonacci(i: cardinal; s: TStrings): cardinal;
begin
if i = 0 then Result := 0
else if i = 1 then Result := 1
else Result := Fibonacci(i - 1, s) + Fibonacci(i - 2, s);
if i >= s.Count then
s.Add(IntToStr(Result));
end;
procedure TDemoForm.RadioGroupClick(Sender: TObject);
var
s: TStrings;
begin
s := ListBox.Items; // short name intro
s.BeginUpdate;
s.Clear; // nachgebessert ...
with Sender as TRadioGroup do
case ItemIndex of
0: Fibonacci(0, s);
1: Fibonacci(5, s);
2: Fibonacci(10, s);
3: Fibonacci(20, s);
end;
s.EndUpdate;
end;
Freundliche Grüße vom marabu