Приложение STUpload: реализация функции CSTUploadDoc::Serialize()

   
На этом шаге мы рассмотрим реализацию функции Serialize().

   
Теперь напишем код сериализации документа.

  • Создание функции CSTUploadDoc::Serialize().
  • Найдите в тексте программы функцию CSTUploadDoc::Serialize().
  • Замените ее тело таким кодом:
    void CSTUploadDoc::Serialize(CArchive& ar)
    {
      m_DocList.Serialize( ar );
    
      if (ar.IsStoring())
      {
        ar << m_strCurrentFund;	
      }
      else
      {
        ar >> m_strCurrentFund;
    
        // Обновляем окно выбора ценной бумаги Select Fund     
        CMainFrame* pWnd = 
          dynamic_cast< CMainFrame * > (AfxGetMainWnd());
    
        if( pWnd ) 
        // He будет работать при запуске щелчком по значку
        // документа или из командной строки с именем файла
        // в качестве аргумента
        {
          // Обновляем и выводим окно ценных бумаг 
          pWnd->UpdateFundList( m_DocList, m_strCurrentFund );
          pWnd->SetFundsVisible( TRUE );
        }
      }
    }
    


    Рис.1. Функция Serialize()

   
Текст измененного приложения можно взять здесь (67,3 Кб).

   
Все записи сериализуются одним вызовом CStockDataList::Serialize(). Одновременно
сериализуется переменная CSTUploadDoc::m_strCurrentFund.

   
На следующем шаге мы рассмотрим отображение окна Select Find.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий