Как создать приложение в hiasm
HiAsm – среда визуального программирования
Конструктор программ позволяет каждому пользователю ПК начать программировать без знания каких бы то ни было языков высокого уровня сразу же после установки среды.
Создать программу в HiAsm так же просто, как собрать фигурку из деталей лего - достаточно выбрать необходимый набор компонентов и соединить их друг с другом в цельную конструкцию.
- Cоздание утилит, использующих базы данных и графику;
- Перевод проектов на языки Free Pascal и Delphi;
- Перенос конструкций на смартфоны (выборочно);
- Разработка WEB-приложений с использованием HTML;
- Разработка фоновых приложений, библиотек DLL и т.п.
Delphi & FPC
Базовый пакет, поставляющийся вместе со средой, позволяет разрабатывать Windows-приложения с использованием компонентов Интернета, баз данных, графики (GDI и OpenGL), широких мультимедийных возможностей (звук), поддержка COM-портов и многого другого, а также фоновые программы, апплеты панели управления, библиотеки DLL и прочее.
Android
Пакет позволяет разрабатывать приложения под Android, для смартфонов и планшетов.
PocketPC
Как и предыдущий пакет, позволяет разрабатывать приложения, но уже под Windows CE, то есть для КПК и частично смартфонов. Причём пакет построен таким образом, что схемы, собранные под PocketPC, практически без изменений можно переносить в Delphi&FPC и наоборот, что сокращает время как на саму разработку программы, так и на её портирование под другие платформы.
WEB
Как следует из названия, данный пакет позволяет разрабатывать WEB-приложения для серверной (скрипт на языке PHP) и клиентской стороны (JavaScript) с использованием языка разметки HTML. Отличительной особенностью данного пакета является то, что генерируемый по собранной схеме код практически не уступает по качеству тому, что мог бы написать разработчик вручную. Благодаря этому, данный пакет может также использоваться для автоматической генерации некоторых шаблонов WEB-приложений с последующей их ручной правкой.
FASM
Большей частью пакет служит примером и одновременно демонстрацией возможностей оболочки и потому интересен будет скорее всего только программистам, желающим разработать свой собственный пакет. Позволяет писать Win32-приложения на чистом ассемблере (Flat Assembler), с использованием компонентов вставки кода и связей между ними.
Qt
Пакет на основе Qt позволяет разрабатывать кроссплатформенные приложения. Сам HiAsm возможно запускать только через Wine.
wxWidgets
Пакет на основе wxWidgets, так же как и Qt, позволяет создавать кроссплатформенные приложения.
HiAsm - это не какой-то новый язык программирования, а всего лишь оболочка над обычным Паскалем. И компилятор используется FPC (или Delphi). Но весь код скрыт от программиста, ему остаётся лишь соединять компоненты связями, как в конструкторе, составляя схемы программ, а в код всё переводит сам HiAsm.
Конечно, гибкость программирования несколько страдает, но у программиста всегда есть возможность вставить код Паскаль в схему. Кроме того, в схему можно вставить код Gentee, JavaScript и VBScript. И всё это будет скомпилировано в одну программу.
Интуитивно понятный интерфейс
Интерфейс Конструктора программ много лет подряд дополнялся и расширялся для того, чтобы сделать работу пользователя наиболее быстрой и комфортной. Благодаря активному участию сообщества в Конструктор добавлено множество настроек, которые помогут каждому разработчику настроить среду под себя, а иногда и вовсе переписать отдельные его части используя лишь привычные и простые в понимании схемы.
Благодаря же стандартизации всех элементов и их свойств разобраться в принципах построения схемы так же не составит никакого труда и займет гораздо меньше времени, чем знакомство с любым даже самым простым языком программирования.
Множество инструментов оформления схем
Типичный внешний вид хорошо оформленной схемы с короткими описаниями к основным блокам и их цветовой раскраской можно увидеть на рисунке слева. Благодаря тому, что на схеме могут располагаться помимо функциональных элементов (влияющих на работу программы), на ней можно располагать и элементы оформления, значительно повышающие читаемость схемы. Такие элементы не участвуют в компиляции программы и никак на нее не влияют.
Оформление схем является не обязательной частью разработки приложения, но свидетельствует о хорошем стиле, который в будущем поможет самому разработчику быстрее вспомнить, за что отвечают те или иные части схемы.
Широкие возможности кастомизации GUI
Большинство пакетов конструктора содержит как нативные элементы интерфейса (предоставляемые операционной системой, браузером и т.д.), так и пользовательские, которые целиком и полностью отрисовываются движком пакета, давая разработчику возможность самому выбрать цвет, форму, стиль и т.п.
Кроме того используя компоненты для рисования разработчик может нарисовать свои собственные GUI элементы, я таким внешним видом, который требуется для его приложения.
Создание игр с поддержкой OpenGL и GDI
Пакеты для платформы Windows и Linux позволяют использовать элементы для работы с графическим API, таким как OpenGL, GDI (для Windows), Cairo(для Linux) и т.д. С помощью них разработчик получает возможность создавать простые 2D и 3D игры. Следует помнить о том, что Конструктор приложений не подходит для создания сложных игр, т.к. весь его арсенал заточен в первую очередь под прикладные программы.
И конечно же для полноценной игры необходимо работать со звуком, для чего в пакетах так же предусмотрены соответствующие элементы. Доступ к 3D графике же дает возможность не только создавать игры, но и небольшие демки для визуализации данных, процессов или иных сущностей.
Ссылки :
Официальный сайт
Альтернативные сборки среды
В моем блоге вы найдете уроки работы на HiAsm в двух основных пакетах (Windows, WEB), сможете скачать исходники. С этими уроками вы получите знания, которые дадут вам возможность создавать свои windows приложения, php скрипты, html страницы, работать с графикой и базами данных и многое другое
среда, 4 января 2012 г.
Блокнот
Вот и настало время сделать что-то посложнее. Например блокнот. Простой блокнот без выкрутасов - только писать.
Приступим! Новым элементом сегодня будет Главное меню(Menu). Это один из самых основных элементов интерфейса и им не стоит пренебрегать.
Как всегда сначала построим интерфейс. Кидаем компоненты Редактор текста(Memo) и Главное меню(Menu):
И построим его структуру:
Все просто до предела: каждый пункт меню на отдельной строке, вложения производятся скобками, разделитель знаком "-".
Теперь выполняемые функции:
Понадобятся два диалога: для открытия и для сохранения файлов.
И сразу в свойства прописать что работать будем с текстовыми файлами.
Возьмем еще один элемент из вкладки Инструменты - Индекс в канал (IndexToChanel). Но принимает входящий индекс (0, 1, 4, 8) и выполняет действия на ветке соответствующей индексу.
Соединим меню с индексом:
Чтобы появилась точка нужно ее выбрать в закладке Точки в свойствах.
Тогда в поток будут выдаваться индексы, а не названия пунктов.
Определимся с действиями:
Как только пользователь выбрал файл или нажал сохранить в диалоге, имя файла передается в поток. Поток раздваивается хабом (Hub вкладка Инструменты). Сначала имя файла попадает в элемент памяти. Элемент Memo(Редактор) использует его для сохранения и открытия. А потом в зависимости от действия вызываются методы doLoad и doSave.
Простенький блокнот готов! А если к кого-то не готов исходники всегда помогут.
З.Ы Следующий урок будет о расширенной работе с текстом и шрифтами возможно будет видео. И у Memo надо поставить Align - caClient.
вторник, 3 января 2012 г.
Первый шаг . программа.
Вот и пришло время создать свою первую программу. Пусть это и будет заурядный и порядком задолбавший "привет мир". Шутка.. мда.
Сегодняшняя программа будет говорить привет представившемуся, а если не представится будет посылать в баню или лесом.
Итак создаем новый проект Windows Файл -> Новый.
Во вкладке Интерфейс на панели элементов хватаем (кликаем) компоненты Надпись(Label), Поле ввода(Edit), Кнопка(Button). Получилось что-то вроде:
Идем в редактор формы (кнопки сверху):
Видим бардак. Клацаем по элементам и изменяем свойство Caption у каждого на нужное и двигаем как надо. У меня получилось так:
Программа проста как два пальца, но если что-то не получилось вот исходник.
З.Ы Чтобы сделать такую форму (неизменяемого размера) в свойствах формы поставить BorderStyle - bsDialog.
Если бы на рынке независимых разработчиков была своя церемония награждений, то бесспорным номинантом на "Открытие 2004 года" могла бы стать русская разработка HiAsm. Программа интересна сразу по нескольким параметрам. Во-первых, она - freeware, во-вторых, это не что иное, как мощная среда разработки приложений под Windows.
Мое первое знакомство с HiAsm состоялось неспроста - решалась задача разработки небольшой программы, использующей некоторое количество данных, результатов их обработки и сортировки. При этом было необходимо использовать генератор случайных чисел и несколько серьезных формул, и представить все это в виде стандартного приложения Windows.
Данная программа не должна была нарушать правила лицензии, поскольку предусматривалось ее серьезное распространение.
И мне стало интересно, а можно ли найти бесплатные среды разработки, в которых реально было бы быстро создавать программы под Windows по типу того, как это делается в Delphi или C++ Builder? На свое великое удивление, я нашел такую среду. Это HiAsm.
Что же такое HiAsm?
HiAsm (название расшифровывается как High Assembler) является средой Delphi-подобного типа, основанной на зыке Object Pascal. На данный момент в наличии имеется около 181 стандартного компонента, а проекты создаются по "кирпичикам". Авторы HiAsm немного лукавят, когда говорят, что "вам не понадобится ни одной строчки кода", поскольку каждый проект имеет свои нюансы, но, действительно, в данной среде нет выхода непосредственно на программный код. Вам предлагается набор компонентов и конструктор.
Программирование может происходить непосредственно на уровне создания собственных компонент, что можно сделать в обыкновенном блокноте (Notepad) Windows с учетом того, что вы обладаете знаниями в области Object Pascal (Delphi). Внедрение новых элементов не представляет собой ничего сложного и достаточно подробно описано в документации к HiAsm.
Давайте посмотрим, что мы можем делать на базе уже имеющегося арсенала:
- работать с интернетом и локальной сетью;
- работать со строками;
- производить операции с файлами;
- работать с буфером обмена;
- создавать расширения меню Explorer;
- работать с портами LPT и СОМ;
- создавать окна Windows и работать с ними;
- выключать компьютер по времени;
- работать с картинками (скриншоты, кодирование и прочее);
- работать с рабочим столом;
- работать с реестром.
Это далеко не все сферы применения HiAsm. На данный момент у оболочки очень много сторонников-программистов, которые дорабатывают общую идею, пишут новые компоненты и т.п.
Хотите, скажу самый вкусный момент? Помимо того, что данная среда разработки - freeware, ее дистрибутив "весит". около 2 Мб! Скачав их, вы получаете все возможности, описанные выше. На отладку вашего приложения будет тратится немного времени (имеется хороший компилятор), и как конечный результат - *.exe-файл программы, которая может запускаться в большинстве современных ОС из семейства Windows.
Создание собственных компонент
Я не буду сильно вдаваться в тонкости данного процесса, но могу сказать, что он состоит из двух главных и очень простых этапов:
- Написание шаблона компонента - файл конфигурации (*.ini), и иконка. Это можно делать как самостоятельно, так и с использованием программы Ecreator, поставляемой с HiAsm.
- Реализация методов и написание вспомогательного кода. На данном этапе необходимы познания в области Object Pascal (Delphi). Код можно ввести вручную, используя обычный текстовый редактор, либо воспользоваться Delphi.
То есть, если говорить о стандартных элементах, использующих определенные строки кода, так необходимых для использования в вашей программе, то реализация такового займет максимум 5-20 минут. Нужно получить в итоге три файла с расширениями *.pas, *.ini, *.ico и разложить их по соответствующим папкам в директории Elements программы HiAsm, а также прописать название нового компонента в файле Elements.ini.
К примеру, вам необходимо использовать формулу, в которой имеется четыре входящих потока данных и два исходящих. Это можно сделать в виде отдельного компонента и потом использовать как "кирпичик" в конструкторе.
Создание интерфейса
В HiAsm имеется стандартный набор из кнопок, панелей и форм. Нужно отметить, что в данном случае нет особенных "наворотов", к тому же количество свойств этих компонент является меньшим, по сравнению с тем же Delphi. Но для варианта быстрого создания Windows-приложения ничего существенно большего и не нужно.
Если есть время, то можно повозиться и создать что-то более стоящее. Если есть время.
Файлы-примеры
С программой поставляется множество примеров программ, созданных на базе HiAsm для различных сфер, начиная от работы с графикой и заканчивая калькуляторами, ICQ, почтовыми клиентами и прочим.
Общие впечатления и завершение
Впечатления - просто удивительно и стоит попробовать! Знаете, я уже встречался с тем, что, по "кирпичикам" не внедряясь в программный код, можно создавать сложные звуковые программы, устройства обработки аудио и т.п. Почему бы это не применить и для Windows-приложений вообще? То есть, HiAsm, вроде бы, и похож на Delphi, но несет в себе несколько другую идею. Разработчики посмотрели на все со стороны обычного пользователя, не искушенного в программировании. Думаю, что успех HiAsm очевиден.
Обратим внимание на то, что помимо основных функциональных элементов к схеме можно добавить визуальные детали в виде описаний или других объектов, не влияющих на работу программы и не участвующих в компилировании. Это пригодится исключительно для понимания работы схемы, но играет важную роль, ведь повышает ее читаемость и ускоряет рабочий процесс, когда дело доходит до тестирования. Конечно, благодаря HiAsm вы можете создавать приложения с графическим интерфейсом, обеспечивая корректный отклик кнопок, полей для заполнения и других составляющих, отображающихся на экранах пользователей.
В завершение обзора на HiAsm отметим, что решение подходит и для создания игр с поддержкой OpenGL и GDI, но только небольших и несложных, хоть и с возможностью реализации 3D-компонентов. На официальном сайте HiAsm вы найдете не только ссылку на загрузку ПО (оно распространяется бесплатно), но и сможете перейти на форум, где пользователи обсуждают рабочий процесс, выкладывают свои проекты и полезные уроки.
Достоинства:
- Удобное схематическое представление конструктора;
- Большое количество контроллеров;
- Подходит для создания простых игр;
- Для работы не нужно знать программирование.
Недостатки:
- Интерфейсы создаваемых приложений можно считать устаревшими внешне.
Lazarus
GUI-компоненты и код синхронизируются автоматически, поэтому на выполнение данной задачи пользователю не придется тратить собственное время. Если работа над проектом уже практически завершена, используйте встроенные инструменты отладки и сборки, чтобы сформировать полноценную программу, которая будет свободно запускаться на Windows, macOS или Linux. Никаких дополнительных плагинов после установки Lazarus добавлять не придется, поскольку все компоненты уже интегрированы в программу. Вы можете сразу создать новый проект, посмотреть шаблоны или скачать их из интернета.
Достоинства:
- Встроенный редактор кода;
- Удобное средство управления графическими компонентами;
- Гибкая настройка свойств компонентов.
Недостатки:
- Для полноценного взаимодействия нужны знания Pascal;
- Не подходит для создания своих графических интерфейсов.
Алгоритм 2
Главным недостатком Алгоритм 2 можно считать распространение. Ранее программа была платной, а сейчас разработчики сделали ее открытой, удалили официальный сайт и оставили каталоги с исходным кодом и установщиком только на GitHub. Там вы не найдете гайдов или какой-то полезной информации по работе в программе, поэтому такой тип распространения и считается не очень удачным для обычных пользователей. Тут же возникают вопросы с обновлением и оптимизацией. Пока с разработчиками никак нельзя связаться и непонятно, идет ли работа над улучшениями.
Разобраться в использовании Алгоритм 2 не так сложно, поскольку конструктор реализован на понятном для новичков уровне. Присутствуют основные компоненты, которые могут пригодиться при создании простых графических интерфейсов. В интернете вы найдете инструкции от энтузиастов, в которых наглядно показан принцип работы над программой от начала до ее вывода в качестве рабочего приложения для операционной системы.
Достоинства:
- Удобный конструктор программ;
- Полностью русский язык интерфейса;
- Бесплатное распространение.
Недостатки:
- Нет официальной документации;
- Неизвестно, поддерживается ли программа и будут ли выходить обновления.
Scratch
В завершение рассмотрим программу под названием Scratch, которая кардинально отличается по своей функциональности от упомянутых выше. Это не конструктор программ с графическим интерфейсом, а средство обучения, которое на примере простых скриптов показывает, как работают языки программирования. Вы можете использовать Scratch в тех случаях, когда только начинаете свое знакомство с программированием или подбираете полезную программу для ребенка.
Суть взаимодействия с Scratch заключается в том, что вы соединяете блоки, образуя тем самым последовательности действий и выводя их на экран в качестве анимации. Наглядно это видно на скриншоте выше, где в качестве персонажа выступает код, а пользователю предстоит задать для него траекторию движения. В Scratch присутствует много разных контроллеров, от самых простых до тех, которые связаны с переменными и операторами. То, что создается вручную юзером, тоже можно назвать своего рода программами, ведь это последовательное выполнение кода.
Ко всему прочему в данном софте можно настроить интерактивный процесс, когда фигурки будут двигаться при нажатии клавиш на клавиатуре и реагировать на другие объекты, расположенные на рабочем пространстве. Конечно, Scratch не подойдет для создания программ в привычном их виде, но этот продукт идеален для обучения как детей, так и подростков, которые заинтересованы в том, чтобы связать свою жизнь с программированием.
Читайте также: