Advertisement
Asioron

Blue

Jan 11th, 2016
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.56 KB | None | 0 0
  1. --блютуз для передачи инфы между приборами
  2. com=require("component")
  3. if com.isAvailable("modem") then modem=com.modem
  4. else error("Нет модема!")
  5. end
  6. event=require("event")
  7. term=require("term")
  8. fs=require("filesystem")
  9. args={...}
  10. func=args[1]
  11. fileNAME=args[2]
  12. PORT=tonumber(args[3])
  13. ENDOFGETTHEFILE=true
  14. if func==nil or fileNAME==nil or PORT==nil then print("Использование: -get <filename> <port> для получения файла\n -send <filename> <port> для отправки")
  15. end
  16. function sendFile(filename, port)
  17.     modem.open(port)
  18.     for line in io.lines(filename) do
  19.          modem.broadcast(port, line)
  20.     end
  21.     modem.broadcast(port, "ENDOFTHECURRENTLYFILE")
  22.     modem.close(port)
  23.  end
  24.  function getFile(filename, port)
  25.   modem.open(port)
  26.   getted=io.open(filename, "w")
  27.   last = ""
  28.   while ENDOFGETTHEFILE do
  29.      _, _, _, _, _, LINE = event.pull("modem_message")
  30.     if last ~= LINE then
  31.        if LINE=="ENDOFTHECURRENTLYFILE" then getted:flush()
  32.            getted:close()
  33.          ENDOFGETTHEFILE=false
  34.       else
  35.         print(LINE)
  36.         getted:write(LINE.."\n")
  37.       end
  38.     end
  39.     last = LINE
  40.   end
  41. end
  42. if func=="-get" then
  43.     if fs.exists(fileNAME) then print("Данный файл уже существует! Задайте другое имя!"); error()
  44.     else getFile(fileNAME, PORT)
  45.   end
  46. elseif func=="-send" then
  47.     if not fs.exists(fileNAME) then print("Такой файл не найден!"); error()
  48.   else sendFile(fileNAME, PORT)
  49.     end
  50. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement