Вверх ↑
Этот топик читают: Гость
Ответов: 262
Рейтинг: 6
#16: 2006-10-02 17:49:54 ЛС | профиль | цитата
К сожалению Dll-ки для меня темный лес поэтому просто код.
code_363
карма: 0

0
файлы: 1code_363.txt [1.4KB] [513]
Ответов: 2125
Рейтинг: 159
#17: 2006-10-02 18:20:42 ЛС | профиль | цитата
При таком интерфейсе задачи поменять два элемента местами нет
А как-же Drag&Drop ?
карма: 1

0
Администрация
Ответов: 15295
Рейтинг: 1519
#18: 2006-10-02 18:25:31 ЛС | профиль | цитата
tsdima, данная операция не поддерживается ни одним hiasm компонентом
карма: 27
0
Ответов: 262
Рейтинг: 6
#19: 2006-10-03 06:30:41 ЛС | профиль | цитата
Dilma, точно. А вот процедуру MoveEl я специально сделал так, что она может передвигать элемент не только вверх вниз, а на любую позицию во вкладке. В надежде что в версии HIAsm 5.0 появиться драг анд дроп

[size=-2]------ Добавлено в 06:30
tsdima, а задача поменять будет в любом случае, к сожалению Драг и дроп не работает напрямую с таблицами и врядли сочинит SQL запрос.
карма: 0

0
Администрация
Ответов: 15295
Рейтинг: 1519
#20: 2006-10-04 04:02:03 ЛС | профиль | цитата
Chesh, замена не должна знать ни о каких позициях. А именно:
MoveEl(FromID, ToID)[/code]
т.е. интерфейс, реализующий обмен двух элементов по их именам. Никакого знания об их позиции не требуется.
карма: 27
0
Ответов: 262
Рейтинг: 6
#21: 2006-10-04 09:44:20 ЛС | профиль | цитата
Dilma т.е. согласно ТЗ, вместо того чтобы пересадить Васю на место 3, надо пересадить Васю на место Коли ? ...хмм
Вижу два варианта развития событий:
1. среда возвращает имена двух элементов в плагин.
- тогда вообще теряется смысл процедур MoveToUp и MoveToDown о которых говорилось выше.
Есть плюс - выглядит весьма компактно и универсально. Причем одна процедура MoveTo позволит перемещать элементы не тоько в одной вкладке но и между вкладок.
Есть минус - среде прийдется отыскивать имя второго элемента(ToID) что при наличии Drop&Drop проблемы не создаст. А вот при нажатии пункта меню "Переместить вверх" окажется не так уж просто(наверно ? ).

2. Среда возвращает только одно имя FromID в плагин.
тогда прийдется в ElMen.dll сделать
function FindNextEl(ElID: Pchar): PChar;
function FindPrevEl(ElID: Pchar): PChar;
а в hitools.dll тогда
procedure MoveToUpEl(FromID: PChar);
ToID: PChar;
begin
openDB...
ToID:=FindPrevEl(ElID);
MoveTo(FromID,ToID);
end;

И первый и второй вариант просто реализовать. Как бы только определиться с направлением.

[size=-2]------ Добавлено в 09:44
MoveEl(FromID, ToID) code_373
карма: 0

0
файлы: 1code_373.txt [1.3KB] [576]
Администрация
Ответов: 15295
Рейтинг: 1519
#22: 2006-10-04 21:29:49 ЛС | профиль | цитата
Лучше так:
MoveEl(FromID, ToID)
MoveUp(ID)
MoveDown(ID)
карма: 27
0
Ответов: 262
Рейтинг: 6
#23: 2006-10-09 08:12:53 ЛС | профиль | цитата
Пока с работой среды не все ясно http://hiasm.hexshock.com/xf/topic.php?t=6778&start=0.
Выкладываю перемещение вкладок и элементов в виде примера. sqlite3.dll - необходима для работы.
карма: 0

0
файлы: 1Elem03b.zip [61.1KB] [319]
Ответов: 262
Рейтинг: 6
#24: 2006-10-12 18:14:35 ЛС | профиль | цитата
Dilma, хотел спросить как там с работой HIPlugs? может можно скачать обновления HIAsm(касательно вкладок и элементов). К сожалению так и не получилось узнать индекс или ID элемента на панели элементов через Desktop.
И с dll, содержащимми HiPlugs. По наблюдениям, если есть больше одного плагина содержащего HIPlugs в папке intplugs - HiAsm работает нестабильно. Через 10-15 мин активной работы произвольная страница(проект, паскалевский текст или редактор ini) отказывается закрываться. После этого HIAsm приходиться "убивать" ч/з диспетчер задач.
карма: 0

0
24
Сообщение
...
Прикрепленные файлы
(файлы не залиты)