Звуковой сигнал в интерпретаторе lua.exe

Страницы: 1
RSS
Звуковой сигнал в интерпретаторе lua.exe, Как сделать сигнал beep при запуске программы с помощью lua.exe
 

Мне надо адаптировать свою программу тестирования на исторических данных так, чтобы она запускалась не из Quik, а интерпретатором lua.exe из командной строки (типа ..\lua.exe myprogram.lua). В конце программы запрограммирован звуковой сигнал beep для оповещения, что программа завершила работу. Это сделано 2-мя операторами: require("w32") и w32.MessageBeep(w32.MB_OK). Я записал в каталог, где сидит lua.exe, библиотеку w32.dll. Однако lua.exe выдает ошибку “запуск программы  невозможен, так как на компьютере отсутствует файл qlua.dll”.  Если добавить этот файл, то тогда требует еще какой-то файл QCtrls.dll. Что все это значит – я не понимаю.

В каталоге, где сидит lua.exe, есть файл lua54.dll.  Это видимо какая-то своя библиотека?  Пробовал заменить в вышеупомянутых 2-х операторах w32 на lua54, т.е. написал require("lua54”) и lua54.MessageBeep(lua54.MB_OK). Но этот финт не помог -   выдает ошибку Error loading module ‘lua54’ from file ‘D:\lua\lua54.dll’.

В общем сдаюсь. Может кто-то знает- как сделать, чтобы при запуске программы с помощью lua.exe работал сигнал beep?

 
Создайте командный файл beep.bat, в него напишите

echo ^7

^7 - это один символ, набирается на дополнительной клавиатуре с зажатым контролом <Аlt>007

или в редакторе notepad++ и окна таблицы a ascii.

из луа просто вызовите os.execute("beep.bat")

также вместо этого в ф.bat запустить любой медиа проигрыватель с нужной вам мелодией.
 
.. c зажатым Аlt, конечно...
 

Что-то не получается. Например, если в редакторе «блокнот» нажать и удерживать alt и на правой клавиатуре набрать 007, то ничего не происходит, т.е. после  «echo» ничего не добавляется.

А в редакторе Notepad++ не понимаю, что я должен сделать. В меню «правка» вхожу в таблицу  символов и выбираю символ ^ (94-й) и что еще я должен ввести – 007 или 7? Пробовал и то и другое, но выдает ошибку «echo007 не является внутренней или внешней командой, исполняемой программой ил пакетным файлом». Вы пишите, что это ^7 – это один символ. Как же мне это ввести в Notepad++?  

 
Цитата
Виктор Столетов написал:
в редакторе Notepad++
, раз уж зашли в таблицу символов, выбрали символ BEL (007 который) и все. Или просто зажали альт и набрали 007, как сказано выше.
 
Цитата
Anton написал:
, раз уж зашли в таблицу символов, выбрали символ BEL (007 который) и все. Или просто зажали альт и набрали 007, как сказано выше.
Да, теперь получилось (beep двойной, а под управлением Quik был одиночный). Не знал, что в таблице надо было выбрать bel. С нажатым alt+007 в Notepad++ тоже получилось – надо было включить NumLock  (в блокноте это почему-то не срабатывает).

Правда выдает сообщение «echo не является внутренней или внешней командой, исполняемой программой ил пакетным файлом» - см. скриншот. Конечно, хотелось бы от него избавиться, по возможности.

Пояснение: я запускаю файл t.bat, в котором строка ..\lua.exe t1.lua. В файле t1.lua единственная строка os.execute("beep.bat"). Файлы t.bat, t1.lua и beep.bat находятся на d:/lua/f, а  lua.exe на d:/lua.

Спасибо за помощь.

Страницы: 1
Читают тему (гостей: 1)
Наверх