Guten Morgen,
vielleicht musst du noch eine Kleinigkeit anpassen, aber vom Prinzip her sollte es so funktionieren:
Delphi-Quellcode:
procedure ExtractGroups(li: TListItems; index: Word; s: TStrings);
var
i: Integer;
sGroup, sTest: String;
begin
s.Clear;
sGroup := '';
for i := 0 to Pred(li.Count) do
begin
sTest := IfThen(index = 0, li[i].Caption, li[i].SubItems[Pred(index)]);
if (i = 0) or (sTest <> sGroup) then
begin
sGroup := sTest;
s.Values[sGroup] := IntToStr(i);
end;
end;
end;
procedure TDemoForm.GroupsButtonClick(Sender: TObject);
begin
ExtractGroups(ListView.Items, ValueListEditor.Strings);
end;
Grüße vom marabu