Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подменить консоль эдитом, Можно так? 
V
    Опции темы
Dray
Дата 5.6.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: 2
Всего: 6



Просто есть код - консольное приложение, и там при помощи cout << выводится очень много полезных вещей. Хотелось бы просто перенести этот код без больших изменений в MFC'шное приложение и сделать так что cout << выводил не на консоль а на CEdit. Реально так связать cout  с эдитом??? Может можно как нибудь написать свой класс производный от ostream который будет связан с CEdit'ом? Да и в целом в некоторых задачах у меня часто возникали мысли использовать эдит как консоль, так что было бы интересно узнать способ это сделать. 


--------------------
忍者

user posted image
PM MAIL   Вверх
Earnest
Дата 5.6.2006, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Заведи себе просто поток для протоколирования и выводи туда (вместо cout). 
А отображение содержимого этого потока в каком-нибудь окне (можно и в Edit) - совершенно другая задача, не надо их путать. 

Цитата(Dray @  5.6.2006,  19:26 Найти цитируемый пост)
Может можно как нибудь написать свой класс производный от ostream который будет связан с CEdit'ом? 

Лучше реализовать эти функции отдельно: 1) запись протокола 2) вывод в какое-нибудь окно. Методов связи можно придумать кучу... 

Если тебе для отладочных целей нужно, можно совсем просто сделать, у меня есть пример. Но только это не ostream, и
Цитата(Dray @  5.6.2006,  19:26 Найти цитируемый пост)
просто перенести этот код без больших изменений 

вряд ли получится.
 


--------------------
...
PM   Вверх
Dray
Дата 5.6.2006, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: 2
Всего: 6



Цитата(Earnest @  5.6.2006,  18:57 Найти цитируемый пост)
можно совсем просто сделать, у меня есть пример.

 smile 
Хочется сделать что-то на подобие Output в Вижал Студии.
Цитата(Earnest @  5.6.2006,  18:57 Найти цитируемый пост)
Цитата(Dray @  5.6.2006,  19:26 Найти цитируемый пост)
просто перенести этот код без больших изменений 

вряд ли получится.

Да уж. Я действительно много хочу.  smile  


--------------------
忍者

user posted image
PM MAIL   Вверх
Earnest
Дата 6.6.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Вот пример 2 вспомогательных классов для отладочного вывода.
CDebugLog - протокол, реализован как синглетон, может вызываться из разных потоков.
CDebugLogWnd - окно, которое умеет выводить в себя содержимое лога.

Как использовать: окно (или его производную) поместить в какую-нибудь немодальную диалоговую панель. Вызывать ф-ю Update либо на Idle, либо по таймеру.

Внутри кода: макрос DBGTRACE используется точно как макрос TRACE.

 

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  dbglog.rar 2,02 Kb


--------------------
...
PM   Вверх
Dray
Дата 6.6.2006, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Материалист
**


Профиль
Группа: Участник
Сообщений: 652
Регистрация: 7.10.2003
Где: г. Всеволожск

Репутация: 2
Всего: 6



Большое спасибо! Очень интересный пример. 


--------------------
忍者

user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0784 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.