Разработанная программа предназначена для ведения учета и контроля за базой данных, спроектированной с учетом реализации запросов различного типа по получению информации.
Входной информацией для данной программы являются:
o Наименование диска;
o Группа, к которой относятся диски;
o Количество;
o Закупочная цена;
o Цена продажи;
Выходной информацией для данной программы является
o Сортировка данных по убыванию и возрастанию;
o Добавление данных о дисках вновь поступающих в базу;
o Фильтрация данных по некоторым полям;
o Поиск и возврат дисков;
o Визуализация приложения в удобной форме
Я выбрал RAD – систему Borland C++ Builder 6.0, потому что она изучена в течение семестра, а также является удобным и мощным средством для разработки как простых консольных приложений, так и обширных комплексных приложений с графическим интерфейсом.
Персональный компьютер фирмы IBM серии PC (или совместимый с этими моделями), работающий под управлением операционной системы (ОС) Windows 98/XP/Vista, оперативная память объемом не менее 32 Мбайт, процессор с тактовой частотой не менее 133 MHz, клавиатура, мышь.
При нажатии на TabSheet2 появится следующая вкладка, в которой можно будет добавить информацию о дисках.
При нажатии на TabSheet3 появится следующая вкладка, в которой можно
При нажатии на TabSheet4 появится следующая вкладка, в которой можно будет удалять информацию о дисках с базы предварительно отфильтровав.
При нажатии кнопки “О программе” появляется форма, в которой содержится информация о программе.
Важно отметить, что программа состоит из следующих файлов:
- файл проекта (файл с расширением . cbproj);
- файл описания класса формы (файл с расширением .h);
- файл исходного текста (файл с расширением .cpp);
- файл с описанием окон формы (файл с расширением .dfm);
В файле проекта находится информация о модулях, составляющих данный проект.
Файл исходного текста – программный модуль, предназначенный для размещения текстов программ на языке С++.
Проект содержит следующие файлы Project1. cbproj – файл проекта, 2 модуля Unit1.cpp, Unit2.cpp и соответствующие им 2 формы.
Программа состоит из 2-х модулей:
Unit1
void __fastcall TForm1::N1Click(TObject *Sender)// Открытия формы2 показ информации о программе
void __fastcall TForm1::Button1Click(TObject *Sender)// Добавление информации о дисках в БД.
void __fastcall TForm1::TabSheet1Show(TObject *Sender)// Отображение данных БД в DBGrid1.
void __fastcall TForm1::Button2Click(TObject *Sender)// Сортировка данных по убыванию или возрастанию.
void __fastcall TForm1::Button3Click(TObject *Sender)// Фильтрация данных по значениям полей базы данных.
void __fastcall TForm1::Button4Click(TObject *Sender)// Поиск данных в таблице по наименованию для удаления из БД.
void __fastcall TForm1::Button5Click(TObject *Sender)// Удаление записи из БД.
Unit2
void __fastcall TAboutBox::OKButtonClick(TObject Sender)//закрытие формы №2
Результатом курсовой работы является полноценное приложение с графическим интерфейсом, которое может считаться полноценной программой. После её запуска пользователю предоставляется возможность просмотреть существующую БД компакт дисков, отсортировать её по возрастанию или убыванию со следующим параметрам: наименование, группа, количество, закупочная цена и цена продажи. Так же пользователь имеет возможность самостоятельно добавить запись в базу данных, отфильтровать и удалить указанные записи.
Установка приложения производится посредством копирования всех файлов в любой каталог.
Внимание: Обязательно присутствие в одном и том же каталоге всех файлов!
Работа программы начинается с окна запуска программы Project1.exe
После запуска программы появляется следующая форма
В результате приложение предоставляет пользователю полный доступ к базе данных компакт дисков. Для того чтобы отсортировать данные по какому либо из признаков необходимо выбрать все указанные поля и нажать кнопку выполнить. Для того чтобы добавить информацию о дисках необходимо обязательно заполнить все указанные поля и нажать кнопку добавить, иначе будет выведено на экран сообщение об ошибке.
Также приложение позволяет осуществить фильтрацию и удаление дисков из базы данных, что тоже требует определенной внимательности при заполнении существующих полей, иначе можно встретить следующие сообщения об ошибке.
База данных – это совокупность структурированных и взаимосвязанных данных и методов, обеспечивающих добавление, выборку и отображение информации.
В ходе выполнения курсовой работы были выполнены все поставленные задачи и разработано работоспособное приложение “Автоматизированное рабочее место для продавца компакт дисков”. В частности, разработана и описана предметная область программы, разработан и реализован алгоритм на языке С++, проведено тестирование, которое не выявило существенных ошибок, однако это не исключает возможности их появления при проведении более глубокого и длительного тестирования.
Так же в процессе выполнения работы были получены и закреплены практические навыки разработки программ с использованием SQL запросов и баз данных в написании программ в среде визуального программирования Borland C++ Builder 6.0.
1. Бобровский С. Самоучитель програмирования на языке C++ в среде Borland C++ Builder
2. Культин Н.Б. С++ Buider в задачах и примерах – СПб.:БХВ-Петербург, 2007. – 336с.: ил.
3. Лаптев В.В. C++. Экспресс-курс . 2004г.
4. Послед Б.С. Borland C++ Builder 6. Разработка приложений баз. 2003г. -360ст.
5. Технология разработки приложения на языке С++. Методическое указание к лабораторным работам для студентов первого курса специальности 080801.65 “Прикладная информатика” (по областям)
6. Учебник по программированию в среде С++ Builder 5, Д. Холингворт, Б. Сворт, Д. Баттерфилд 865 с.
7. Б., Эллисон Ч. Философия С++. Практическое программирование. С.Петербург 2004г. 608 с.:ил.
Листинг файла – проекта Project1.cpp
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "ABOUT.h"
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{ADOConnection1->Connected = false;
ADOConnection1->ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source="+ExtractFileDir(Application->ExeName)+" \ БАЗА ДАННЫХ \ CD.mdb; Mode=Share Deny None;Extended Properties=\"\";Jet OLEDB:System database=\"\";Jet OLEDB:Registry Path=\"\";Jet OLEDB:Database Password=\"\";Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";
ADOConnection1->Connected = true;
PageControl1->ActivePage = TabSheet1;}
//---------------------------------------------------------------------------
void __fastcall TForm1::N1Click(TObject *Sender)
{AboutBox->Show();}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{DataSource1->DataSet = ADOQuery1;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT [Наименование] FROM Tab1 WHERE [Наименование] =\""+Edit1->Text+"\";");
ADOQuery1->ExecSQL();
ADOQuery1->Open();
if(Edit1->Text!=""&&ComboBox1->Text!=" "&&Edit2->Text!=" "&Edit3->Text!=""&&Edit4->Text!="")
{if(ADOQuery1->RecordCount==0)
{ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("INSERT INTO Tab1 ([Наименование],[Группа],[Количество],[Закупочная цена],[Цена продажи])");
ADOQuery1->SQL->Add("Values("+QuotedStr(Edit1->Text)+","+QuotedStr(ComboBox1->Text)+","+Edit2->Text+","+Edit3->Text+","+Edit4->Text+");");
ADOQuery1->ExecSQL();}else
{MessageDlg("Такие диски уже есть!"mtInformation,TMsgDlgButtons()<<mbOK,0);}
else
{MessageDlg("Введены не все данные для добавления диска(-ов) в базу!"mtInformation,TMsgDlgButtons()<<mbOK,0);}
Edit1->Clear();
ComboBox1->Clear();
Edit2->Clear();
Edit3->Clear();
Edit4->Clear();}
//---------------------------------------------------------------------------
void __fastcall TForm1::TabSheet1Show(TObject *Sender)
{DataSource1->DataSet = ADOQuery1;
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add("SELECT * FROM Tab1;");
ADOQuery1->ExecSQL();
ADOQuery1->Open();}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{ADOQuery1->SQL->Clear();
if(RadioButton1->Checked)
{ADOQuery1->SQL->Add("SELECT * FROM Tab1 ORDER BY +["+ComboBox2->Text+"] DESC;");
ADOQuery1->ExecSQL();