Thema: Delphi Reihenfolge TToolbutton

Einzelnen Beitrag anzeigen

Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.334 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Reihenfolge TToolbutton

  Alt 27. Mai 2007, 17:35
Beim Probelauf fallen die Schuppen von den Augen:

      while j< tb.buttoncount-1 do ist falsch. Entweder

      while j<= tb.buttoncount-1 do oder
      while j< tb.buttoncount do muss da stehen, weil der letzte Toolbutton sonst nicht einsortiert wird.

Und "mein" Code konnte nicht funktionieren, weil in Deinem Programm die entsprechende Zählvariable nicht i sondern b ist. Du hattest aber nur in der for-Anweisung das i gegen b ausgetauscht.

Delphi-Quellcode:
for b := 0 to tb.ButtonCount - 1
do begin
  j := 0; // <== hier wäre j := b; sinnvoller

  while (tb.Buttons[j].Tag <> i) and (j < tb.ButtonCount - 1)
  do inc (j);

  if tb.Buttons[j].Tag = i // <== da muss auch b stehen
  then begin
    tbtn := tb.Buttons[j];
    tbtn.Left := tbtn.Tag * tb.ButtonWidth;
  end;
end;
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat