динамически добавляю элементы. Надо, чтобы сначала были все с ImageIndex=0, а потом с 1. Делаю так:
Код:
if s[1]='d' then i:=0
else i:=1; // не обращать внимания, просто определяем ImageIndex по строке
if i=0 then
with lvDirs.Items.Insert(dirCount) do
begin
Caption:=s;
ImageIndex:=i;
inc(dirCount);
end
else
with lvDirs.Items.Add do
begin
Caption:=s;
ImageIndex:=i;
end;
В итоге все добавляется в том же порядке, что и подается. Пробовал Items.insert(2) - тоже не пашет. Почему?..
Делаю иначе:
Код:
var tempitem:TListItem;
...
for i:=0 to lvdirs.items.count-2 do
for j:=i+1 to lvdirs.items.count-1 do
if lvdirs.items.items[i].ItemIndex>lvdirs.items.item[j].ItemIndex then
begin
tempitem:=lvdirs.items.items[i];
lvdirs.items.items[i]:=lvdirs.items.items[j];
lvdirs.items.items[j]:=tempitem;
end;
В результате у меня первый элемент копируется на все или почти все.
Подскажите, че не так? Лучше по первому методу.
з.ы. алгоритм сортировки писал ток что от балды. В проге он был рабочий, я выдрал его из рабочей программы, ток потом удалил. Тут не проверял, но он не суть.