Advertisement
Neverlose

Untitled

Dec 13th, 2024 (edited)
13
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. -- Функция для создания поля ввода
  2. function drawInputBox(x, y, width)
  3. term.setCursorPos(x, y)
  4. term.write(string.rep(" ", width)) -- Очищаем область для ввода
  5. term.setCursorPos(x, y) -- Ставим курсор в начало поля
  6. term.write("[Введите текст]")
  7. term.setCursorPos(x, y) -- Снова ставим курсор в начало для ввода
  8. end
  9.  
  10. -- Функция для получения текста из поля ввода
  11. function getInput(x, y, width)
  12. local input = ""
  13. term.setCursorPos(x, y)
  14. term.write(string.rep(" ", width)) -- Очищаем поле ввода
  15. term.setCursorPos(x, y) -- Ставим курсор в начало
  16. while true do
  17. local event, key = os.pullEvent("char")
  18. if key == '\n' then -- Нажатие Enter
  19. break
  20. elseif key == '\27' then -- Нажатие Esc
  21. input = "" -- Отмена ввода
  22. break
  23. else
  24. input = input .. key -- Добавляем символ к вводу
  25. term.write(key) -- Печатаем символ
  26. end
  27. end
  28. return input
  29. end
  30.  
  31. -- Основной код
  32. term.clear()
  33. term.setCursorPos(1, 1)
  34. term.setBackgroundColor(colors.gray)
  35. term.write("=== Мой GUI ===")
  36. term.setBackgroundColor(colors.black)
  37. term.setCursorPos(1, 3)
  38.  
  39. drawInputBox(2, 4, 20) -- Создаем поле ввода
  40. local userInput = getInput(2, 4, 20) -- Получаем ввод от пользователя
  41.  
  42. term.setCursorPos(1, 6)
  43. term.write("Вы ввели: " .. userInput) -- Показываем введенное значение
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement