Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ДОКУМЕНТ-ОТОБРАЖЕНИЕ

9.5K
07 июня 2005 года
OSEPIAN
10 / / 07.06.2005
Помогите новичку!
в документе-представление
мне необходимо постоянно выводить на экран
несколько данных из последовательного порта
в документе у меня всё получается ,
данные получаю,делаю
setmodifiedflag(null)
updateallviews(null 0L null)
ВСЁ ЧТО НАДО ВЫВОЖУ НА ЭКРАН И, КАК Я ПОНИМАЮ,
ОКАЗЫВАЮСЬ В КЛАССЕ VIEW
ВЫВОД ПОЛУЧАЕИСЯ ОДИН РАЗ И ВСЁ
ПРИ ПОПЫТКЕ ВЕРНУТЬСЯ В ДОКУМЕНТ,КОГДА ЧИТАЕТСЯ ПОРТ УЖЕ ПОВТОРНО
МНЕ ОБЪЯВЛЯЕТ СИСТЕМА,ЧТО ПАМЯТЬ НЕ МОЖЕТ БЫТЬ WRITTEN,ТО ЖЕ МЕСТО ГДЕ ПРОГРАММА ПРОШЛАСЬ
В ДОКУМЕНТЕ 1 РАЗ ,ВТОРОЙ РАЗ НЕ ПРОХОДИТСЯ

КАК ЭТО ДЕЛАЕТСЯ,ТО ,ЧТО МНЕ НУЖНО?
406
07 июня 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by OSEPIAN
Помогите новичку!
в документе-представление
мне необходимо постоянно выводить на экран
несколько данных из последовательного порта
в документе у меня всё получается ,
данные получаю,делаю
setmodifiedflag(null)
updateallviews(null 0L null)
ВСЁ ЧТО НАДО ВЫВОЖУ НА ЭКРАН И, КАК Я ПОНИМАЮ,
ОКАЗЫВАЮСЬ В КЛАССЕ VIEW
ВЫВОД ПОЛУЧАЕИСЯ ОДИН РАЗ И ВСЁ
ПРИ ПОПЫТКЕ ВЕРНУТЬСЯ В ДОКУМЕНТ,КОГДА ЧИТАЕТСЯ ПОРТ УЖЕ ПОВТОРНО
МНЕ ОБЪЯВЛЯЕТ СИСТЕМА,ЧТО ПАМЯТЬ НЕ МОЖЕТ БЫТЬ WRITTEN,ТО ЖЕ МЕСТО ГДЕ ПРОГРАММА ПРОШЛАСЬ
В ДОКУМЕНТЕ 1 РАЗ ,ВТОРОЙ РАЗ НЕ ПРОХОДИТСЯ

КАК ЭТО ДЕЛАЕТСЯ,ТО ,ЧТО МНЕ НУЖНО?



А поподробнее? Можно взглянуть на участки кода отвечающие за запись в mapped - файлы и и чтение из них?

425
08 июня 2005 года
sq_deep
498 / / 18.02.2005
Кажется, вы напрасно пишете setmodifiedflag(null). Если речь идёт об MFC, то SetModifiedFlag(false) помечает документ не изменённым, что означает, что перерисовывать в нём нечего. Поэтому UpdateAllViews() ничего рисовать не станет.

PS Уважаемый OSEPIAN, если хотите, чтобы я постарался для вас и потратил своё время на ответ, будьте добры тоже постараться и задать грамотный вопрос. Или хотя бы соблюдайте синтаксис. Создаётся впечатление, что вы специально создаёте трудности людям, от которых ждёте помощи ;)
9.5K
11 июня 2005 года
OSEPIAN
10 / / 07.06.2005
Цитата:
Originally posted by sq_deep
Кажется, вы напрасно пишете setmodifiedflag(null). Если речь идёт об MFC, то SetModifiedFlag(false) помечает документ не изменённым, что означает, что перерисовывать в нём нечего. Поэтому UpdateAllViews() ничего рисовать не станет.

PS Уважаемый OSEPIAN, если хотите, чтобы я постарался для вас и потратил своё время на ответ, будьте добры тоже постараться и задать грамотный вопрос. Или хотя бы соблюдайте синтаксис. Создаётся впечатление, что вы специально создаёте трудности людям, от которых ждёте помощи ;)




Извините за синтаксис,вот текст
док
void CMultiDoc::OnFileRs232()
{m_TextArray[0]="321321321321321";
MessageBeep(20);

SetModifiedFlag(TRUE );
// UpdateAllViews(NULL,OL,NULL);
вот представление:
void CMultiView::OnDraw(CDC* pDC)
{int nHeight;
TEXTMETRIC tm;
CMultiDoc* pDoc=GetDocument();
ASSERT_VALID(pDoc);
pDC->GetTextMetrics(&tm);
nHeight=tm.tmHeight+tm.tmExternalLeading ;
pDoc->m_TextArray.GetSize();
pDC->TextOut(10,nHeight+10,pDoc->m_TextArray[0]);
/*pDC->TextOut(10,nHeight+50,pDoc->m_TextArray[1]);
pDC->TextOut(10,nHeight+90,pDoc->m_TextArray[2]);
pDC->TextOut(10,nHeight+130,pDoc->m_TextArray[3]);
pDC->TextOut(10,nHeight+170,pDoc->m_TextArray[4]);
pDC->TextOut(39,nHeight+210,pDoc->m_TextArray[5]);
pDC->TextOut(47,nHeight+250,pDoc->m_TextArray[6]);*/


// TODO: add draw code for native data here
}
Мне нобходимо получать данные из порта rs
и отправлять их на экран неограниченное время,
надо замкнуть цикл
один раз в примере это получается,
при возвращении (при моей неграмотной попытке
возвращения) программа останавливается
у меня ещё один вопрос,я получаю ту же диагностику в простейшем случае-для той же задачи
мне необходимо целое из rs232 превращать в строчки и это как-то не выходит;
#include "stdlib.h"
#include "stdio.h"
#include "iostream.h"
void main()
{char* b;
char* c;
int a=60000;
c=itoa(a,b,10);выскакивает диагностика о
памяти,которая не может быть written
cout<<(c);

// return 0;
}
я могу выйти из ситуации,покрутив биты,
как я это привык делать на микропроцессорах,
но надо же когда-то осваивать возможности С++,
есть ,я знаю,функция Format()eщЁ,что-то
С Уважением
Александр
[email]OSEPIAN@LIST.RU[/email]

406
11 июня 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
мне необходимо целое из rs232 превращать в строчки и это как-то не выходит;
#include "stdlib.h"
#include "stdio.h"
#include "iostream.h"
void main()
{char* b;
char* c;
int a=60000;
c=itoa(a,b,10)
;выскакивает диагностика о памяти,которая не может быть written
cout<<(c);



Для этого пиши так:

char buf[200];
int a=60000;
itoa(a,(char*)buf,10);
//buf содержит строку строку с необходимым значением

cout<<buf;

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог