This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch branches/tags
Branches Tags
Could not load branches
Nothing to show
Could not load tags
Nothing to show
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Cancel Create
- Local
- Codespaces
HTTPS GitHub CLI
Use Git or checkout with SVN using the web URL.
Work fast with our official CLI. Learn more about the CLI.
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
HIASM УРОК 1 знакомимся с программой.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
Latest commit message
Commit time
README.md
Простые заготовки программ с открытым исходным кодом, сделанные в HiAsm. Некоторые из этих программ сделаны мною, некоторые сделаны пользователями форума HiAsm. Вы можете свободно использовать, распространять, редактировать их. Авторы не ограничивали использование контента.
Как открыть файлы?
SHA-файл — исходник, его надо открывать в программе HiAsm.
EXE-файл — готовая скомпилированная программа.
Рекомендую открывать схемы в Альтернативной сборке HiAsm. Почему? В ней больше компонентов, есть встроенный рабочий компилятор Delphi, без необходимости скачивать его отдельно.
Получение исходников программ в формате Delphi
На рабочем поле HiAsm нажмите Ctrl+D, затем скомпилируйте программу. В папке появятся исходники.
Появились вопросы? В схеме нестандартные компоненты, ошибки? Вы можете обсудить схемы на GitHub, а также в формах комментариев на сайте.
Задавайте ваши вопросы, обсуждайте программы. Удачи!
Simple open-source program templates made on HiAsm. Some of these program have been made by me, other have been made by users of Hiasm’s forum. You can freely use, share, edit it. The authors did not restrict the use of content.
How to open files?
SHA-file — source, it needs to be opened in the HiAsm program.
EXE-file — is a ready-made compiled program.
I recommend to open the schemes in Alternative build of HiAsm. Why? This build has more components, a built-in working Delphi compiler, without the necessity to download it separately.
Getting sources in the Delphi format
On the HiAsm work field, press Ctrl+D, then compile the program. The sources will be added to the folder.
Программа для создания программ
Have questions? Are there any non-standard components or errors in the scheme? You can discuss schemes on GitHub, and also in comments forms on site.
Ask you questions, discuss program. Good luck!
Мой сайт (только на русском) // My site (only in russian) https://shaaprogs.tilda.ws
Больше о HiAsm // More about HiAsm https://shaaprogs.tilda.ws/hiasm
Благодарности // Credits
Пользователям HiAsm за помощь в освоении HiAsm
To HiAsm users for help with HiAsm
About
Программы с открытым исходным кодом, сделанные в HiAsm // Open-source programs made in HiAsm
Источник: github.com
Hiasm примеры программ исходники
Небольшая демонстрация возможностей базового набора компонент пакета. Все примеры выполнены без применения инлайн-вставок
PHP
Пример построения приложения для работы с WEB формой. Демонстрирует вывод формы на страницу из скрипта и обработку переданных параметров из формы
http://dev.hiasm.com/ex_php/php_debug.php
Простой пример для понимая основ передачи POST параметров между страницами
http://dev.hiasm.com/ex_php/counter.php
Пример работы с файлом на сервере: умеет отображать содержимое файла на странице, а так же добавлять в него новые строки.
http://dev.hiasm.com/ex_php/files.php
Работы с фреймами на примере простейшего WEB чата
http://dev.hiasm.com/ex_php/frames.php
Пример работы со стилями(выводит все файлы текущей директории)
http://dev.hiasm.com/test.php
Пример создания полноценного приложения PHP. Демонстрирует возможность верстки документа через стили CSS с использованием стандартных тегов HTML; обрабатывает запросы пользователя и позволяет добавлять новую информацию, а так же просматривать её.
http://dev.hiasm.com/ex_php/news/index.php
#1.1 контекстная реклама от партнеров
Dilma
Администрация
Ответов: 15294
Рейтинг: 1518
#2: 2007-04-04 03:16:52 ЛС | профиль | цитата
PS: хотелось бы сразу предупредить — поскольку пакет еще только разрабатывается элементы могут быть достаточно сильно изменены или удалены совсем; поэтому гарантировать правильную работу исходников на любой момент времени не приходится.
Гость
Ответов: 17029
#3: 2007-04-26 05:46:23 правка | ЛС | профиль | цитата
Редактировалось 7 раз(а), последний 2022-04-02 22:04:27
Dilma
Администрация
Ответов: 15294
Рейтинг: 1518
#4: 2007-04-26 10:16:14 ЛС | профиль | цитата
Эти примеры всеравно не будут работать в последней версии пакета
AVC
Ответов: 655
#5: 2007-04-28 02:28:28 ЛС | профиль | цитата
Пятнашки зависли , позор
Dilma
Администрация
Ответов: 15294
Рейтинг: 1518
#6: 2007-04-28 10:49:36 ЛС | профиль | цитата
AVC, и как из сей картинки можно понять висят они или нет
AVC
Ответов: 655
#7: 2007-04-28 14:33:12 ЛС | профиль | цитата
Просто двигатся перестало все
Dilma
Администрация
Ответов: 15294
Рейтинг: 1518
#8: 2007-05-10 14:08:02 ЛС | профиль | цитата
Новый форум, построенный полностью на базе пакета WEB с использованием современной клиент-серверной технологии PHP+JavaScript+Ajax будет доступен по адресу:
http://dev.hiasm.com/hi/
Тут можно протестировать страницу управления пользователями:
http://dev.hiasm.com/hi/hf_ulist.php
Приложение поддерживает загрузку списка пользователей без обновления всей страницы. Так же при наведение на ник пользователя приложение подгружает сведения о нем и вывоит их во всплывающем окошке. В нижней части страницы выводится статус запроса к серверу.
Качество результирующего кода можно посмотреть, открыв исходный текст страницы. При этом стоит учесть, что данное приложение на 100% собрано с применением пакета WEB — ни один тег и ни одна строчка javaScript не были прописаны вручную.
Galkov
Ответов: 9906
Рейтинг: 351
#9: 2007-05-10 15:18:11 ЛС | профиль | цитата
Чего-то ентот хинт за курсор не держится, а убегает вместе со страницей по Wheel
Yuriy
Ответов: 574
#10: 2007-05-12 20:53:28 ЛС | профиль | цитата
Dilma, у тебя ошибка на главной странице:
PHP — как следует из названия данный пакет позволяет разрабатывать WEB приложения для клиентской(скрипт на языке PHP) и серверной стороны(JavaScript) с использованией языка разметки HTML.
PHP выполняется на стороне сервера, а JS — клиента. Ты всё наоборот написал
Nic
Главный модератор
Ответов: 2997
Рейтинг: 395
#11: 2007-05-14 09:10:29 ЛС | профиль | цитата
Dilma писал(а):
Исходнички.
Не загружаются
Дорогу осилит идущий. Install/Update HiAsm.NET
Galkov
Ответов: 9906
Рейтинг: 351
#12: 2007-05-14 09:35:32 ЛС | профиль | цитата
Dilma писал(а):
Эти примеры всеравно не будут работать в последней версии пакета
Dilma
Администрация
Ответов: 15294
Рейтинг: 1518
#13: 2007-05-14 14:16:28 ЛС | профиль | цитата
Yuriy писал(а):
PHP выполняется на стороне сервера, а JS — клиента.
действительно. Исправлено.
Nic
Главный модератор
Ответов: 2997
Рейтинг: 395
#14: 2007-06-13 00:33:51 ЛС | профиль | цитата
MySQL 5.0.41 community-nt via TCP/IP и PHP 5.2.0 ISAPI на IIS.
[size=-2]—— Добавлено в 11:02
Вопрос: как прочитать переменную сессии? То есть, например, получить такой код:
if( $_SESSION[«loginOk»] ) <
>
конечно не прибегая к inline и заодно как её прочитать?
[size=-2]—— Добавлено в 12:23
Не могу найти как задать свойства тэга чтобы получить код:
[size=-2]—— Добавлено в 13:13
Как избавиться от кода в начале скрипта:
Мне надо выполнить запуск PHP сессии в HTML файле, поэтому перед кодом:
ничего не должно быть. А inline ставится уже после выше приведённого кода.
[size=-2]—— Добавлено в 14:57
Описание свойства Name компонентов Session и SessionVar совпадают. Видимо это не так на самом деле.
[size=-2]—— Добавлено в 15:36
Не смог найти способа чтения переменных массива $_SESSION, пришлось добавить точку в Vars:
func Session
return(‘$_SESSION[‘ Name ‘]’)
end
*Session=Содержит значение переменных текущей сессии|3|
А для записи добавил метод в SessionVar:
func doSet(_data)
println(‘$_SESSION[‘, Name, ‘] = ‘ _data ‘;’)
event(onRegister)
end
*doSet=Регистрирует и устанавливает в рамках текущей сессии указаную переменную|1|
[size=-2]—— Добавлено в 16:14
Опечатка в коде компонента hiFormatStr:
s = ‘spintf(‘ Mask ‘,’
надо так: s = ‘sp r intf(‘ Mask ‘,’
[size=-2]—— Добавлено в 00:33
Такая же проблема с массивом $_FILES как и с $_SESSION. Без добавления точек не понятно как к нему обращаться. Добавил в Vars. Возможно что этот массив эквивалентен $HTTP_POST_FILES, но до конца не уверен.
Дорогу осилит идущий. Install/Update HiAsm.NET
Эдик
Ответов: 2054
Рейтинг: 28
#15: 2007-06-13 00:52:19 ЛС | профиль | цитата
Люди как сделать бегущаю страку в макетной таблице, что бы её легко можно было закидовать на лубую страницу сайта.
Add(HtmlEntryPoint,6444038,42,147) link(onStart,12792777:doPrint,[])
>
Add(CSS,12069882,350,147)
Tag=»body»
Height=»100%»
>
Add(Memory,13673118,490,266)
Default=Integer(100)
>
Add(HTM_Body,16328971,238,245)
Point(onMouseMove)
Point(onLoad)
Point(onBeforeUpdate)
link(onPrint,9408152:doPrint,[])
link(onLoad,8235918:doTimer,[(280,265)(280,299)(116,299)(116,328)])
>
Add(Echo,15576345,434,245)
Message=»Сдесь должна быть бегущая строка, её нужно запихнуть в таблицу. Как это сделать?»
>
Add(CSS,8590754,294,147)
Name=»main»
TextAlign=2
Width=»800″
Height=»20″
Position=1
VerticalAlign=»center»
link(onPrint,12069882:doPrint,[])
>
Add(Timer,8235918,126,322)
Interval=30
link(onTimer,5781255:doOperation,[])
>
Add(Memory,4463042,294,322)
Default=Integer(100)
link(onData,11340344:doLeft,[(336,328)(336,373)(277,373)(277,405)])
>
Add(Math,5781255,217,322)
OpType=1
Op2=1
Default=800
link(onResult,4463042:doValue,[])
link(Op1,5781255:Result,[(223,312)(207,312)(207,364)(223,364)])
>
Add(HTM_Style,1898430,238,147)
link(onPrint,8590754:doPrint,[])
>
Add(Hub,7465234,154,147)
OutCount=4
link(onEvent1,1898430:doPrint,[])
link(onEvent3,16328971:doPrint,[(212,167)(212,251)])
>
Add(CSS,2915517,343,392)
Name=»main»
Point(onDataSet)
Point(doTop)
link(Data,13673118:Value,[(356,345)(496,345)])
>
Add(CSS,11340344,287,392)
Name=»main»
Point(doLeft)
Point(onDataSet)
link(Data,4463042:Value,[(300,359)(300,359)])
link(onDataSet,2915517:doTop,[])
>
Add(HTM_Div,9408152,378,245)
Point(doHTML)
link(onPrint,15576345:doEcho,[])
>
Add(HTM_Html,12792777,98,147)
link(onPrint,7465234:doEvent,[])
>
Источник: forum.hiasm.com
HiAsm — программирование без кода
Блог о HiAsm: уроки по HiAsm, примеры HiAsm, программы на HiAsm. Всё о HiAsm.
среда, 23 сентября 2009 г.
Звук: медиаплеер
Одним из классических примеров при изучении программирования является медиаплеер. Но поскольку это не учебник, а блог, то до проигрывания звука в hiasm мы добрались только сейчас. С точки зрения практики, не думаю, что кто-то станет реально делать медиаплеер даже для себя, потому что их навалом в Интернете. Однако познакомиться с проигрыванием звука в hiasm будет очень полезно.
На панели компонентов есть целая вкладка «Мультимедиа», на которой находятся все инструменты для проигрывания звука в программе. Есть простые компоненты типа MediaPlayer или PlaySound, которые не позволяют гибко управлять звуком. Есть и профессиональные инструменты BASS, которые представлены множеством компонентов.
Здесь мы рассмотрим только несложные компоненты, потому что если рассматривать BASS, то пост получится ну очень большой, и вы, скорее всего, просто устанете.
Начнём работу со звуком с рассмотрения второго компонента на вкладке «Мультимедиа» — PlaySound. Он может только запустить звук WAV на проигрывание. Другие форматы компонент не понимает, других функций для звука тоже нет. Этот компонент хорош, если нужно просто издать какой-либо звук в программе, не более.
Здесь звук задан в параметре компонента FileName. Обратите внимание, что для указания имени используются двойные слеши, потому что одинарные в сочетании с некоторыми символами являются служебными и интерпретируются не так, как вы ожидаете. А двойные слеши всегда интерпретируются как разделители в путях.
Также следует обратить внимание на параметр PlayType. Это — максимально возможное управление звуком. Например, можно зациклить проигрывание или сделать программу недоступной, пока звук проигрывается.
Ну а в параметр Sound можно загрузить звук, тогда имя файла будет не нужно, ведь такой звук будет сохраняться в самой программе и проигрываться из неё.
Теперь рассмотрим более сложный компонент — MediaPlayer (самый первый на вкладке «Мультимедиа»), в котором уже можно задавать позицию проигрывания, останваливать и приостанавливать проигрывание. Но этот компонент не позволяет сохранить в программе звук, а может проигрывать только из файла. Зато поддерживаются целых три формата звуковых файлов и даже видеоформат AVI!
Вам остаётся лишь проиписать имя файла в параметре FileName или подать его на точку данных FileName. А дальше — нажимать кнопки управления.
Когда дело доходит до установки позиции, то хочется, чтобы было так, как в стндартных проигрывателях: был ползунок, с помощью которого можно установить позицию. И для этого вам придётся познакомиться с новыми компонентами.
Во-первых, ползунок. Для примера взят тот, который находится в групее «Графические» на вкладке «Интерфейс». Если вы не можете его найти, то скопируйте код в hiasm (он будет немного ниже).
Ещё нам понадобится таймер, потому что у компонента MediaPlayer нет события, происходящего при изменении позиции проигрывания. У него есть только нижняя точка Position, с которой нужно регулярно снимать данные.
Таймер находится на вкладке «Контролы».
Ну и, конечно, нам понадобятся компоненты-инструменты (вкладка «Инструменты»). Какие и сколько — пока неизвестно. Как правило, это определяется при составлении схемы.
Итак, приступим.
Здесь, как вы видите, кнопки запуска и останова теперь не только запускают или останавливают проигрывание. При запуске сначала запускается проигрывание, но сразу же после этого устанавливается максимально возможное значение ползунка (точка doMax выведена из параметра Max) и включается таймер (интервал задани в его параметре Interval в миллисекундах). Важно при установке таймера на рабочее поле не забыть изменить его параметр Enable на False, иначе включаться он будет автоматически при запуске программы, а нам нужно только при запуске проигрывания.
Каждую секунду при проигрывании ползунок меняет своё положение в соответстсвии с текущей позицией проигрывания. А после остановки (хоть кнопкой «стоп», хоть по событию onEndPlay компонента MediaPlayer) таймер отключается.
Ну а при передвижении ползунка устанавливается позиция проигрывания. Причём параметр ползунка ScrollMode установлен в Up, чтобы позиция устанавливалась только после отпускания мыши над компонентом, а не при каждом его перемещении.
Напоследок рассмотрим компоненты для изменения громкости звука. Их два: Volume и VolControl. Первый устанавливает громкость звука во всей операционной системе Windows, а второй — громкость отдельных устройств.
При входе в программу сразу считывается громкость обоих каналов и выдаётся на ползунки (правда, они другой формы, потому что это уже не тот компонент, что мы использовали ранее). А затем с помощью ползунков можно установить громкость. Она берётся отдельно для левого и правого каналов, значение передаётся через точки свойства-данные. Помните, что максимальное значение громкости тут — 65535, и ползунки рассчитаны на такое.
Ну а с VolControl удобнее всего работать через массивы. У него есть две точки свойств: Volume и Mute. Первая содержит массив громкостей устройств, вторая — массив состояний (вкл/выкл). Ну а сами устройства можно посмотреть в параметре Device.
В этом примере происходит сбор всех значений громкостей и вывод в список.
Источник: hi-asm.blogspot.com