Для редактирования записи необходимо поставить галочку на «Разрешить редактирование таблицы». Редактирование записи , как и удаление, доступно лишь при наличии записей в таблице. Для редактирования записи необходимо выделить строку, нажав на треугольник рядом с именем записи. При подтверждении выбранного действия открывается окно редактирования записи. Необходимо отредактировать нужные поля и подтвердить свои действия.
Поиск осуществляется по всем полям таблицы. Для поиска необходимо наличие записей в таблице. Чтобы выполнить поиск необходимо нажать на кнопку «Поиск», после этого откроется окно поиска, в котором необходимо ввести информацию для запроса, а затем нажать кнопку «Поиск». При первом же совпадении запрошенной информации с информацией в таблице программа выделяет совпадающее поле и запрашивает у пользователя разрешение на продолжение поиска, если найденная информация не удовлетворила запросу пользователя.
Для вызова справочной системы необходимо выбрать на панели команд меню «Help», а затем «Helpfile».
В ходе выполнения курсового проекта была создана иерархия классов «Экран курсового проектирования», на основе которой было создано визуальное тестирующее приложение. Данное приложение наделено возможностью добавлять, редактировать, удалять записи, а также выполнять поиск информации по введенным данным. Проект отвечает тем требованиям, которые были предъявлены к нему в ходе проектирования, а именно использовании структуры классов, наглядности и удобству в использовании.
1. Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Лидер, 2010. – 461с.
2. Пахомов Б. И. С/С++ и MSVisualC++ 2008 для начинающих. – СПб.: БХВ-Петербург. 2009. – 624с.
3. Иванова Г.С, Ничушкина Т.Н., Пугачев Е.К. И21 Объектно-ориентированное программирование: Учеб. для вузов/ Под ред. Г.С. Ивановой. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. – 320 с.
4. Пауэрс Л. MicrosoftVisualStudio 2008 / Л. Пауэрс, М. Снелл: Пер. с англ. – СПб.: БХВ-Петербург, 2009. – 1200 с.
Приложение А
Реализация иерархии классов
ФайлTObject.h
#pragma once
public ref class TObject abstract
{
public:
System::String ^TName;
virtual void SetName(System::String ^) abstract;
TObject(void);
};
Файл TObject.cpp
#include "StdAfx.h"
#include "TObject.h"
TObject::TObject(void)
{
TName="Default";
}
Файл TStudent.h
#pragma once
#include "TObject.h"
using namespace System;
ref class TStudent :
public TObject
{
public:
System::Int16 ControlScore;
System::Int16 NumberWeek;
System::Int16 *Plan;
System::Int16 *Fact;
System::Int16 *Control
System::String ^Test;
System::String ^TestF;
System::String ^Revision;
System::String ^RevisionF;
System::String ^Protection;
System::String ^ProtectionF;
virtual void SetName(System::String ^) override;
void SetNumberWeek(System::Int16 );
void SetPlan(System::Int16 , System::Int16);
void SetFact(System::Int16, System::Int16);
void SetControl(System::Int16, System::Int16);
void SetTest(System::String ^ );
void SetTestF(System::String ^ );
void SetRevision(System::String ^ );
void SetRevisionF(System::String ^ );
void SetProtection(System::String ^ );
void SetProtectionF(System::String ^ );
void SetControlScore(System::Int16 );
TStudent(void);
};
Файл TStudent.cpp
#include "StdAfx.h"
#include "TStudent.h"
void TStudent::SetName(String ^name){
TName=name;
}
void TStudent::SetNumberWeek(System::Int16 num){
NumberWeek=num;
}
void TStudent::SetPlan(System::Int16 num1, System::Int16 num2){
Plan[num2]=num1;
}
void TStudent::SetFact(System::Int16 num1, System::Int16 num2){
Fact[num2]=num1;
}
void TStudent::SetControl(System::Int16 num1, System::Int16 num2){
Control[num2]=num1;
}
void TStudent::SetTest(String ^ num){
Test=num;
}
void TStudent::SetTestF(String ^ num){
TestF=num;
}
void TStudent::SetRevision(String ^ num){
Revision=num;
}
void TStudent::SetRevisionF(String ^ num){
RevisionF=num;
}
void TStudent::SetProtection(String ^ num){
Protection=num;
}
void TStudent::SetProtectionF(String ^ num){
ProtectionF=num;
}
void TStudent::SetControlScore(System::Int16 score){
ControlScore=score;
}
TStudent::TStudent(void)
{
Plan=new System::Int16[3];
Fact=new System::Int16[3];
Control=new System::Int16[3];
}
Файл TScreen.h
#pragma once
#include "TObject.h"
#include "TStudent.h"
using namespace System;
using namespace System::Collections::Generic;
ref class TScreen :
public TObject
{
public:
System::String ^ Date;
System::String ^ Composition;
virtual void SetName(System::String ^) override;
void SetDate(System::String ^);
void SetComposition(System::String ^);
public:
TScreen(void);
};
Файл TScreen.cpp
#include "StdAfx.h"
#include "TScreen.h"
void TScreen::SetName(System::String ^s){
TName=s;
}
void TScreen::SetComposition(System::String ^s){
Composition=s;
}
void TScreen::SetDate(System::String ^s){
Date=s;
}
TScreen::TScreen(void)
{
}
Приложение В
Листинг тестирующего приложения
Файл Form1.h. Главное окно.
#pragma once
#include "Form2.h"
#include "TScreen.h"
#include "Start.h"
#include "Search.h"
namespace WindowsFormApplicationC {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
using namespace System::Collections::Generic;
public ref class Form1 : public System::Windows::Forms::Form
{
public:
private: System::Windows::Forms::MenuStrip^ menuStrip1;
private: System::Windows::Forms::ToolStripMenuItem^ fileToolStripMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ exitToolStripMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ helpToolStripMenuItem;
private: System::Windows::Forms::ToolStripMenuItem^ aboutToolStripMenuItem;
private: System::Windows::Forms::Button^ button4;
private: System::Windows::Forms::Button^ button5;
public:
TStudent ^Student;
TScreen Screen;
System::Int16 CountDataGrid;
private: System::Windows::Forms::Button^ button6;
private: System::Windows::Forms::Button^ button7;
private: System::Windows::Forms::Button^ button1;
private: System::Windows::Forms::Button^ button2;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column1;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column2;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column3;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column4;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column5;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column6;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column7;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column8;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column9;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column10;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column11;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column12;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column13;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column14;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column15;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column16;
private: System::Windows::Forms::DataGridViewTextBoxColumn^ Column17;
private: System::Windows::Forms::ToolStripMenuItem^ aboutToolStripMenuItem1;
private: System::Windows::Forms::ListBox^ listBox1;
private: System::Windows::Forms::ListBox^ listBox2;
private: System::Windows::Forms::CheckBox^ checkBox1;
public:
Form1(void)
{
InitializeComponent();
Student=gcnew TStudent;
CountDataGrid=0;
}
protected:
~Form1()
{
if (components)
{
delete components;
}
}
private: System::Windows::Forms::DataGridView^ dataGridView1;
protected:
private:
System::ComponentModel::Container ^components;
#pragma region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
void InitializeComponent(void)
{
System::Windows::Forms::DataGridViewCellStyle^ dataGridViewCellStyle2 = (gcnew System::Windows::Forms::DataGridViewCellStyle());
this->dataGridView1 = (gcnew System::Windows::Forms::DataGridView());
this->Column1 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column2 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column3 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column4 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column5 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column6 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column7 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column8 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column9 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column10 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column11 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column12 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column13 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column14 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column15 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column16 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->Column17 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
this->menuStrip1 = (gcnew System::Windows::Forms::MenuStrip());
this->fileToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->exitToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->helpToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->aboutToolStripMenuItem = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->aboutToolStripMenuItem1 = (gcnew System::Windows::Forms::ToolStripMenuItem());
this->button4 = (gcnew System::Windows::Forms::Button());
this->button5 = (gcnew System::Windows::Forms::Button());
this->button6 = (gcnew System::Windows::Forms::Button());
this->button7 = (gcnew System::Windows::Forms::Button());
this->button1 = (gcnew System::Windows::Forms::Button());
this->button2 = (gcnew System::Windows::Forms::Button());
this->listBox1 = (gcnew System::Windows::Forms::ListBox());
this->listBox2 = (gcnew System::Windows::Forms::ListBox());
this->checkBox1 = (gcnew System::Windows::Forms::CheckBox());
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataGridView1))->BeginInit();
this->menuStrip1->SuspendLayout();
this->SuspendLayout();
//
// dataGridView1
//
this->dataGridView1->AccessibleRole = System::Windows::Forms::AccessibleRole::Graphic;
this->dataGridView1->AllowUserToAddRows = false;
this->dataGridView1->Anchor = static_cast<System::Windows::Forms::AnchorStyles>((((System::Windows::Forms::AnchorStyles::Top | System::Windows::Forms::AnchorStyles::Bottom)
| System::Windows::Forms::AnchorStyles::Left)
| System::Windows::Forms::AnchorStyles::Right));
this->dataGridView1->BackgroundColor = System::Drawing::Color::White;
this->dataGridView1->BorderStyle = System::Windows::Forms::BorderStyle::Fixed3D;
this->dataGridView1->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize;
this->dataGridView1->Columns->AddRange(gcnew cli::array< System::Windows::Forms::DataGridViewColumn^ >(17) {this->Column1,
this->Column2, this->Column3, this->Column4, this->Column5, this->Column6, this->Column7, this->Column8, this->Column9, this->Column10,
this->Column11, this->Column12, this->Column13, this->Column14, this->Column15, this->Column16, this->Column17});
dataGridViewCellStyle2->Alignment = System::Windows::Forms::DataGridViewContentAlignment::MiddleLeft;
dataGridViewCellStyle2->BackColor = System::Drawing::SystemColors::Window;
dataGridViewCellStyle2->Font = (gcnew System::Drawing::Font(L"Microsoft Sans Serif", 8.25F, System::Drawing::FontStyle::Regular,
System::Drawing::GraphicsUnit::Point, static_cast<System::Byte>(204)));
dataGridViewCellStyle2->ForeColor = System::Drawing::SystemColors::ControlText;
dataGridViewCellStyle2->SelectionBackColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(128)),
static_cast<System::Int32>(static_cast<System::Byte>(128)), static_cast<System::Int32>(static_cast<System::Byte>(255)));
dataGridViewCellStyle2->SelectionForeColor = System::Drawing::SystemColors::HighlightText;
dataGridViewCellStyle2->WrapMode = System::Windows::Forms::DataGridViewTriState::False;
this->dataGridView1->DefaultCellStyle = dataGridViewCellStyle2;
this->dataGridView1->GridColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(224)), static_cast<System::Int32>(static_cast<System::Byte>(224)),
static_cast<System::Int32>(static_cast<System::Byte>(224)));
this->dataGridView1->Location = System::Drawing::Point(0, 63);
this->dataGridView1->Name = L"dataGridView1";
this->dataGridView1->RowHeadersVisible = false;