procedure MoveEl(id: pchar; nPos:Integer);
procedure MoveTab(name: pchar; nPos:Integer);
перемещают элемент и вкладку на указанную позицию.
И процедуры для hitools.dll:
procedure ShiftTab(name, fdir:pchar; ShiftPos:Integer);
procedure ShiftEl(ElId, fdir:pchar; ShiftPos:Integer);
ShiftPos знаком указывает направление сдвига.
В принципе сделать из двух четыре процедуры несложно.
[size=-2]------ Добавлено в 15:18
Dilma писал(а):
При удаление элемента ничего декрементировать не надо: какой в этом смысла как тогда разрулить ситуацию: pos=1,2,3,4,5,6 удалили 3 и 4 получили pos=1,2,5,6. Теперь необходимо сдвинуть 5 на одну позицию вверх. т.е 5-1=4? или 5-х=2. Получаются лишнии проверки и запросы к базе на поиск предыдущего. Разумней следить за соблюдением неразрывности значений позиций при удалении и перемещении.