skorik 0 Опубликовано: 25 октября, 2020 Есть два компьютера с СОЕДИНЁННЫМИ КАРТАМИ (парными), нужно создать прогу простейшую для передачи сообщений между ними. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 30 октября, 2020 (изменено) В 25.10.2020 в 17:39, skorik сказал: нужно создать прогу простейшую для передачи сообщений между ними. Если имеется в виду чат, то вот накидал пару строк, но без истории сообщений Скрытый текст local com = require("component") local tunnel = com.isAvailable("tunnel") and com.tunnel or error("нет связанной платы") local event = require("event") local term = require("term") local function receive(_,_,_,_,_,message) term.setCursor(1,3) term.clearLine() term.write("< "..message) end event.listen("modem_message", receive) term.clear() while true do term.setCursor(1,1) term.clearLine() term.write("> ") tunnel.send(term.read()) end p.s. Прога работает, но это так наброски Изменено 30 октября, 2020 пользователем serafim 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 1 ноября, 2020 (изменено) https://pastebin.com/GBrch6sX или pastebin get GBrch6sX chat Скрытый текст можно одновременно писать и принимать сообщения Добавлено: авто определение связанной платы и модема история сообщений (теперь выглядит как настоящий чат) удаление последнего символа из строки при написании несколько цветовых тем кнопка выхода с завершением event.listen описание кнопок при запуске удаление всей строки кнопкой Del очистка буфера экрана (защита от переполнения) запрет отправки пустого сообщения, нажимая кнопку enter звуковое оповещение о сообщении курсор теперь не мигает при работе с текстом Изменено 26 марта, 2021 пользователем serafim 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 2 ноября, 2020 @serafim Нормально. Теперь уже получился полноценный чат. Но почему-то, отправка сообщений закомментирована в коде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 2 ноября, 2020 (изменено) 3 часа назад, eu_tomat сказал: отправка сообщений закомментирована в коде Упс, отладку в эмуляторе OCEmu делал, а там нет связанной карты, да и модем сам на себя работает. А майн запускал только пару раз, убедится что прога работает. Поправил (убрал коменты) Есть ещё мелкая бага которую не могу победить: В русской раскладке при удалении последнего символа нажав Backspace появляется лишний кривой символ, чтоб удалить приходится 2 раза нажимать Backspace, а в английской раскладке такого не происходит. Операясь на эту статью нашол его 0x00D0 Скрытый текст local unicode=require("unicode") print(unicode.char(0x00D0)) Изменено 2 ноября, 2020 пользователем serafim Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ZO125 11 Опубликовано: 2 ноября, 2020 8 часов назад, serafim сказал: Упс, отладку в эмуляторе OCEmu делал, а там нет связанной карты, да и модем сам на себя работает. А майн запускал только пару раз, убедится что прога работает. Поправил (убрал коменты) Есть ещё мелкая бага которую не могу победить: В русской раскладке при удалении последнего символа нажав Backspace появляется лишний кривой символ, чтоб удалить приходится 2 раза нажимать Backspace, а в английской раскладке такого не происходит. Операясь на эту статью нашол его 0x00D0 Показать содержимое local unicode=require("unicode") print(unicode.char(0x00D0)) А если попробовать так? text_buffer = unicode.sub(text_buffer, 0, unicode.len(text_buffer) - 1) Код не проверял. Набросал наскоро. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 2 ноября, 2020 (изменено) Работает, а я всё думал как его победить, всёж логично Появления лишнего символа возможно из за того, что в кодировке utf-8 один русский символ представляется двумя байтами, а не одним байтом как в английской Спосиб, такой вариант тоже решает проблему Изменено 2 ноября, 2020 пользователем serafim Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 3 ноября, 2020 @serafim чел зарегался, оставил "заказ" и пропал... и больше не появлялся) Уже не первый раз такую херабру наблюдаю и почта какая-то странная или одноразовая. Спамер судя по всему или твин чей-то. Скрытый текст Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
serafim 272 Опубликовано: 4 ноября, 2020 (изменено) 23 часа назад, Alex сказал: чел зарегался, оставил "заказ" и пропал Да уж, не ожидал что сделают что ли, хотя для меня тема сделать чат интересная, посути заново изобретаешь велосипед терминал. Тут куча методик которые раньше я не где не использовал (буфер, unicode.char, sub, event.listen и т.д.) Пока есть ещё идеи по мелочи, попробую реализовать. Изменено 4 ноября, 2020 пользователем serafim Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Leva5678567 2 Опубликовано: 23 октября, 2021 эм 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах