Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обновить диалог, Вывод промежуточных результатов 
V
    Опции темы
east
Дата 13.3.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



Всем привет!
Обьясните, пожалуйста, кто знает, как обновить данные в CEdit. Смысл такой, нажимаю кнопку и пошла обработка информации. По мере обработки в окне редактирования меняется информация. При использовании UpdateData(FALSE) появляется только последние данные. Код такой:
Код

void CSentDlg::OnBnClickedButtonSent()
{
       обработка данных
       ...
       strResult = данные
       UpdateData(FALSE);
       обработка данных
       ...
       strResult = данные
       UpdateData(FALSE);
}


В принципе это касается не только CEdit. В общем нужно видить промежуточные результаты, а не только конечный.
PM MAIL   Вверх
vinter
Дата 13.3.2008, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 4
Всего: 56



обработка может быть слишком быстро проходит? и ты просто не замечаешь, что данные там менялись.


--------------------
Мой блог
PM MAIL WWW   Вверх
east
Дата 13.3.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



В том-то и дело, что времени хватает чтобы увидить изменения. Наблюдаю такой эфект, в окне редактирования текста не вижу, но полосы прокрутки меняют свой размер, как будто там есть текст.
PM MAIL   Вверх
east
Дата 13.3.2008, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



Может не правильно вначале обьяснил, что хочу. Нужно сделать чтобы результат выводился по мере выполнения действий. Например, качается файл, а в CEdit или CStatic или ещё где всёравно, указывается сколько сколько скачалось.
PM MAIL   Вверх
vinter
Дата 13.3.2008, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 4
Всего: 56



где то с твоей стороны косяк, потому что это должно работать.

Цитата(east @  13.3.2008,  19:02 Найти цитируемый пост)
или CStatic

с CStatic нельзя переменные связывать.

покажи DDX и кусок кода где обновляется значение и вызывается UpdateData


--------------------
Мой блог
PM MAIL WWW   Вверх
east
Дата 13.3.2008, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



Код

CDialog::DoDataExchange(pDX);
    DDX_Text(pDX, IDC_EDIT_URL, m_strUrl);
    DDX_Text(pDX, IDC_EDIT_COD, m_dwCod);
    DDX_Text(pDX, IDC_EDIT_RESULT, m_strResult);
    DDX_Text(pDX, IDC_EDIT_PROXY, m_strProxy);
    DDX_Text(pDX, IDC_EDIT_PORT, m_nPort);

Код

if (m_strProxy.GetLength() == 0) Session.m_strProxy = "";
    else Session.m_strProxy = m_strProxy;
    Session.m_nPort = (INTERNET_PORT)m_nPort;
    if (Session.GetFile("conferenc.txt") > 0) return;
    m_strResult = Session.m_strText;
    m_dwCod = Session.m_dwCod;    
    UpdateData(FALSE);
    // Второй файл
    Session.GetFile("product.txt");
    m_strResult = Session.m_strText;
    m_dwCod = Session.m_dwCod;
    UpdateData(FALSE);
    // Третий файл
    Session.GetFile("work.txt");
    m_strResult = Session.m_strText;
    m_dwCod = Session.m_dwCod;
    UpdateData(FALSE);

показывае содержимое последнего файла, хотя, как я уже писал, полосы прокрутки меняют размер, но текста не видно
PM MAIL   Вверх
vinter
Дата 13.3.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


Профиль
Группа: Завсегдатай
Сообщений: 2735
Регистрация: 1.4.2006
Где: Н.Новгород

Репутация: 4
Всего: 56



а может в обьекты пишуться символы конца строки, и поэтому такое? что у тебя там в переменных ты смотрел? посмотри содиржимое переменных в то время когда ты вычисляешь, тут видимо траблы с твоим файлом.


--------------------
Мой блог
PM MAIL WWW   Вверх
east
Дата 13.3.2008, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



Пробовал третий файл коментировать, выдаёт содержимое второго.
PM MAIL   Вверх
korian
Дата 13.3.2008, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 651
Регистрация: 8.3.2008
Где: Украина, Харьков

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



Цитата(east @  13.3.2008,  12:07 Найти цитируемый пост)
При использовании UpdateData(FALSE) появляется только последние данные

потому что пока обрабатывается одно сообщение (в данном случае WM_COMMAND), другое сообщение стоит в очереди, и не обрабатывается (в данном случае WM_PAINT для Editа)
PM   Вверх
east
Дата 13.3.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



И как сделать, чтобы видеть результат?
PM MAIL   Вверх
east
Дата 13.3.2008, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 22.5.2006

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



В принципе обдумав думаю уже справлюсь. Спасибо за ответы.

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


 




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


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

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