Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local list = {
- "Eintrag 1", "Eintrag 2", "Eintrag 3", "Eintrag 4", "Eintrag 5",
- "Eintrag 6", "Eintrag 7", "Eintrag 8", "Eintrag 9", "Eintrag 10",
- "Eintrag 11", "Eintrag 12", "Eintrag 13", "Eintrag 14", "Eintrag 15",
- "Eintrag 16", "Eintrag 17", "Eintrag 18", "Eintrag 19", "Eintrag 20",
- "Eintrag 21", "Eintrag 22", "Eintrag 23", "Eintrag 24", "Eintrag 25",
- "Eintrag 26", "Eintrag 27", "Eintrag 28", "Eintrag 29", "Eintrag 30",
- "Eintrag 31", "Eintrag 32", "Eintrag 33", "Eintrag 34", "Eintrag 35",
- "Eintrag 36", "Eintrag 37", "Eintrag 38", "Eintrag 39", "Eintrag 40",
- "Eintrag 41", "Eintrag 42", "Eintrag 43", "Eintrag 44", "Eintrag 45",
- "Eintrag 46", "Eintrag 47", "Eintrag 48", "Eintrag 49", "Eintrag 50",
- }
- local screenHeight = 14 -- Höhe des Bildschirms
- local screenWidth = 51 -- Breite des Bildschirms
- local xPos = 3 -- Start-X-Position der Liste
- local yPos = 3 -- Start-Y-Position der Liste
- local currentPos = 1 -- Startposition
- local lastIndex = #list
- local scrollBarStart = 3 - 1 -- Startposition des Scrollbalkens
- local scrollBarEnd = scrollBarStart + screenHeight - 1-- Endposition des Scrollbalkens
- local function clearScreen()
- term.setBackgroundColor(colors.black)
- term.setTextColor(colors.white)
- term.clear()
- end
- local function displayList()
- clearScreen()
- local visibleEntries = math.min(lastIndex - currentPos + 1, screenHeight)
- for i = currentPos, currentPos + visibleEntries - 1 do
- term.setCursorPos(xPos, yPos + i - currentPos)
- print(list[i])
- end
- -- Scrollbalken
- local scrollBarHeight = math.ceil(screenHeight / lastIndex * visibleEntries)
- local scrollPos = math.ceil((currentPos / lastIndex) * (screenHeight - scrollBarHeight))
- if scrollBarHeight > 0 then
- for i = scrollBarStart, scrollBarEnd do
- term.setCursorPos(screenWidth, i)
- if i >= scrollBarStart + scrollPos and i < scrollBarStart + scrollPos + scrollBarHeight then
- term.setBackgroundColor(colors.lightGray)
- else
- term.setBackgroundColor(colors.black)
- end
- term.write(" ")
- end
- end
- end
- local function scrollDown()
- if currentPos < lastIndex - screenHeight + 1 then
- currentPos = currentPos + 1
- displayList()
- end
- end
- local function scrollUp()
- if currentPos > 1 then
- currentPos = currentPos - 1
- displayList()
- end
- end
- displayList()
- while true do
- local event, key = os.pullEvent("key")
- if key == keys.up then
- scrollUp()
- elseif key == keys.down then
- scrollDown()
- elseif key == keys.q then
- break
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement