Перейти к содержимому
Laine_prikol

"Продвинутое" управление редстоуном

Рекомендуемые сообщения

Сегодня сделал прогу чтобы управлять редстоуном

Загрузка программы:

pastebin get 91Xufggz Install_RED

Команда для запуска Install_RED

Интерфейс программы:

991be1afe8a35eb8d34ef28cf4af0c4b.png

Системные требования

  1. Процессор 1 уровень и выше
  2. Видеокарта ТОЛЬКО 2 УРОВЕНЬ
  3. Оперативы 384KB
  4. Жёсткий диск
  5. Интернет карта (чтобы установить из Pastebin)
  6. Экран ТОЛЬКО 2 УРОВЕНЬ
Изменено пользователем Laine_prikol

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос: как планируется выходить из бесконечного цикла после нажатия кнопки "Цикл"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вопрос: как планируется выходить из бесконечного цикла после нажатия кнопки "Цикл"?

Незнаю как решить проблему с циклом потому-что комп просто зависает, только перезапуск помогает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Незнаю как решить проблему с циклом потому-что комп просто зависает, только перезапуск помогает

Поставить проверку ивентом и break если нажата какая-то кнопка, может?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поставить проверку ивентом и break если нажата какая-то кнопка, может?

Он вообще не на что не реагирует не на Ctrl+Alt+C не на любые события в программы, только в перезапуск компа помогает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Он вообще не на что не реагирует не на Ctrl+Alt+C не на любые события в программы, только в перезапуск компа помогает

Просто слишком все быстро происходит. Я бы посоветовал добавить возможность редактирования времени переключения сигналов для цикла и соответственно команду os.sleep(n), чтобы создавалась пауза. Компьютер перестает отвечать так как команды требующие времени на выполнение отходят в стек, который постепенно выполняется. В итоге у тебя набирается куча таких команд(так как нету паузы системы) и экстренный выход(Ctrl+Alt+C) находится где-то в глубочайшей попке стека выполнения. Вот так как-то. :D

Изменено пользователем Pofigist

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

#ябсделаллучше, как в стабильности программы, так и с точки зрения дизайна, но #мнелень  :)

 

Странное решение использовать чужой графический API в такой элементарной проге. Намного лучше сделать всё самому.

Изменено пользователем qwertyMAN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

#ябсделаллучше, как в стабильности программы, так и с точки зрения дизайна, но #мнелень  :)

Если ты не знал, это раздел программ от начинающих программистов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Незнаю как решить проблему с циклом потому-что комп просто зависает, только перезапуск помогает

вот из-за таких прог потом сервак лагает. Зачем такой безумный цикл запускать, что даже комп стопнуть не удается?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

#ябсделаллучше, как в стабильности программы, так и с точки зрения дизайна, но #мнелень  :)

 

Странное решение использовать чужой графический API в такой элементарной проге. Намного лучше сделать всё самому.

Это был просто тест GUI API Этого автора, а он норм кстати GUI API. Простой и удобный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

while noExit do

end
?
 


И добавь в цикл слип на 0
Кнопки ведь в event.listen обрабатываются?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему слип-ноль? Если это генератор импульсов, то то слип - длительность импульса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Почему слип-ноль? Если это генератор импульсов, то то слип - длительность импульса.

 

Btn3=Form1:addButton(2,5,"ЦИКЛ",function() while true do rs.setOutput(sides.south, 0) rs.setOutput(sides.south, 15) end   end)

Я никакого слипа не вижу

Лэйн, замени на 

Btn3=Form1:addButton(2,5,"ЦИКЛ",function()if noExit==true then noExit=false else noExit=true end while noExit do rs.setOutput(sides.south, 0) os.sleep(длина импульса) rs.setOutput(sides.south, 15) end   end)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Btn3=Form1:addButton(2,5,"ЦИКЛ",function() while true do rs.setOutput(sides.south, 0) rs.setOutput(sides.south, 15) end   end)
Я никакого слипа не вижу

Лэйн, замени на 

Btn3=Form1:addButton(2,5,"ЦИКЛ",function()if noExit==true then noExit=false else noExit=true end while noExit do rs.setOutput(sides.south, 0) os.sleep(длина импульса) rs.setOutput(sides.south, 15) end   end)

 

noExit = not noExit

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не. Так тоже не получится. Дело в том, что forms не использует многопоточность и пока ты не выйдешь из цикла кнопки работать не будут. Я бы рекомендовал генерировать импульсы при помощи таймеров.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А чего просто не поставить тикалку на редлоджике каком-то Для чего целый комп для этого? Там же миллион таймеров, формирователей импульсов, готовых Т-тригеров и прочее прочее. Там же эпик можно делать и ветер.

А кнопки и гуи оставить для реальных диалоговых программок, где прога что-то выполнила и опять ожидает инструкций и команд от человека , а не уходит в глубокий лагоцикл бесконечный, беспросветный и печальный.

 

Я бы еще понял, если бы там использовались несколько многожильных редпавер бандледкейблов и прочее, какая-то логика, комп проверяет набор состояний и не даст выключить тот или иной сигнал, пока включен другой (какое-то управление линией производства, реакторами, заряжалками  и так далее и там есть требования к безопасности управления)
Там да, упаришься бегать по этажам и врубать нужные рычаги, когда их полсотни, а на компе удобно все это постранично вывести с названиями реальных объектов управления и отображением состояния вкл.или выкл. в данный момент. Но сам формирователь импульсов нужно собрать отдельно на редпавер логике и он ждет только сигнала с компа на включение и начинает тогда работать самостоятельно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...