Advertisement
Skip_21

Factures

Jun 27th, 2015
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.07 KB | None | 0 0
  1. term.clear()
  2. term.setCursorPos(1,1)
  3. local id = ""
  4. local prixU = ""
  5. local nombre = ""
  6. local prix = ""
  7. local client = ""
  8.  
  9. function getPrinters()
  10.         local periList = peripheral.getNames()
  11.         local i = 1
  12.         local r = {}
  13.         for j = 1, #periList do
  14.                 if peripheral.getType(periList[j]) == "printer" then
  15.                         r[i] = periList[j]
  16.                         i = i+1
  17.                 end
  18.         end
  19.         return r
  20. end
  21.  
  22. function printBill(p)
  23.         local periList = getPrinters()
  24.         local printer
  25.         for i=1, #periList do
  26.                 if i == tonumber(p) then
  27.                         printer = peripheral.wrap(periList[i])
  28.                 end
  29.         end
  30.         printer.newPage()
  31.     printer.write("*-*-*-*-*-*-*-*-*-*-*-*-*")
  32.     printer.setCursorPos(1,2)
  33.         printer.write("id : ".. id)
  34.     printer.setCursorPos(1,3)
  35.     printer.write("prix unitaire : ".. prixU)
  36.         printer.setCursorPos(1,4)
  37.     printer.write("nombre : ".. nombre)
  38.     printer.setCursorPos(1,5)
  39.         printer.write("prix : ".. prix)
  40.         printer.setCursorPos(1,6)
  41.         printer.write("client : ".. client)
  42.     printer.setCursorPos(1,7)
  43.     printer.write("*-*-*-*-*-*-*-*-*-*-*-*-*")
  44.         printer.endPage()
  45. end
  46.  
  47. print("")
  48.  local periList = getPrinters()
  49.  
  50. if table.getn(periList) > 0 then
  51.         write("ID : ")
  52.         id = read()
  53.     write("Nombre d'item(s) : ")
  54.         nombre = read()
  55.     write("Prix unitaire: ")
  56.         prixU = read()
  57.         write("Prix : ")
  58.         prix = read()
  59.         write("Client : ")
  60.         client = read()
  61.         local selected = 1
  62.        
  63.         while true do
  64.                 term.clear()
  65.                
  66.                 for i=1, #periList do
  67.                         if i>7 then break end
  68.                        
  69.                         if selected == i then
  70.                                 term.setCursorPos(1,i)
  71.                                 write(">")
  72.                         else
  73.                                 term.setCursorPos(2,i)
  74.                         end
  75.                         write(periList[i])
  76.                         if selected == i then
  77.                                 write("<")
  78.                         end
  79.                 end
  80.                 local e, k = os.pullEvent("key")
  81.                 sleep(0.1)
  82.                 if k == 200 then
  83.                         if selected > 1 then
  84.                                 selected = selected - 1
  85.                         else
  86.                                 selected = table.getn(periList)
  87.                         end
  88.                 elseif k == 208 then
  89.                         if selected < table.getn(periList) then
  90.                                 selected = selected+1
  91.                         else
  92.                                 selected = 1
  93.                         end
  94.                 elseif k == 28 then
  95.                         break
  96.                 end
  97.         end
  98.         printBill(selected)
  99.     printBill(selected)
  100. else
  101.         print("No printer found")
  102. end
  103.  
  104. print("")
  105. print("Press any key to quit")
  106. os.pullEvent("key")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement