Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- os.loadAPI("apis/qmain")
- os.loadAPI("apis/qformat")
- os.loadAPI("apis/qbutton")
- function initialize()
- --Monitor initialisieren
- mon = qmain.setDefaultScreen("top")
- mon.setTextScale(0.5)
- qmain.clear()
- --Globale Variablen setzen
- beenden = false
- page_count = 3
- page = 1
- --Buttons definieren
- qbutton.setButton("increase", "-->", increasePage, nil, {30, 22}, {7, 3}, {"d", "a"})
- qbutton.setButton("decrease", "<--", decreasePage, nil, {1, 22}, {7, 3}, {"d", "a"})
- qbutton.setButton("end_prog", "Beenden", endProgram, nil, {14, 8}, {9, 3}, {"d", "a"})
- end
- function screen()
- qmain.clear() --deaktiviert auch alle vorhandenen Buttons
- qformat.writeMarkup("Page "..tostring(page).."/"..page_count, {29, 1})
- if (page == 1) then --Das ist ziemlich sloppy, normalerweise würde man jede Seite einzeln gestalten
- qformat.writeMarkup("&hMehrere Seiten!", {11, 6})
- elseif (page == 2) then
- qformat.writeMarkup("Hier steht &fmega", {11, 6})
- qformat.writeMarkup("wichtiger Text!", {11, 7})
- elseif (page == 3) then
- qbutton.drawButton("end_prog")
- end
- qbutton.drawButton("increase")
- qbutton.drawButton("decrease")
- end
- function increasePage()
- page = page + 1
- if (page == page_count + 1) then
- page = 1
- end
- end
- function decreasePage()
- page = page - 1
- if (page == 0) then
- page = page_count
- end
- end
- function endProgram()
- beenden = true
- end
- --Ich empfehle als Grundaufbau für Programme mit Buttons etwa Folgendes:
- initialize() --initialisiert Monitor, setzt globale Variablen, definiert Buttons o.ä.
- screen() --Zeichnet die Startseite
- while (beenden == false) do --solange nicht beendet wird:
- local event, side, x, y = os.pullEvent("monitor_touch") --Warte bis User auf Monitor klickt
- if qbutton.clickOn({x, y}, side) then --Wenn ein Button getroffen wurde:
- screen() --Zeichne die aktuelle Seite (meist abhängig von globaler Variable)
- end
- end
- qmain.clear()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement