bes_zensuri1 0 Опубликовано: 13 февраля, 2022 Не знаете в чем может быть проблема? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ProgramCrafter 544 Опубликовано: 13 февраля, 2022 16 минут назад, bes_zensuri1 сказал: Не знаете в чем может быть проблема? Текст кнопки должен быть строкой, а не числом - я так понимаю 1 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
bes_zensuri1 0 Опубликовано: 20 февраля, 2022 Еще раз здравствуйте. Из-за чего может не отписовываться элемент, а именно текст. При запуске программы он на месте, но после запуска функции экран никак не меняется. Скрытый текст function ruletka() loadItems2(spisok, multyplier) Label23.caption = "" Label23:redraw() y = 11 for i = 1, 26 do name = spisok[1].item y = y + 1 for x = i,y do name = spisok[x].item Label23.caption = Label23.caption.."\n"..name Label23:redraw() end os.sleep(0.1) Label23.caption = " " Label23:redraw() end for x = 27,y+1 do name = spisok[x].item Label23.caption = Label23.caption.."\n"..name Label23:redraw() end for i = 1, #spisok do table.remove(spisok) end end Label23=Form2:addLabel(44,7,"") Label23.color = 0x000000 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy Автор темы 2 187 Опубликовано: 20 февраля, 2022 2 часа назад, bes_zensuri1 сказал: ... Когда вызывается функция ruletka? Хотелось бы весь текст программы глянуть. Каково содержимое таблицы spisok после вызова loadItems2? Зачем задавать name = spisok[1].item если тут же name снова переопределяется name = spisok[x].item? Что вообще делает loadItems2 для меня осталось загадкой. Многократно переопределяет Label23.caption, а потом очищает его. Зачем? Если имеется в виду, что там должны промелькнуть какие то буквы, то используй таймер, а не sleep иначе рискуешь потерять события. После завершения цикла for i = 1, 26 do значение переменной y всегда будет равняться 37. А значит цикл for x = 27,y+1 do выполнится от 27 до 38. Определены ли элементы spisok для таких x и чем определены? Научись давать правильные имена переменным. Label23 ни о чем не говорит. Через неделю ты сам забудешь что эта метка содержит. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kaka888 10 Опубликовано: 28 февраля, 2022 (изменено) В 20.02.2022 в 14:47, bes_zensuri1 сказал: Еще раз здравствуйте. Из-за чего может не отписовываться элемент, а именно текст. При запуске программы он на месте, но после запуска функции экран никак не меняется. Показать содержимое function ruletka() loadItems2(spisok, multyplier) Label23.caption = "" Label23:redraw() y = 11 for i = 1, 26 do name = spisok[1].item y = y + 1 for x = i,y do name = spisok[x].item Label23.caption = Label23.caption.."\n"..name Label23:redraw() end os.sleep(0.1) Label23.caption = " " Label23:redraw() end for x = 27,y+1 do name = spisok[x].item Label23.caption = Label23.caption.."\n"..name Label23:redraw() end for i = 1, #spisok do table.remove(spisok) end end Label23=Form2:addLabel(44,7,"") Label23.color = 0x000000 О, привет, Бес. Рулетку сам кодишь? Изменено 28 февраля, 2022 пользователем kaka888 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
kaka888 10 Опубликовано: 28 февраля, 2022 В 29.07.2015 в 19:02, Zer0Galaxy сказал: pastebin get iKzRve2g lib/forms.lua Конечно, браузер на такой библиотеке не построить, но для небольших приложений может сгодится. Библиотека позволяет создавать следующие визуальные компоненты: Form (форма) - является контейнером для остальных компонентов. Служит для быстрой смены экранного интерфейса без необходимости удалять и создавать компоненты. Button (кнопка) - тут всё понятно. Label (метка) - просто строка текста. Edit (окно ввода) - позволяет вводить текст. Frame (рамка) - просто рамка. List (список) - отображается в виде набора строк. Каждой строке ставится в соответствие элемент, способный хранить любое lua-значение (число, строку, таблицу и т.д.). Пользователь может прокручивать список, выбирать один из элементов, производить сортировку списка. И невизуальные компоненты: Event (событие) - обрабатывает системные события. Timer (таймер) - позволяет вызывать функцию-обработчик с заданным периодом. Пример работы с библиотекой: Показать содержимое forms=require("forms") -- подключаем библиотеку Form1=forms.addForm() -- создаем основную форму exitForm=forms.addForm() -- и форму диалога выхода exitForm.border=2 exitForm.W=31 exitForm.H=7 exitForm.left=math.floor((Form1.W-exitForm.W)/2) exitForm.top =math.floor((Form1.H-exitForm.H)/2) exitForm:addLabel(8,3,"Вы хотите выйти?") exitForm:addButton(5,5,"Да",function() forms.stop() end) exitForm:addButton(18,5,"Нет",function() Form1:setActive() end) Btn1=Form1:addButton(65,21,"Выход",function() exitForm:setActive() end) -- создаем кнопку выхода Btn1.color=0x505050 -- задаем цвет кнопки forms.run(Form1) --запускаем gui Попробовать библиотеку в действии можно в дата-центре на компьютере с координатами 10150, 14199. Для этого необходимо запустить файл form.lua Привет. Эта библиотека есть на GitHub? Она с 2015 года ни разу не обновлялась? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах