SergOmarov 34 Опубликовано: 16 августа, 2015 Выполняется код: local r=term.read() как программно вставить в ввод строку? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
NEO 541 Опубликовано: 16 августа, 2015 (изменено) term.read измени, напиши свой, или отредактируй. Изменено 16 августа, 2015 пользователем NEO 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 16 августа, 2015 term.read измени, напиши свой, или отредактируй. попробую Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 17 августа, 2015 (изменено) Выполняется код: local r=term.read() как программно вставить в ввод строку? computer.pushSignal("key_down",kbd.address,0,200) --имитируем нажатие стрелки вверх r=term.read({"bla-bla-bla"}) -- вызываем read с прописанной историей Изменено 17 августа, 2015 пользователем Zer0Galaxy 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 17 августа, 2015 Это не совсем то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 17 августа, 2015 тогда не понятно какую строку в какой ввод нужно вставить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 17 августа, 2015 Так я же рабочий стол для очков делаю... Нео - твоя идея норм, щас реализую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 17 августа, 2015 тогда не понятно какую строку в какой ввод нужно вставить тяжело помочь человеку, когда он сам, видимо, толком не знает, что хочет, или объяснить не может)))) П.С. Серг, кинешь нам потом сюда в этот топик свой read: "Нео - твоя идея норм, щас реализую" . Хоть посмотрим, что ты именно хотел и что это должно было быть (если это конечно был не просто вопрос ради вопроса) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 17 августа, 2015 (изменено) computer.pushSignal("clipboard", text) сделает insert с буфером text Изменено 17 августа, 2015 пользователем Asummonster 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 18 августа, 2015 Вообще так, но не пашет, потому, что term.read не использует io.read переделываю local io_input=io.input io.input=function(file) if(file)then return io_input(file) else local eventObject={event.pull('chat_message')} local users=Set({computer.users()}) if(users[eventObject[3]])then local stringS=eventObject[4] if(stringS:sub(1,2)=="--")then if(stringS:sub(1,3)=="--/")then stringS=string.sub(stringS,4,#stringS) shell.execute(stringS) else return string.sub(stringS,3,#stringS) end else return require("process").info().data.io_input end end end end Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 18 августа, 2015 @@SergOmarov, представляешь: io.read() использует term.read() как раз-таки Смотри исходники внимательнее (boot/03_io.lua) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 18 августа, 2015 (изменено) ... ... local users=Set({computer.users()}) ... Что за функция Set? И что оно в конце концов делает? Изменено 18 августа, 2015 пользователем Zer0Galaxy Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 18 августа, 2015 Это как if(a in b){} а содержится в b, для этой поддержки) (boot/03_io.lua) Это, вроде, не то, но гляну. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asummonster 592 Опубликовано: 18 августа, 2015 Просто надо делать это через thread, "потому что когда ты создаёшь ивент clipboard функция term.read ещё не запущена"@Fingercomp Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 19 августа, 2015 Параллельно вызывать ивент клавиши и функцию term.read() Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 19 августа, 2015 Ну-ка, объясните мне, зачем вызывать параллельно ивент клавиши и read. Чем последовательный вызов не устраивает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 19 августа, 2015 Я вот тоже не понял, хотя, возможно, ивент уже заканчивается на момент вызова term.read Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 19 августа, 2015 Ивент заканчивается при выходе из функции event.pull. А это происходит уже внутри тела term.read Можно сделать даже так computer.pushSignal("event1") --ставим в очередь событие 1 computer.pushSignal("event2") --ставим в очередь событие 2 computer.pushSignal("event3") --ставим в очередь событие 3 repeat ev=event.pull(1) -- обрабатываем события print(ev) until not ev При этом поставленные в очередь события никуда не деваются, а спокойно дожидаются своей очереди. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 19 августа, 2015 Ивент заканчивается при выходе из функции event.pull. А это происходит уже внутри тела term.read Можно сделать даже так computer.pushSignal("event1") --ставим в очередь событие 1 computer.pushSignal("event2") --ставим в очередь событие 2 computer.pushSignal("event3") --ставим в очередь событие 3 repeat ev=event.pull(1) -- обрабатываем события print(ev) until not ev При этом поставленные в очередь события никуда не деваются, а спокойно дожидаются своей очереди. Именно! Без понятия, когда я говорил такую чушь о том, что ивент кончается до вызова term.read, но ладно уж. Вот даже скриншот: http://i.imgur.com/M0YcR0u.png До этого была запущена команда data={event.pull("key_down")} Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
SergOmarov Автор вопроса 34 Опубликовано: 19 августа, 2015 Хм, непривычная система событий) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Выполняется код: local r=term.read()
как программно вставить в ввод строку?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах