Вверх ↑
Ответов: 262
Рейтинг: 6
#1: 2006-10-02 15:18:39 ЛС | профиль | цитата
Dilma, Сейчас я сделал процедуры для elmen.dll
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. Получаются лишнии проверки и запросы к базе на поиск предыдущего. Разумней следить за соблюдением неразрывности значений позиций при удалении и перемещении.
карма: 0

0