async-await + консоль
От: Kaifa Россия  
Дата: 12.03.20 14:42
Оценка:
консольное приложение.
крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается.
мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю.
предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?
Re: async-await + консоль
От: Sharov Россия  
Дата: 12.03.20 17:47
Оценка:
Здравствуйте, Kaifa, Вы писали:

K>консольное приложение.

K>крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается.
K>мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю.
K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?

Найти какую-нибудь библиотеку, которая писала бы прогресс в консоль. Правда я не уверен, что ввод был бы возможен в данном случае...
Кодом людям нужно помогать!
Re: async-await + консоль
От: SomeOne_TT  
Дата: 12.03.20 18:26
Оценка: 2 (1)
Здравствуйте, Kaifa, Вы писали:

K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?


Отключать ввод при обновлении прогресса?
гугл по "Console disable input windows" выдает всякое.
Re[2]: async-await + консоль
От: Kaifa Россия  
Дата: 12.03.20 18:42
Оценка:
SO_>Отключать ввод при обновлении прогресса?
SO_>гугл по "Console disable input windows" выдает всякое.

отключать ввод низя. суть задания, чтобы была возможность всегда вбить число с консоли, а процедура, выполняющая крайне важный расчет суммы чисел в цикле на это среагировала. в принципе в задании про прогресс ни слова — чисто мои хотелки....
Re: async-await + консоль
От: Danchik Украина  
Дата: 13.03.20 04:55
Оценка: 2 (1)
Здравствуйте, Kaifa, Вы писали:

K>консольное приложение.

K>крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается.
K>мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю.
K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?

Такое не подойдет?
https://github.com/goblinfactory/konsole
Re[2]: async-await + консоль
От: rm822 Россия  
Дата: 13.03.20 12:39
Оценка: :)
D>https://github.com/goblinfactory/konsole
Дотнетчики изобрели turbo vision
https://en.wikipedia.org/wiki/Turbo_Vision
Re[3]: async-await + консоль
От: paradoks  
Дата: 13.03.20 14:15
Оценка:
Здравствуйте, Kaifa, Вы писали:

SO_>>Отключать ввод при обновлении прогресса?

SO_>>гугл по "Console disable input windows" выдает всякое.

K>отключать ввод низя. суть задания, чтобы была возможность всегда вбить число с консоли, а процедура, выполняющая крайне важный расчет суммы чисел в цикле на это среагировала.



читай внимательно что тебе ответили выше
SO_>>Отключать ввод при обновлении прогресса?

если еще не понял — обновляй 1 раз за 1 сек
Отредактировано 13.03.2020 14:23 paradoks . Предыдущая версия .
Re[3]: async-await + консоль
От: Danchik Украина  
Дата: 14.03.20 09:15
Оценка:
Здравствуйте, rm822, Вы писали:

D>>https://github.com/goblinfactory/konsole

R>Дотнетчики изобрели turbo vision
R>https://en.wikipedia.org/wiki/Turbo_Vision

Я знаю что такое Turbo Vision не понаслышке, книга справочник затерта до дыр.
Думаю эта либа серьезно не дотягивает до TV, но да, если продолжит — лучше бы ему архитектуру чуток подсмотреть.
Re: async-await + консоль
От: alexanderfedin США http://alexander-fedin.pixels.com/
Дата: 15.03.20 05:03
Оценка:
Здравствуйте, Kaifa, Вы писали:

K>консольное приложение.

K>крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается.
K>мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю.
K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?
Сделай блокирующую или кэширующий обертку над консолью.
Respectfully,
Alexander Fedin.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.