Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[tlfOS Text API]]--
- function writeCentered(str, h, startPos, endPos)
- if h == nil then
- _, h = term.getCursorPos()
- end
- if startPos == nil then
- local w = term.getSize()
- term.setCursorPos((w - #str)/2,h)
- else
- w = endPos - startPos
- term.setCursorPos((w - #str)/2 + startPos,h)
- end
- write(str)
- end
- function printCentered(str, h, startPos, endPos)
- writeCentered(str, h, startPos, endPos)
- print()
- end
- function getLongestString(t)
- local length = 0
- for i = 1, #t do
- if #t[i] > length then
- length = #t[i]
- end
- end
- return length
- end
- function readWithBoundaries(xposStart, xposEnd, ypos, charReplace)
- local t = {}
- term.setCursorPos(xposStart, ypos)
- term.setCursorBlink(true)
- local diff = xposEnd - xposStart
- if diff < 1 then
- error("The second number must be bigger than the first")
- end
- local function refreshLine()
- term.setCursorPos(xposStart, ypos)
- for i = 1, diff do
- write(" ")
- end
- term.setCursorPos(xposStart, ypos)
- if charReplace ~= nil and charReplace ~= "" then
- if #t > diff then
- for i = 1, diff do
- write(charReplace)
- end
- else
- for i = 1, #t do
- write(charReplace)
- end
- end
- else
- if #t > diff then
- for i = 1, diff do
- write(t[#t - diff + i])
- end
- else
- for i = 1, #t do
- write(t[i])
- end
- end
- end
- end
- while true do
- local p1, p2 = os.pullEvent()
- if p1 == "char" then
- table.insert(t, p2)
- elseif p1 == "key" and p2 == 28 then
- str = ""
- for i = 1, #t do
- str = str..t[i]
- end
- term.setCursorBlink(false)
- return str
- elseif p1 == "key" and p2 == 14 then
- table.remove(t, #t)
- end
- refreshLine()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment