Thema: Delphi Umgang mit RadioGroup

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Umgang mit RadioGroup

  Alt 11. Mai 2007, 18:40
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
  Mit Zitat antworten Zitat