Wie muss ich den Code von toms eigentlich erweitern damit auch Untermenüs alphabetisch sortiert werden? Ich habe den Code schon etwas erweitert, nur leider wird immer das letzte Untermenü nicht mehr sortiert. Wo ist mein Denkfehler?
Delphi-Quellcode:
procedure SortPopupMenu(PopupMenu: TPopupMenu);
var
n1, n2 : Integer;
m1, m2 : Integer;
mi1, mi2 : TMenuItem;
begin
with PopupMenu, Items do
begin
for n1 := 0 to Count - 1 do
begin
for n2 := n1 + 1 to Count - 1 do
begin
if Items[n1].Caption > Items[n2].Caption then
begin
mi1 := Items[n2];
Delete(n2);
Insert(n1, mi1);
for m1 := 0 to Items[n1].Count - 1 do
begin
for m2 := m1 + 1 to items[n1].Count - 1 do
begin
if items[n1].items[m1].Caption > items[n1].items[m2].Caption then
begin
mi2 := Items[n1].Items[m2];
Items[n1].Delete(m2);
Items[n1].Insert(m1, mi2);
end;
end;
end;
end;
end;
end;
end;
end;