Технология разработки программного обеспечения систем управления

  • Вид работы:
    Контрольная работа
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    27,82 Кб
  • Опубликовано:
    2014-12-28
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Технология разработки программного обеспечения систем управления

Учреждение образования

«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

Кафедра СИСТЕМ УПРАВЛЕНИЯ









Контрольная работа № 1

ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМ УПРАВЛЕНИЯ


Выполнил:

студент группы 002402

ФЗО, специальность 1-530107

Оразмамедов Вельмурад Байрамурадович




Минск 2013

1. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box)

Задание к лабораторной работе

В индивидуальном задании составить программу для вычисления составной функции в соответствии со своим вариантом. Требуется самостоятельно выбрать необходимое количество исходных данных для того, чтобы в программе выполнялись все возможные ветви алгоритма. Перед выводом полученного результата программа должна сообщать о ветви, для которой он получен. В качестве f(x) использовать по выбору: «радиокнопками» функции cos(x), sin(x), tg(x). Программа должна через «переключатели» запоминать или не запоминать min и max найденные значения. Вариант интерфейса приведен на рисунке 1.

Рисунок 1. - Вариант интерфейса


Исходный код:

#include "stdafx.h"

#include "lab1_6.h"

#include "lab1_6Dlg.h"

#include "math.h"

#define PI 3.14159265

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILEchar THIS_FILE[] = __FILE__;

#endifmax=-99999;min=99999;

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App AboutCAboutDlg : public CDialog

{:();

// Dialog Data

//{{AFX_DATA(CAboutDlg){ IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg):void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG_MESSAGE_MAP()

};::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}CAboutDlg::DoDataExchange(CDataExchange* pDX)

{::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CLab1_6Dlg dialog_6Dlg::CLab1_6Dlg(CWnd* pParent /*=NULL*/)

: CDialog(CLab1_6Dlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CLab1_6Dlg)_x = 0;_y = 0;_z = 0;_t = _T("");_r = -1;_mn = FALSE;_mx = FALSE;

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}CLab1_6Dlg::DoDataExchange(CDataExchange* pDX)

{::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CLab1_6Dlg)_Text(pDX, IDC_EDIT1, m_x);_Text(pDX, IDC_EDIT2, m_y);_Text(pDX, IDC_EDIT3, m_z);_Text(pDX, IDC_EDIT4, m_t);_Radio(pDX, IDC_RADIO1, m_r);_Check(pDX, IDC_CHECK1, m_mn);_Check(pDX, IDC_CHECK2, m_mx);

//}}AFX_DATA_MAP

}_MESSAGE_MAP(CLab1_6Dlg, CDialog)

//{{AFX_MSG_MAP(CLab1_6Dlg)_WM_SYSCOMMAND()_WM_PAINT()_WM_QUERYDRAGICON()_BN_CLICKED(IDC_BUTTON1, OnButton1)

//}}AFX_MSG_MAP_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CLab1_6Dlg message handlersCLab1_6Dlg::OnInitDialog()

{ m_r=0;::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);(IDM_ABOUTBOX < 0xF000);* pSysMenu = GetSystemMenu(FALSE);(pSysMenu != NULL)

{strAboutMenu;.LoadString(IDS_ABOUTBOX);(!strAboutMenu.IsEmpty())

{>AppendMenu(MF_SEPARATOR);>AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog(m_hIcon, TRUE);// Set big icon(m_hIcon, FALSE);// Set small icon

// TODO: Add extra initialization hereTRUE; // return TRUE unless you set the focus to a control

}CLab1_6Dlg::OnSysCommand(UINT nID, LPARAM lParam)

{((nID & 0xFFF0) == IDM_ABOUTBOX)

{dlgAbout;.DoModal();

}

{::OnSysCommand(nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below

// to draw the icon. For MFC applications using the document/view model,

// this is automatically done for you by the framework.CLab1_6Dlg::OnPaint()

{(IsIconic())

{dc(this); // device context for painting(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectanglecxIcon = GetSystemMetrics(SM_CXICON);cyIcon = GetSystemMetrics(SM_CYICON);rect;(&rect);x = (rect.Width() - cxIcon + 1) / 2;y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon.DrawIcon(x, y, m_hIcon);

}

{::OnPaint();

}

}

// The system calls this to obtain the cursor to display while the user drags

// the minimized window.CLab1_6Dlg::OnQueryDragIcon()

{(HCURSOR) m_hIcon;

}CLab1_6Dlg::OnButton1()

{ f,fun,minz,maxz;*metod;str;(TRUE);(m_r==0)f=sin(m_x*PI/180);//рассчет F(X)(m_r==1) f=cos(m_x*PI/180);//рассчет F(X)(m_r==2)f=tan(m_x*PI/180);//рассчет F(X)=f;//выбора максимального значения (maxz<m_y) maxz=m_y;(maxz<m_z) maxz=m_z;=f;//выбор минимального значения(minz>m_y) minz=m_y;=(maxz/minz)+5;(max<fun && m_mx) max=fun;//для включения сохранения максимума(min>fun && m_mn) min=fun;//для включения сохранения минимума(minz==0) //для вывода результатов начало

{.Format("Delenie na 0%c%c",13,10);_t=m_t+str;

}{(max==-99999 && min==99999)

{.Format("m=%lf, min NO, max NO%c%c",fun,13,10);_t=m_t+str;

}

{

if (max==-99999)

{

str.Format("m=%lf, min %lf, max NO%c%c",fun,min,13,10);

m_t=m_t+str;

}

else {

if (min==99999){

str.Format("m=%lf, min NO, max %lf%c%c",fun,max,13,10);_t=m_t+str;

}{

str.Format("m=%lf, min %lf, max %lf%c%c",fun,min,max,13,10);_t=m_t+str;

}

}

}}//для вывода результатов конец(FALSE);

}

радиокнопка combobox файл управление

2. Работа с элементом управления «Комбинированный список» (ComboBox)

Дана строка, состоящая из букв, цифр, запятых, точек, знаков ”+” и ”-”. Вывести подстроку, которая соответствует записи целого числа ( т.е. начинается со знаков ”+” и ”-” и внутри подстроки нет букв, запятых и точек).

Исходный код:

#include "stdafx.h"

#include "lab2_6.h"

#include "lab2_6Dlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILEchar THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App AboutCAboutDlg : public CDialog

{:();

// Dialog Data

//{{AFX_DATA(CAboutDlg){ IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg):void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG_MESSAGE_MAP()

};::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}CAboutDlg::DoDataExchange(CDataExchange* pDX)

{::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CLab2_6Dlg dialog_6Dlg::CLab2_6Dlg(CWnd* pParent /*=NULL*/)

: CDialog(CLab2_6Dlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CLab2_6Dlg)_a = _T("");_b = _T("");

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}CLab2_6Dlg::DoDataExchange(CDataExchange* pDX)

{::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CLab2_6Dlg)_Control(pDX, IDC_COMBO1, m_c);_Text(pDX, IDC_EDIT1, m_a);_Text(pDX, IDC_EDIT2, m_b);

//}}AFX_DATA_MAP

}_MESSAGE_MAP(CLab2_6Dlg, CDialog)

//{{AFX_MSG_MAP(CLab2_6Dlg)_WM_SYSCOMMAND()_WM_PAINT()_WM_QUERYDRAGICON()_BN_CLICKED(IDC_BUTTON1, OnButton1)_BN_CLICKED(IDC_BUTTON2, OnButton2)_BN_CLICKED(IDC_BUTTON3, OnButton3)

//}}AFX_MSG_MAP_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CLab2_6Dlg message handlersCLab2_6Dlg::OnInitDialog()

{::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);(IDM_ABOUTBOX < 0xF000);* pSysMenu = GetSystemMenu(FALSE);(pSysMenu != NULL)

{strAboutMenu;.LoadString(IDS_ABOUTBOX);(!strAboutMenu.IsEmpty())

{>AppendMenu(MF_SEPARATOR);>AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog(m_hIcon, TRUE);// Set big icon(m_hIcon, FALSE);// Set small icon

// TODO: Add extra initialization hereTRUE; // return TRUE unless you set the focus to a control

}CLab2_6Dlg::OnSysCommand(UINT nID, LPARAM lParam)

{((nID & 0xFFF0) == IDM_ABOUTBOX)

{dlgAbout;.DoModal();

}

{::OnSysCommand(nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below

// to draw the icon. For MFC applications using the document/view model,

// this is automatically done for you by the framework.CLab2_6Dlg::OnPaint()

{(IsIconic())

{dc(this); // device context for painting(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectanglecxIcon = GetSystemMetrics(SM_CXICON);cyIcon = GetSystemMetrics(SM_CYICON);rect;(&rect);x = (rect.Width() - cxIcon + 1) / 2;y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon.DrawIcon(x, y, m_hIcon);

}

{::OnPaint();

}

}

// The system calls this to obtain the cursor to display while the user drags

// the minimized window.CLab2_6Dlg::OnQueryDragIcon()

{(HCURSOR) m_hIcon;

}CLab2_6Dlg::OnButton1()

{s1,stroka;i,j=0,dop=0;str[25];*p=(CComboBox *)GetDlgItem(IDC_COMBO1); (TRUE);=p->GetCurSel(); (i==LB_ERR) ("String No SELECT!!!");

{>GetLBText(i, str);(str);k=strlen(str);(int i1=0;i1<k;i1++)//обработка строки для выделения чисел.начало

{((str[i1]=='+' || str[i1]=='-') && ('0'<=str[i1+1] && str[i1+1]<='9')) {stroka=stroka+" "+str[i1];dop=1;}(('a'<=str[i1] && str[i1]<='z') || ('A'<=str[i1] && str[i1]<='Z')) dop=0;('0'<=str[i1] && str[i1]<='9' && (dop==1)) stroka=stroka+str[i1];

}//обработка строки для выделения чисел.конец.Format("Iz stroki %d. Podstroka 4isla(4isel): %s%c%c",i+1,stroka,13,10);//вывод результата_b=m_b+s1;

}(FALSE);

} CLab2_6Dlg::OnButton2()

{(TRUE);_c.AddString(m_a);_a="";(FALSE);

}CLab2_6Dlg::OnButton3()

{ UpdateData(TRUE);_c.ResetContent(); _b="";(FALSE);

}

. MDI-приложение. Работа с данными в архитектуре «Документ/представление» («Document/view»)

Задание к лабораторной работе

Создать MDI-приложение для формирования и просмотра данных из файла в соответствии с индивидуальным заданием.

Требования для создаваемого приложения.

1. Управление заданием имени файла, его открытием или созданием и т.п. выполняется через команды меню или кнопки панели инструментов.

2. Просмотр загруженных данных из файла, а также формируемых в приложении данных выполняется в диалоговом окне с использованием элемента управления Listbox. В этом списке отображается либо все данные, либо данные, формируемые в соответствии с функцией, определенной в индивидуальном задании. Порядок вывода управляется с помощью кнопок. Исходно выводится полный список.

3. Формирование данных в приложении осуществляется в другом диалоговом окне с использованием элементов управления Combobox и Edit.

4. До задания имени файла элементы меню и соответствующие кнопки управления открытием и сохранением данных в файл должны быть не доступны.

5. После задания имени файла все команды работы с файлом должны иметь место только для этого файла.

6. Имя заданного файла должно отображаться в строке статуса.

6. Создайте БД ателье головных уборов. Ориентировочные данные: «Изделия», «Клиенты», «Квитанции».

Исходный код:

.cpp:

// var6.cpp : Defines the class behaviors for the application.

//

#include "stdafx.h"

#include "var6.h"

#include "MainFrm.h"

#include "ChildFrm.h"

#include "var6Doc.h"

#include "var6View.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILEchar THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CVar6App

BEGIN_MESSAGE_MAP(CVar6App, CWinApp)

//{{AFX_MSG_MAP(CVar6App)_COMMAND(ID_APP_ABOUT, OnAppAbout)

// NOTE - the ClassWizard will add and remove mapping macros here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG_MAP

// Standard file based document commands_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CVar6App constructionApp::CVar6App()

{

// TODO: add construction code here,

// Place all significant initialization in InitInstance

}

/////////////////////////////////////////////////////////////////////////////

// The one and only CVar6App objectApp theApp;

/////////////////////////////////////////////////////////////////////////////

// CVar6App initializationCVar6App::InitInstance()

{();

// Standard initialization

// If you are not using these features and wish to reduce the size

// of your final executable, you should remove from the following

// the specific initialization routines you do not need.

#ifdef _AFXDLLdControls();// Call this when using MFC in a shared DLL

#elsedControlsStatic();// Call this when linking to MFC statically

#endif

// Change the registry key under which our settings are stored.

// TODO: You should modify this string to be something appropriate

// such as the name of your company or organization.(_T("Local AppWizard-Generated Applications"));

LoadStdProfileSettings(); // Load standard INI file options (including MRU)

// Register the application's document templates. Document templates

// serve as the connection between documents, frame windows and views.* pDocTemplate;= new CMultiDocTemplate(_VAR6TYPE,_CLASS(CVar6Doc),_CLASS(CChildFrame), // custom MDI child frame_CLASS(CVar6View));(pDocTemplate);

// create main MDI Frame window* pMainFrame = new CMainFrame;(!pMainFrame->LoadFrame(IDR_MAINFRAME))FALSE;_pMainWnd = pMainFrame;

// Parse command line for standard shell commands, DDE, file open

CCommandLineInfo cmdInfo;

if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileNew)

{.m_nShellCommand = CCommandLineInfo::FileNothing;

}

ParseCommandLine(cmdInfo);

// Dispatch commands specified on the command line

if (!ProcessShellCommand(cmdInfo))FALSE;

// The main window has been initialized, so show and update it.

pMainFrame->ShowWindow(m_nCmdShow);>UpdateWindow();TRUE;

}

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App AboutCAboutDlg : public CDialog

{:();

// Dialog Data

//{{AFX_DATA(CAboutDlg){ IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg):void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation:

//{{AFX_MSG(CAboutDlg)

// No message handlers

//}}AFX_MSG_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP_MESSAGE_MAP()

// App command to run the dialog

void CVar6App::OnAppAbout()

{aboutDlg;.DoModal();

}

/////////////////////////////////////////////////////////////////////////////

// CVar6App message handlers

Var6Doc.cpp:

// var6Doc.cpp : implementation of the CVar6Doc class

//

#include "stdafx.h"

#include "var6.h"

#include "var6Doc.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILEchar THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CVar6Doc

IMPLEMENT_DYNCREATE(CVar6Doc, CDocument)_MESSAGE_MAP(CVar6Doc, CDocument)

//{{AFX_MSG_MAP(CVar6Doc)

// NOTE - the ClassWizard will add and remove mapping macros here.

// DO NOT EDIT what you see in these blocks of generated code!

//}}AFX_MSG_MAP_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CVar6Doc construction/destructionDoc::CVar6Doc()

{

// TODO: add one-time construction code here

}Doc::~CVar6Doc()

{

}CVar6Doc::OnNewDocument()

{(!CDocument::OnNewDocument())FALSE;

// TODO: add reinitialization code here

// (SDI documents will reuse this document)TRUE;

}

/////////////////////////////////////////////////////////////////////////////

// CVar6Doc serialization

void CVar6Doc::Serialize(CArchive& ar)

{.Serialize(ar);

}

/////////////////////////////////////////////////////////////////////////////

// CVar6Doc diagnostics

#ifdef _DEBUGCVar6Doc::AssertValid() const

}

void CVar6Doc::Dump(CDumpContext& dc) const

{::Dump(dc);

}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////

// CVar6Doc commands

Var6Doc.h

// var6Doc.h : interface of the CVar6Doc class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_VAR6DOC_H__EFC4D7BA_2FBE_4FF4_ACCD_8909E8A7459B__INCLUDED_)

#define AFX_VAR6DOC_H__EFC4D7BA_2FBE_4FF4_ACCD_8909E8A7459B__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000CVar6Doc : public CDocument

{: // create from serialization onlyDoc();_DYNCREATE(CVar6Doc)

// Attributes:list;

// Operations:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CVar6Doc):BOOL OnNewDocument();void Serialize(CArchive& ar);

//}}AFX_VIRTUAL

// Implementation:~CVar6Doc();

#ifdef _DEBUGvoid AssertValid() const;void Dump(CDumpContext& dc) const;

#endif:

// Generated message map functions:

//{{AFX_MSG(CVar6Doc)

// NOTE - the ClassWizard will add and remove member functions here.

// DO NOT EDIT what you see in these blocks of generated code !

//}}AFX_MSG_MESSAGE_MAP()

};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VAR6DOC_H__EFC4D7BA_2FBE_4FF4_ACCD_8909E8A7459B__INCLUDED_)view.cpp:

// var6View.cpp : implementation of the CVar6View class

//

#include "stdafx.h"

#include "var6.h"

#include "var6Doc.h"

#include "var6View.h"

#include "MainFrm.h"

#include "ProductDlg.h"

#include "ClientDlg.h"

#include "TicketDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILEchar THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CVar6View

IMPLEMENT_DYNCREATE(CVar6View, CFormView)_MESSAGE_MAP(CVar6View, CFormView)

//{{AFX_MSG_MAP(CVar6View)_BN_CLICKED(IDC_ADD, OnAdd)_COMMAND(ID_BUTTON_ADD, OnAdd)_COMMAND(ID_BUTTON_DELETE, OnDelete)_BN_CLICKED(IDC_DELETE, OnDelete)

//}}AFX_MSG_MAP_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CVar6View construction/destructionView::CVar6View()

: CFormView(CVar6View::IDD)

{

//{{AFX_DATA_INIT(CVar6View)

// NOTE: the ClassWizard will add member initialization here

//}}AFX_DATA_INIT

// TODO: add construction code here

}View::~CVar6View()

{

}

void CVar6View::DoDataExchange(CDataExchange* pDX)

{::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CVar6View)_Control(pDX, IDC_LIST1, m_l);

//}}AFX_DATA_MAP

}

BOOL CVar6View::PreCreateWindow(CREATESTRUCT& cs)

{

// TODO: Modify the Window class or styles here by modifying

// the CREATESTRUCT csCFormView::PreCreateWindow(cs);

}CVar6View::OnInitialUpdate()

{::OnInitialUpdate();();Doc* pDoc = GetDocument();.Copy(pDoc->list);_l.ResetContent();(int i=0; i<list.GetSize(); i++)

{_l.InsertString(i,list.GetAt(i));

}

//CMainFrame *pFrame = (CMainFrame*)AfxGetApp()->m_pMainWnd->GetActiveWindow();

//pFrame->SetSbText(pDoc->GetTitle());

}

/////////////////////////////////////////////////////////////////////////////

// CVar6View diagnostics

#ifdef _DEBUGCVar6View::AssertValid() const

{::AssertValid();

}

void CVar6View::Dump(CDumpContext& dc) const

{::Dump(dc);

}

CVar6Doc* CVar6View::GetDocument() // non-debug version is inline

{(m_pDocument->IsKindOf(RUNTIME_CLASS(CVar6Doc)));(CVar6Doc*)m_pDocument;

}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////

// CVar6View message handlersCVar6View::OnAdd()

{

// TODO: Add your control notification handler code hereDoc* pDoc = GetDocument();(pDoc->GetTitle() == "Products")

{productDlg;.DoModal();((productDlg.m_productname != "") && (productDlg.m_productcena != ""))

{>list.Add("Изделие: " + productDlg.m_productname + ", Цена:" + productDlg.m_productcena);>SetModifiedFlag(TRUE);

}

}(pDoc->GetTitle() == "Clients")

{clientDlg;.DoModal();(clientDlg.m_name != "")

{>list.Add(clientDlg.m_name);>SetModifiedFlag(TRUE);

}

}(pDoc->GetTitle() == "Tickets")

{ticketDlg;.DoModal();

if ((ticketDlg.m_client != "") && (ticketDlg.m_product != ""))

{>list.Add("Клиент: " + ticketDlg.m_client + ", " + ticketDlg.m_product);>SetModifiedFlag(TRUE);

}

}();

}CVar6View::OnDelete()

{

// TODO: Add your control notification handler code hereDoc* pDoc = GetDocument();index = m_l.GetCurSel();(index >= 0)

{>list.RemoveAt(index, 1);>SetModifiedFlag(TRUE);

}();

}

Var6View.h

// var6View.h : interface of the CVar6View class

//

/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_VAR6VIEW_H__E7C3E0C9_B192_410D_A7AC_F227B9013406__INCLUDED_)

#define AFX_VAR6VIEW_H__E7C3E0C9_B192_410D_A7AC_F227B9013406__INCLUDED_

#if _MSC_VER > 1000

#pragma once

#endif // _MSC_VER > 1000CVar6View : public CFormView

{: // create from serialization onlyView();_DYNCREATE(CVar6View):

//{{AFX_DATA(CVar6View){ IDD = IDD_VAR6_FORM };_l;

//}}AFX_DATA

// Attributes:Doc* GetDocument();list;

// Operations:

// Overrides

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CVar6View):BOOL PreCreateWindow(CREATESTRUCT& cs);:void DoDataExchange(CDataExchange* pDX); // DDX/DDV supportvoid OnInitialUpdate(); // called first time after construct

//}}AFX_VIRTUAL

// Implementation:~CVar6View();

#ifdef _DEBUGvoid AssertValid() const;void Dump(CDumpContext& dc) const;

#endif:

// Generated message map functions:

//{{AFX_MSG(CVar6View)_msg void OnAdd();_msg void OnDelete();

//}}AFX_MSG_MESSAGE_MAP()

};

#ifndef _DEBUG // debug version in var6View.cpp

inline CVar6Doc* CVar6View::GetDocument()

{ return (CVar6Doc*)m_pDocument; }

#endif

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}

// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VAR6VIEW_H__E7C3E0C9_B192_410D_A7AC_F227B9013406__INCLUDED_)

Похожие работы на - Технология разработки программного обеспечения систем управления

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!