Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2017, 10:20   #1
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию как забрать текст, который отображён в консоли?

Здравствуйте.
Заголовок выглядит вроде как банально (Console.Read()/Console.ReadLine()), но суть вопроса такова ...

Есть некоторый алгоритм, который выводит информацию в консоль.
По завершении работы этого алгоритма нужно сохранить данные работы в какой нибудь файл. Опять же, казалось бы - в процессе работы алгоритма складывать текст в строчку, и после завершения сохранять ...
Но лично мне лень ковырять весь код, и вставлять то, что потом придётся удалить.
Причина таких манипуляций - я хочу запустить тестовый режим, и уйти спать.

Сам вопрос: как забрать тот текст, который уже отображён в консоли ?
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 09.04.2017, 10:53   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

myapp.exe > output.txt
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2017, 12:57   #3
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Alex11223, не, не прокатит ... Тогда для теста нужно писать bash-скрипт, а логика теста у меня не такая простая ... Повторять тест до возникновения первой ошибки ... Это означает - что ошибки нужно отлавливать во время выполнения, потому что на них нужно соответствующие отреагировать.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 09.04.2017, 12:58   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И? Чем отлавливание во время выполнения помешает?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2017, 14:47   #5
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И? Чем отлавливание во время выполнения помешает?
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
myapp.exe > output.txt
Цитата:
Сообщение от OmegaBerkut Посмотреть сообщение
для теста нужно писать bash-скрипт
Bash-скрипт будет выполнять циклический запуск программы; без возможности остановить тестирование в случае возникновения ошибки ...

А хотя ...
Если всё нормально - завершить программу (myapp.exe >> log.txt)
Если исключение - Console.ReadLine() ...
По сути - от обратного ... Не подумал. Спасибо.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 09.04.2017, 14:59   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Можно и в скрипте проверять код завершения (errorlevel).
Environment.Exit или int Main

ЗЫ Bash это обычно линуксы, а не винда. На винде конечно тоже можно при желании, но по умолчанию только cmd/bat или PowerShell.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 09.04.2017, 22:48   #7
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
cmd/bat
Я это и имел ввиду ... Просто недавно много писал именно Bash именно на убунте; приелось.
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 10.04.2017, 16:21   #8
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Ищем по RedirectStandardOutput
Вот, например:
http://www.programmersforum.ru/showt...standardoutput
phomm вне форума Ответить с цитированием
Старый 10.04.2017, 18:51   #9
OmegaBerkut
Спокойный псих
Участник клуба
 
Аватар для OmegaBerkut
 
Регистрация: 19.03.2013
Сообщений: 1,538
По умолчанию

Цитата:
Сообщение от phomm Посмотреть сообщение
Ищем по RedirectStandardOutput
Я смотрел редиректы ... Но не нашёл ничего вроде "считать весь буфер".
Подпись ? Не, не слышал ...
OmegaBerkut вне форума Ответить с цитированием
Старый 10.04.2017, 18:56   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что по вашему происходит при чтении ридера?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отобразить (получить) текст ячейки DBGrid, который в нее не вмещается (Ответ) Monik11 БД в Delphi 0 26.09.2013 20:17
Забрать текст из опредеённого Edit Tab (TabControl) Shouldercannon Общие вопросы Delphi 6 15.12.2012 16:35
Как отобразить в консоли текст из переменной типа tstringlist? O'NeiLL Общие вопросы Delphi 4 17.03.2012 19:48
Народ как загрузить текст в Memo из готового фала, который указан в ListBox?) OPF_Nik Общие вопросы Delphi 7 09.11.2009 23:13