Вопрос вернулся своему хозяину.
Музыкальное нажатие клавиш на форте плавно перешло в
музыкальный автомат например на 5 мелодий.
тут сложил все для диспута
http://shabronov_s2.dyn-dns.ru/temp/forth_shkola/bibl/компилятор fortha 100_spf4.zip
программа 5mel.f
программа исполнения 5mel.exe
Вот ее текст
\ начало текста
\ При нажатии клавиш перейти - открыть заданные web страницы и включить mp3
WINAPI: ShellExecuteA shell32.dll ( подключаем библиотеку для работы оболочкой выполнения )
: START_link_clik_V2 ( An n - PZout - выход да или нет )
\ на входе адрес выполнения сайта или музыки
DROP ( убрали количество знаков )
5 ( константа SW_SHOW из библиотеки виндовс )
0 0 ( An K1 K2 K3 -- ) 3 ROLL
( K1 K2 K3 An -- )
S" open" DROP 0 ShellExecuteA ( pz- --- остался признак выполнили или нет )
;
: START_S ( An n - ) START_link_clik_V2 ( An n - PZout - выход да или нет ) DROP ( просто удалили нафиг а можно и контролировать ) ;
: ST1 S"
https://www.yandex.ru/" START_S ( An n - ) ;
: ST2 S"
http://www.rambler.ru/" START_S ( An n - ) ;
: ST3 S"
http://te.sibsutis.ru/" START_S ( An n - ) ;
: MAIN ( основное слово выполняется постоянно в цикле, а для выхода останов до нажатия клавиши на клавиатуре )
CR S" Для выхода из программы нажать клавишу ESC, для продолжения выбрать цифровую клавишу " ANSI>OEM TYPE
CR S" клавиша 1 - перейти на yandex " ANSI>OEM TYPE
CR S" клавиша 2 - перейти на rambler " ANSI>OEM TYPE
CR S" клавиша 3 - перейти сайт кафедры ТЭ СибГУТИ " ANSI>OEM TYPE
CR S" клавиши 4...8 - мелодии формата mp3 из сайта Шабронова А.А. " ANSI>OEM TYPE
CR S" клавиши 9 - фильм про ТРИЗ " ANSI>OEM TYPE
CR
0
BEGIN
DUP [CHAR] 1 = IF ST1 THEN
DUP [CHAR] 2 = IF ST2 THEN
DUP [CHAR] 3 = IF ST3 THEN
\ тут музыка и размещаем адреса тутоже
DUP [CHAR] 4 = IF S"
http://shabronov_s2.dyn-dns.ru/temp/muk ... ela_v1.mp3" START_S THEN
DUP [CHAR] 5 = IF S"
http://shabronov_s2.dyn-dns.ru/temp/70l ... l_orel.mp3" START_S THEN
DUP [CHAR] 6 = IF S"
http://shabronov_s2.dyn-dns.ru/temp/muk2_sh/93 vjacheslav_mjasnikov_-_poezd.mp3" START_S THEN
DUP [CHAR] 7 = IF S"
http://shabronov_s2.dyn-dns.ru/temp/muk2_sh/94 vjacheslav_mjasnikov_-_semki.mp3" START_S THEN
DUP [CHAR] 8 = IF S"
http://shabronov_s2.dyn-dns.ru/temp/kaf ... _primer/01 Autumn Leaves.mp3" START_S THEN
\ тут файл видео по ТРИЗ
DUP [CHAR] 9 = IF S"
https://yadi.sk/i/CsdHC-f1gwthu" START_S THEN
DROP
KEY DUP 0x1B = UNTIL ( ПРОВЕРКА НАЖАТИЯ КЛАВИШИ, ЕСЛИ НАЖАЛИ 1 ТО КОД СОВПАЛ И ВЫХОДИМ )
;
\ подготавливаем переменные и текст программы записываем в исполняемый файл.
0 TO SPF-INIT? ( в переменную записываем код 0 – означает что инициализация выполняется )
' NOOP MAINX ! ( в переменную записываем адрес выхода )
' MAIN TO <MAIN> ( в переменную записываем старт программы со слова MAIN )
S" 5mel.exe" SAVE ( сохраняем файл исполнения с именем 5mel.exe )
BYE ( выходим из режима редактирования и компиляция, т.е. все бай-бай )
\ текст программы окончен.
Краткие выводы по теме преимущества форта
1. Можно сделать все, но нужно ли делать все?
2. Нет ТЗ и конкретной задачи можно делать и делать.
В теме музыкального нажатия по клавишам цели нет. Это только примеры.
И развивать нажатие с музыкой можно очень долго.
3. Язык форт не поможет, если нет цели. Он только лишь язык, формализатор.
Имеет свои преимущества и недостатки.
С уважением ко всем внимающим.
И выхожу из данной темы "что лучше форт или не форт".
10:47 25.12.2017