|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.10.2015, 23:20 | #1 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
Readln timeout
Здравствуйте, как заставить консоль одновременно и считывать ввод с клавиатуры и выводить текст? (Например окошко hlds ну или же как в линуксе, постоянно выводится информация и одновременно работает ввод команд)
Пишу что то типа сервера, и выводится в консоль кто отключился/подключился, надо как то вместе с этим работающий readln.
Здравствуйте
Последний раз редактировалось NEoMASTERR; 27.10.2015 в 23:22. |
28.10.2015, 14:47 | #2 |
Форумчанин
Регистрация: 07.11.2011
Сообщений: 161
|
Зачем таймаут? можно например в разных потоках читать ввод и выполнять необходимую работу, при необходимости приостанавливая вывод/работу "рабочего" потока до конца ввода команды. Вроде этого:
Последний раз редактировалось DIONISKA; 28.10.2015 в 15:25. |
28.10.2015, 15:52 | #3 | |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
Цитата:
Примерно так:
Здравствуйте
Последний раз редактировалось NEoMASTERR; 28.10.2015 в 15:57. |
|
28.10.2015, 16:03 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а переделать это немного не то, на ваше то?
вам лишь пример показали, переделайте под себя Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.10.2015, 16:09 | #5 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
не могу понять вашу задумку. ну вот, допустим, идёт какой-то вывод, как на вашем скриншоте, Вы начали набирать текст blablabla и в этот момент вывелось ещё несколько строчек в консоль.
что должно произойти с вашим набранным blablabla ? что должно произойти с позицией курсора (он сейчас в конце набранной строки) что будет, если в консоли будет выведено 100 строк? Где окажется ваше blablabla ? на мой взгляд, интерфейс должен быть СОВСЕМ другой: экран разделён - верхние строки и одна нижняя. в верхнюю часть добавляются новые строки, они скроллируются, нижняя часть стоит на месте, там ваш курсор. набрали строку, нажали Enter - ваша строка попала в Output. так сделаны многие мессенджеры (посмотрите, например, окошко сообщений в Skype) |
28.10.2015, 16:18 | #6 | |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
Цитата:
я и хочу так, и если б я знал как я бы сделал) поэтому я здесь (это консольное окно выше - не моя работа)
Здравствуйте
Последний раз редактировалось NEoMASTERR; 28.10.2015 в 16:42. |
|
28.10.2015, 17:38 | #7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
это вам уже полноценный CUI надо брать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
28.10.2015, 20:50 | #8 |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
Ну хоть ссылкой в меня киньте чтоль
Здравствуйте
|
29.10.2015, 01:32 | #9 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,887
|
Ссылкой на что, пардон? Консоль подразумевает последовательный ввод/вывод информации.
В сущности она даже ущербней пишмашинки, про которую ты может слышал. На пишмашинке можно было прокрутить лист бумаги книзу , напечатать что-нибудь там, а затем прокрутить лист назад (вверх) и печатать на прежнем месте. Консоль этого не умеет. |
29.10.2015, 02:12 | #10 | |
Форумчанин
Регистрация: 22.12.2010
Сообщений: 175
|
Цитата:
1. Скрин, ввёл команду БЛАБЛА 2. Скрин, в консольке произошли изменения (вывелась новая информация), БЛАБЛА по прежнему на месте, ничё не трогал в консольке 3. Нажал энтер, сообщений о несуществующих командах нет поэтому ввел дополнительно команду status (всё это дело в середине консольки, результат команды сразу после неё)
Здравствуйте
Последний раз редактировалось NEoMASTERR; 29.10.2015 в 02:23. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пропускает Readln(<string>) | olololeg | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 12.11.2012 18:49 |
Readln и задержка | Freezy | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 17.04.2011 15:26 |
delphi write readln | Petrovich83 | Помощь студентам | 2 | 02.04.2011 12:15 |
Readln | BaJIuK | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 25.06.2010 04:21 |