Вверх ↑
Этот топик читают: Гость
Ответов: 36
Рейтинг: 2
#1: 2009-11-16 10:18:16 ЛС | профиль | цитата
Если Вы решите собрать программу, работающую под Windows, то HiAsm 4.02.179 предложит на выбор 564 компонента. В новейшей версии 4.03.181 к ним добавилось еще 42 (и исключены 5) - всего 601 компонент.
Квафль Гарри Поттера (от англ. quaff = глотануть залпом) здесь явно не пройдет. Как заметил еще Козьма Прутков, нельзя объять необъятного, а Тадеуш Костюшко в 1794 году сказал: "Нужно пожертвовать многим, чтобы спасти всё" - и с тех пор эту фразу включают во все сборники афоризмов.
Вот и появился вопрос к исследователям, знатокам, асам и маэстро HiAsm. Подскажите минимальный набор компонент, составляющих арсенал молодого бойца.
На негодующую реплику - мол все зависит от специфики решаемых задач - у меня заготовлен ответ. HiAsm ведь танцевал от печки; первыми его задачами было создание интерфейсных приложений для Windows; да и теперь 77,7% задумок пользователей HiAsm относится к ТАКИМ задачам.
Чтобы сильно не напрягать консультантов, а также дать им паузу для здорового веселья, предложу в качестве боксерской груши и подушечки для иголок свой вариант такого набора - Золотую дюжину КомКона:

0. Форма - компонент, который по умолчанию присутствует на рабочем поле проекта интерфейсного приложения для Windows (сборка таких программ - первая и главная задача HiAsm). Задает вид, расположение, размеры окна программы, его заголовок, цвет, характер реагирования на указатель мыши и т.п. параметры.
1. Надпись - помещает короткий текст в окно программы. (из рубрики Интерфейс)
2. Поле ввода - создает поле для набора одной строки текста. (Интерфейс)
3. Кнопка с картинкой - позволяет пользователю запускать этапы программы. В отличие от обычной кнопки имеет широкий спектр настроек. (Интерфейс)
4. Редактор текста - обеспечивает набор, редактирование и вывод многострочных текстов. (Интерфейс)
5. Сообщение - прерывает работу программы и показывает в отдельном окошке текст, требующий ответной реакции пользователя. (Контролы)
6. Таймер - генератор импульсов (событий), запускающих работу всей программы или ее подпрограмм. По умолчанию - раз в секунду. (Контролы)
7. Случайное число - генератор случайных чисел. Вносит в работу программы фактор непредсказуемости. (Логика)
8. Цикл со счетчиком - организует циклы/этапы в работе пользователя с программой. (Логика)
9. Условный блок - переключает каналы воздействия в зависимости от сравнения поступающих чисел или строк. Программа приобретает способность сравнивать и оценивать промежуточные результаты. (Логика)
10. Память - запоминает число или строку текста для передачи компонентам программы. Может нести функции как долговременной, так и оперативной памяти. (Инструменты)
11. Поток-данные - переносит данные из памяти на вход компонентов. (Инструменты)


карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#2: 2009-11-16 10:33:01 ЛС | профиль | цитата
----
карма: 10
0
Ответов: 2125
Рейтинг: 159
#3: 2009-11-16 11:32:17 ЛС | профиль | цитата
Assasin, не перегибай палку. Я тоже считаю, что при таком количестве компонент, возможность выбирать группы компонент для нового проекта просто необходима. Раньше было очень удобно раскрывать только те вкладки, которые нужно, и строить схему практически не используя скроллер палитры. А сейчас этот скроллер появляется уже после открытия одной вкладки! Кроме того, при выборе групп компонент можно одновременно контролировать, какие компоненты совместимы, а какие нет. Например, если я выбрал группу "Консоль", то компоненты группы OpenGL должны стать недоступными для выбора. А выбор типа проекта превратится в выбор предопределённого минимального набора групп компонент (с возможностью дополнить группы).
карма: 1

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#4: 2009-11-16 11:36:46 ЛС | профиль | цитата
Гы. Вот мы и пришли к этому. Раньше было мало, и все орали -- где новые компоненты, не хватает этого, да и вот этого, тоже
Теперь их стало много, и реакция обратная -- что делать с таким количеством компонентов, аж глаза разбегаются, где чего искать
карма: 22

0
Разработчик
Ответов: 4698
Рейтинг: 426
#5: 2009-11-16 11:40:03 ЛС | профиль | цитата
Извиняюсь, очистил сообщение
Да и я вообще-то был бы не против этого
карма: 10
0
Ответов: 2125
Рейтинг: 159
#6: 2009-11-16 11:40:53 ЛС | профиль | цитата
При этом вовсе не обязательно, что группа компонент и вкладка, на которой они появляются, это одно и то-же. Может быть это группа, раскиданная по нескольким вкладкам, а может и просто новая вкладка.
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#7: 2009-11-16 11:44:58 ЛС | профиль | цитата
Предлагаю изменить палитру элементов: Все вкладки влево без названий, только иконки(названия в подсказку при наведении мыши), при клике в основную часть рисуются компоненты из этой вкладки, а сами вкладки всегда на месте и не двигаются, а в остальном все так же, группы внутри вкладок и т д. Уже ореинтироваться было бы удобнее
Один недостаток: если у нескольких вкладок не будет иконки, то непонятно где какая сидит
карма: 10
0
Ответов: 4663
Рейтинг: 767
#8: 2009-11-16 11:46:38 ЛС | профиль | цитата
Предлагаю предусмотреть в *.ini компонента поле, которое содержит список типов приложений, в которых данный компонент может работать.
Тогда, например, при создании консольного приложения вкладка "Интерфейс" вообще бы не отображалась, ну или что-то в этом роде...
карма: 26

0
Администрация
Ответов: 15295
Рейтинг: 1519
#9: 2009-11-16 11:48:56 ЛС | профиль | цитата
согласен - с ростом числа элементов удобство использования палитры уменьшается из-за увеличения времени поиска каждого отдельного элемента. Для частичного решения этой проблемы были сделаны QPanel. Если есть еще какие-то идеи - просьба излагать.
карма: 27
0
Ответов: 4641
Рейтинг: 334
#10: 2009-11-16 12:13:32 ЛС | профиль | цитата
Dilma писал(а):
то идеи - просьба излагать.

скрывать элементы в зависимости от выбранного типа представления
например: Новичок, пользователь, профессионал.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
Голосовали:vovs
Ответов: 5446
Рейтинг: 323
#11: 2009-11-16 12:17:54 ЛС | профиль | цитата
А как такой вариант: по нажатии (скажем) Ctrl+Q среда начинает ждать ввода названия компонента (или заданной пользователем аббревиатуры), при наборе (скажем) 3х букв предлагается список автодополнения. По нажатии (скажем) Insert выбранный (набранный) компонент "подготавливается" к вставке (т.е. происходит выбор этого элемента из палитры без вставки).

Аббревиатуры нужны для того, чтобы быстро дифференцировать элементы со схожими названиями (напр. Ex от не-Ex).
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#12: 2009-11-16 12:18:18 ЛС | профиль | цитата
А это идея, Ravilr, решение оказалось как всегда сокрыто в проблеме(в правильно заданном вопросе содержится 90%(или сколько там ) ответа). Я согласен с тобой
------------ Дoбавленo в 12.21:
iarspider, не думаю что новичок догадается нажать Ctrl + Q и ввести НУЖНЫЙ ему компонент, или еще и подсказку к компоненту предлагаешь выводить? к тому же придется тогда еще и ставить обработчик против "невидимых" компонентов(таких как MainForm)
карма: 10
0
Ответов: 5446
Рейтинг: 323
#13: 2009-11-16 12:22:28 ЛС | профиль | цитата
Ravilr, а где это хранить? Предлагаю для этого компонент Проект (там, где защита от дурака выключается) доработать. А заодно, в том же компоненте, сделать возможность сокрытия (или наоборот - открытия) вкладок: например, мне очень редко нужны компоненты для работы с БД или с MRA, а занимают они места много.
------------ Дoбавленo в 12.23:
Assasin, а это не для новичков, а для "асов". Или тут только про новичков разговор?
карма: 1

0
Ответов: 2125
Рейтинг: 159
#14: 2009-11-16 12:26:52 ЛС | профиль | цитата
Ravilr писал(а):
скрывать элементы в зависимости от выбранного типа представления
например: Новичок, пользователь, профессионал.

По-любому найдётся такой новичёк, которому потребуется какой-либо компонент, который мы посчитаем как "для профессионала". И вопросов на форуме только добавится. А вот если при создании проекта будут чётко определены группы компонент, которые необходимы хоть новичку, хоть профессионалу, то будет только удобнее. Сейчас уже есть разбиение компонент по группам - это вкладки. Но и внутри вкладок есть уже подгруппы, которые можно свернуть. Вот эти вот подгруппы появились как частичное решение проблемы количества компонент, я считаю не совсем удачное (хотя бы потому, что подзаголовки групп отнимают место, которого и так недостаточно).
карма: 1

0
Ответов: 4641
Рейтинг: 334
#15: 2009-11-16 12:30:20 ЛС | профиль | цитата
iarspider писал(а):
Или тут только про новичков разговор?

преимущественно новички. Асы и так не парятся.

iarspider писал(а):
мне очень редко нужны компоненты для работы с БД или с MRA,

мне тоже и поэтому они у меня свернуты.

iarspider писал(а):
Ravilr, а где это хранить?

что хранить. не понял. Предлагаю например в панеле 3 ссылки выше указанные. при нажатии на которые происходит пересчет палитры элементов и ненужные элементы как то скрываются. Ведь можно наверно разделить элементы по иерархии-категориям.
------------ Дoбавленo в 12.35:
tsdima писал(а):
потребуется какой-либо компонент, который мы посчитаем как "для профессионала"

так вот если он-компанент ему понадобился....значит или пользователь подрос или хватается за то что ему надо еще изучать.
------------ Дoбавленo в 12.36:
можно вообще разделить по простому. Панель элементов и расширенная панель элементов.
И будет на панели элементов закладочка (как в панеле свойств) с надписью Ex
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)