Если Вы решите собрать программу, работающую под 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. Поток-данные - переносит данные из памяти на вход компонентов. (Инструменты)
Этот топик читают: Гость
Ответов: 36
Рейтинг: 2
|
|||
карма: 1 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
----
|
|||
карма: 10 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Assasin, не перегибай палку. Я тоже считаю, что при таком количестве компонент, возможность выбирать группы компонент для нового проекта просто необходима. Раньше было очень удобно раскрывать только те вкладки, которые нужно, и строить схему практически не используя скроллер палитры. А сейчас этот скроллер появляется уже после открытия одной вкладки! Кроме того, при выборе групп компонент можно одновременно контролировать, какие компоненты совместимы, а какие нет. Например, если я выбрал группу "Консоль", то компоненты группы OpenGL должны стать недоступными для выбора. А выбор типа проекта превратится в выбор предопределённого минимального набора групп компонент (с возможностью дополнить группы).
|
|||
карма: 1 |
|
Разработчик
Ответов: 26303
Рейтинг: 2146
|
|||
Гы. Вот мы и пришли к этому. Раньше было мало, и все орали -- где новые компоненты, не хватает этого, да и вот этого, тоже
![]() Теперь их стало много, и реакция обратная -- что делать с таким количеством компонентов, аж глаза разбегаются, где чего искать ![]() |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Извиняюсь, очистил сообщение
![]() Да и я вообще-то был бы не против этого |
|||
карма: 10 |
|
Ответов: 2125
Рейтинг: 159
|
|||
При этом вовсе не обязательно, что группа компонент и вкладка, на которой они появляются, это одно и то-же. Может быть это группа, раскиданная по нескольким вкладкам, а может и просто новая вкладка.
|
|||
карма: 1 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Предлагаю изменить палитру элементов: Все вкладки влево без названий, только иконки(названия в подсказку при наведении мыши), при клике в основную часть рисуются компоненты из этой вкладки, а сами вкладки всегда на месте и не двигаются, а в остальном все так же, группы внутри вкладок и т д. Уже ореинтироваться было бы удобнее
Один недостаток: если у нескольких вкладок не будет иконки, то непонятно где какая сидит |
|||
карма: 10 |
|
Ответов: 4663
Рейтинг: 767
|
|||
Предлагаю предусмотреть в *.ini компонента поле, которое содержит список типов приложений, в которых данный компонент может работать.
Тогда, например, при создании консольного приложения вкладка "Интерфейс" вообще бы не отображалась, ну или что-то в этом роде... |
|||
карма: 26 |
|
Администрация
Ответов: 15295
Рейтинг: 1519
|
|||
согласен - с ростом числа элементов удобство использования палитры уменьшается из-за увеличения времени поиска каждого отдельного элемента. Для частичного решения этой проблемы были сделаны QPanel. Если есть еще какие-то идеи - просьба излагать.
|
|||
карма: 27 |
|
Ответов: 4641
Рейтинг: 334
|
|||
Dilma писал(а): то идеи - просьба излагать.скрывать элементы в зависимости от выбранного типа представления например: Новичок, пользователь, профессионал. |
|||
карма: 1 |
| ||
Голосовали: | vovs |
Ответов: 5446
Рейтинг: 323
|
|||
А как такой вариант: по нажатии (скажем) Ctrl+Q среда начинает ждать ввода названия компонента (или заданной пользователем аббревиатуры), при наборе (скажем) 3х букв предлагается список автодополнения. По нажатии (скажем) Insert выбранный (набранный) компонент "подготавливается" к вставке (т.е. происходит выбор этого элемента из палитры без вставки).
Аббревиатуры нужны для того, чтобы быстро дифференцировать элементы со схожими названиями (напр. Ex от не-Ex). |
|||
карма: 1 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
А это идея, Ravilr, решение оказалось как всегда сокрыто в проблеме(в правильно заданном вопросе содержится 90%(или сколько там
![]() ------------ Дoбавленo в 12.21: iarspider, не думаю что новичок догадается нажать Ctrl + Q и ввести НУЖНЫЙ ему компонент, или еще и подсказку к компоненту предлагаешь выводить? к тому же придется тогда еще и ставить обработчик против "невидимых" компонентов(таких как MainForm) |
|||
карма: 10 |
|
Ответов: 5446
Рейтинг: 323
|
|||
Ravilr, а где это хранить? Предлагаю для этого компонент Проект (там, где защита от дурака выключается) доработать. А заодно, в том же компоненте, сделать возможность сокрытия (или наоборот - открытия) вкладок: например, мне очень редко нужны компоненты для работы с БД или с MRA, а занимают они места много.
------------ Дoбавленo в 12.23: Assasin, а это не для новичков, а для "асов". Или тут только про новичков разговор? |
|||
карма: 1 |
|
Ответов: 2125
Рейтинг: 159
|
|||
Ravilr писал(а): скрывать элементы в зависимости от выбранного типа представления
например: Новичок, пользователь, профессионал. По-любому найдётся такой новичёк, которому потребуется какой-либо компонент, который мы посчитаем как "для профессионала". И вопросов на форуме только добавится. А вот если при создании проекта будут чётко определены группы компонент, которые необходимы хоть новичку, хоть профессионалу, то будет только удобнее. Сейчас уже есть разбиение компонент по группам - это вкладки. Но и внутри вкладок есть уже подгруппы, которые можно свернуть. Вот эти вот подгруппы появились как частичное решение проблемы количества компонент, я считаю не совсем удачное (хотя бы потому, что подзаголовки групп отнимают место, которого и так недостаточно). |
|||
карма: 1 |
|
Ответов: 4641
Рейтинг: 334
|
|||
iarspider писал(а): Или тут только про новичков разговор?преимущественно новички. Асы и так не парятся. iarspider писал(а): мне очень редко нужны компоненты для работы с БД или с MRA,мне тоже и поэтому они у меня свернуты. iarspider писал(а): Ravilr, а где это хранить?что хранить. не понял. Предлагаю например в панеле 3 ссылки выше указанные. при нажатии на которые происходит пересчет палитры элементов и ненужные элементы как то скрываются. Ведь можно наверно разделить элементы по иерархии-категориям. ------------ Дoбавленo в 12.35: tsdima писал(а): потребуется какой-либо компонент, который мы посчитаем как "для профессионала"так вот если он-компанент ему понадобился....значит или пользователь подрос или хватается за то что ему надо еще изучать. ------------ Дoбавленo в 12.36: можно вообще разделить по простому. Панель элементов и расширенная панель элементов. И будет на панели элементов закладочка (как в панеле свойств) с надписью Ex |
|||
карма: 1 |
|