1

Тема: HTA: правка пользователем группы настроек интерфейса

Хочу в свою HTA добавить пользовательскую панель инструментов, т.е. чтобы пользователь не правкой инишки, я не выходя из ПО, мог добавить в приложение свою кнопку, дать ей иконку, название/подпись/стиль и назначить командную строку.

Что-то наподобие того как в HTA: LAN Administrator http://forum.script-coding.com/viewtopic.php?id=7719 коллеги mozers запускаются команды для хоста из выпадающего меню по подготовленному ранее .ini.

Набор команд в виде меню меня не устраивает, я задумываю так - в форме будет настраиваемый пользователем слой, в который он легко через дополнительный интерфейс приложения добавляет/переставляет/правит самые частоприменяемые им кнопки-команды, т.е. чтобы они были всегда под рукой - без лазания в меню.

Пока мысли еще не обрели конкретную форму, прошу ваших подсказок-идей по поводу:
1) в каком виде хранить данные панели в памяти приложения;
2) как лучше организовать правку панели;
3) варианты формата файла хранения данных.


По "1)" - т.к. с одной стороны "элементы" панели могут иметь разный набор свойств, например, элемент - не кнопка, а вставленный "визуальный" разделитель - горизонтальная линия, разрыв абзаца либо пробел или это текст с указанным стилем, и надо каким-то образом пользователю элементы сортировать в своей последовательности у меня такие мысли:

а) либо хранить в нескольки разных объектах словарей-Dictionary свойства элементов, а последовательность элементов (ключи словарей) хранить в отдельном массиве;

б) либо создать невидимую (на неотображаемом слое) таблицу, в которой: строка - элемент панели, ячейки - специфические значения, последовательность строк - последовательность элементов на панели. В таком случае интерфейс правки пользовательской панели "2)" можно свести к интерфейсу правки содержимого таблицы;

в) либо хранение свойств в виде "вложенных" js-объектов - как в LANAdmin используются считанные из .ini данные хостов (объект INI) - тут прийдется крепко подумать, т.к. это для меня неизведанная область javascript.

WBR. Roman

2

Re: HTA: правка пользователем группы настроек интерфейса

Настройки лучше хранить в xml - встроенные в hta средства работы с ним достаточно просты. Меню можно формировать динамически в виде списка или любого другого элемента html, внешний вид задаётся с помощью css. Здесь пример управления динамически формируемым массивом абзацев (тэги <p></p>) - редактор плэйлистов для моих же хэтэашек, позволяющих слушать интернет-радиостанции (только плэйлист в примере старый, многие станции уже не работают). Изменения сохраняются в xml файле.

3

Re: HTA: правка пользователем группы настроек интерфейса

Serge Yolkin, а не в "заююченном" виде Ваши скрипты заполучить по некой ссылке можно?
Признаюсь, давно очень из текста раскодировать не приходилось...

WBR. Roman

4

Re: HTA: правка пользователем группы настроек интерфейса

К сожалению, я их никуда больше не выкладывал, но если их сохранить в текстовом файле с расширением .b64, то WinRAR, 7zip и Тотал их распаковывают. Кажется, ещё FAR берёт.