консольное приложение.
крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается.
мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю.
предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?
Здравствуйте, Kaifa, Вы писали:
K>консольное приложение. K>крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается. K>мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю. K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?
Найти какую-нибудь библиотеку, которая писала бы прогресс в консоль. Правда я не уверен, что ввод был бы возможен в данном случае...
SO_>Отключать ввод при обновлении прогресса? SO_>гугл по "Console disable input windows" выдает всякое.
отключать ввод низя. суть задания, чтобы была возможность всегда вбить число с консоли, а процедура, выполняющая крайне важный расчет суммы чисел в цикле на это среагировала. в принципе в задании про прогресс ни слова — чисто мои хотелки....
Здравствуйте, Kaifa, Вы писали:
K>консольное приложение. K>крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается. K>мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю. K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?
Здравствуйте, Kaifa, Вы писали:
SO_>>Отключать ввод при обновлении прогресса? SO_>>гугл по "Console disable input windows" выдает всякое.
K>отключать ввод низя. суть задания, чтобы была возможность всегда вбить число с консоли, а процедура, выполняющая крайне важный расчет суммы чисел в цикле на это среагировала.
читай внимательно что тебе ответили выше SO_>>Отключать ввод при обновлении прогресса?
Я знаю что такое Turbo Vision не понаслышке, книга справочник затерта до дыр.
Думаю эта либа серьезно не дотягивает до TV, но да, если продолжит — лучше бы ему архитектуру чуток подсмотреть.
Здравствуйте, Kaifa, Вы писали:
K>консольное приложение. K>крутится асинхронно обработка, а в это время принимается ввод с консоли. при введенном значении обработка перезапускается. K>мне не нравится что обработка крутится тихо. хочу сделать, чтоб вверху слева писал прогресс выполнения. запоминаю текущую позицию курсора (через свойства CursorLeft и CursorTop). пишу прогресс, потом позицию восстанавливаю. K>предсказуемо иногда получается сдвиг текущей позиции курсора на строчку выше. вопрос. как можно от этого защититься?
Сделай блокирующую или кэширующий обертку над консолью.