Форум программистов, компьютерный форум CyberForum.ru

Работа с консольным приложением - C++

Восстановить пароль Регистрация
 
maxika
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 8
30.09.2016, 11:17     Работа с консольным приложением #1
Пожалуйста, подскажите кто может.
Программа сделана для консольного приложения, Builder C++ 6, считывает данные с платы PCI и выводит на консоль.
НО, стоит начать двигать консоль мышью и программа останавливается, считывание данных прекращается
и вывод данных на консоль тоже прекращается.
Как сделать, чтобы консоль можно было сдвигать, но при этом программа не переставала работать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zss
Модератор
Эксперт С++
 Аватар для zss
5942 / 5547 / 1783
Регистрация: 18.12.2011
Сообщений: 14,155
Завершенные тесты: 1
30.09.2016, 11:59     Работа с консольным приложением #2
Приведите код программы
maxika
0 / 0 / 0
Регистрация: 15.11.2015
Сообщений: 8
30.09.2016, 13:17  [ТС]     Работа с консольным приложением #3
Код сильно сокращен, просто для того чтобы показать суть.
Данные считываются с омметра функцией Ixud_ReadDI(); и выводятся на консоль.
Плата PEX-D24 PCI-exp.
При перемещении консоли данные перестают читаться. Это просто беда, что делать незнаю ((
На мониторе должно быть две консоли вывода (два оборудования) и консоль на весь экран, чтобы избежать погрешности,
не является решением.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
while( !GetAsyncKeyState(VK_END) )   // бесконечный цикл пока не нажата END
{
// считываем декаду 1 ; 4
Ixud_WriteDO(wBoardNo,wOutputPortN0,26);
Ixud_WriteDO(wBoardNo,wOutputPortN0,24);
Ixud_ReadDI(wBoardNo,wInputPortN1,&dwDIVal);
unsigned char dek1 = dwDIVal;
 
// считываем декаду 2 ; 5
Ixud_WriteDO(wBoardNo,wOutputPortN0,42);
Ixud_WriteDO(wBoardNo,wOutputPortN0,40);
Ixud_ReadDI(wBoardNo,wInputPortN1,&dwDIVal);
unsigned char dek2 = dwDIVal;
 
// считываем декаду 3 ; 6
Ixud_WriteDO(wBoardNo,wOutputPortN0,58);
Ixud_WriteDO(wBoardNo,wOutputPortN0,56);
Ixud_ReadDI(wBoardNo,wInputPortN1,&dwDIVal);
unsigned char dek3 = dwDIVal;
 
printf("                %0.2f",dek1);
printf("                %0.2f",dek2);
printf("                %0.2f",dek3);
}
qppq
 Аватар для qppq
4 / 4 / 1
Регистрация: 31.08.2016
Сообщений: 91
Завершенные тесты: 1
30.09.2016, 14:59     Работа с консольным приложением #4
Цитата Сообщение от maxika Посмотреть сообщение
Код сильно сокращен
тут полюбасу нужно к гадалке сходить
nd2
1020 / 759 / 255
Регистрация: 29.01.2016
Сообщений: 2,373
30.09.2016, 22:30     Работа с консольным приложением #5
Дополнительная информация: C++ прерывания
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
30.09.2016, 22:34     Работа с консольным приложением #6
maxika, попробуйте создать отдельный поток для этого цикла.
Дело в том, что перемещение окна затормаживает очередь сообщений.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2016, 22:40     Работа с консольным приложением
Еще ссылки по теме:

Создание ini файла в одной папке с приложением C++
Большое потребление памяти приложением C++
Не понимаю в чем дело с многофайловым приложением C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,042
30.09.2016, 22:40     Работа с консольным приложением #7
или использовать ДОС, чтобы небыло многопоточки
или перереписывать программу, тогда и консоль не нужна
у платы буфер есть?
Yandex
Объявления
30.09.2016, 22:40     Работа с консольным приложением
Ответ Создать тему
Опции темы

Текущее время: 10:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru