p align="left">Устанавливаем следующие свойства: · В компоненте DataSourse1: DataSet - Table1; · В компоненте Table1: DatabaseName - Abonent; TableName - abonent.db; · В компоненте DBGrid: DataSourse - DataSourse1; · В компоненте DBNavigator: DataSourse - DataSourse1; · В компоненте Label: Caption - “ Фильтрация данных”; Далее в компоненте Table1 делаем свойство Active равным True. Для поиска данных мы создаем новую форму File -> New -> Form3. Далее устанавливаем на форму компоненты DataSourse, Table, DBGrid, DBNavigator, Label и Edit. Устанавливаем следующие свойства: · В компоненте DataSourse1: DataSet - Table1 · В компоненте Table1: DatabaseName - Abonent; TableName - kod_abon.db · В компоненте DBGrid: DataSourse - DataSourse1 · В компоненте DBNavigator: DataSourse - DataSourse1 · В компоненте Label: Caption - “Поиск данных” Далее в компоненте Table1 делаем свойство Active равным True. Для печати и просмотра списка абонентов создаем новую форму File -> New -> Form5. В окно формы установим следующие компоненты: Table (DatabaseName - Abonent; TableName - kod_abon.db); QuickRep (DataSet - Table1); DataSourse (DataSet - Table1). На верхней строке отчета размещаем компоненту QRSysData. В свойстве Data устанавливаем qrsData. C помощью QRLabel делаем заголовок (Caption - “Список абонентов”). Далее в отчет перенесем компоненту QRSubDetail, которая осуществляет циклический вывод записей на печать. Вставляем компоненты QRDText и задаем им свойства DataSet и DataField - Table1, и имена соответствующих полей, с помощью QRLabel. Далее создаем главную форму, с которой будет вызываться модуль печати. Перенесем на форму две компоненты Button, обозначим их как «Печать» и «Просмотр». Выполним команду Alt+F11, выберем модуль формы нашего отчета и нажмем «ОК». 2.3 Описание работы программы На диске D находим папку «Наида» Щелкаем дважды на файле Project1.exe. Откроется главное окно нашей программы: · Для ввода нового абонента открываем пункт меню Операции -> Документы. Перед нами откроется форма. Для того чтобы ввести данные о новом абоненте нажимаем на кнопку «Вставить». Появится новая строка. После ввода нажимаем кнопку «Записать». Подтверждаем изменения кнопкой «Ок». · Для того чтобы найти интересующего нас абонента, мы выполняем команду Операции -> Поиск. Перед нами открывается окно с таблицей данных и окошками для ввода кода абонента и фамилии. Для осуществления поиска просто вводим нужный нам код абонента или фамилию абонента в эти окошки. Для того, чтобы профильтровать данные по дате выдачи и по коду абонента, выбираем команду Операции -> Фильтрация. · Для просмотра или печати нужного нам документа выполняем команду Документы -> Просмотр и печать …. Кликаем на документ и перед нами открывается окно. Для просмотра списка нажимаем на кнопку «Просмотр», а для печати - «Печать». · Для просмотра справки нажимаем на пункт меню «Справка» · Для выхода из программы нажимаем на пункт меню «Выход» Заключение В данном курсовом проекте я ознакомилась с возможностями С++ Вuilder, как системы управления базами данных разработанной мною программы “Учет абонентов библиотеки ”. Также здесь разрабатывается база данных, в которой хранится и обрабатывается информация об учете абонентов. Сначала строится инфологическая модель, в которую входят БД, сущность, атрибуты. Далее строится даталогическая модель. В ней описываются размеры, типы, назначения, наименования. Следующим этапом является описание физической модели, в которой описывается физическое устройство хранения информации. Обработку информации в БД осуществляют такие методы как фильтрация, поиск и печать. Программа выполняет следующие функции: позволяет редактировать БД, внести сведения о новом абоненте, найти по заданному пользователем ключу информацию, произвести фильтрацию и просмотреть документы. Литература 1. Курс лекций по дисциплине “Базы данных” 2. Диго С..М. «Проектирование и использование БД». 1991 г. 3. Хеннер Е.К., Могилев А.В., Пак Н.И. «Информатика». М.: «Учебное пособие для студентов пед. вузов», 1999 г. 4. Основы языка С++ Builder 2004 г. 5. Наумов А.Н «Системы управления базами данных и знаний» 1991 г. Программа //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit11.h" #include "Unit1.h" #include "Unit10.h" #include "Unit2.h" #include "Unit3.h" #include "Unit4.h" #include "Unit5.h" #include "Unit6.h" #include "Unit7.h" #include "Unit8.h" #include "Unit9.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::N4Click(TObject *Sender) { Form1->Hide(); Form2->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::N5Click(TObject *Sender) { Form1->Hide(); Form3->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::N6Click(TObject *Sender) { Form1->Hide(); Form4->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::N7Click(TObject *Sender) { Form1->Hide(); Form5->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::N8Click(TObject *Sender) { Form1->Color=clBtnFace; N8->Checked=true; N9->Checked=false; N10->Checked=false; N11->Checked=false; N12->Checked=false; N13->Checked=false; N14->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::N9Click(TObject *Sender) { Form1->Color=clBlack; N8->Checked=false; N9->Checked=true; N10->Checked=false; N11->Checked=false; N12->Checked=false; N13->Checked=false; N14->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::N10Click(TObject *Sender) { Form1->Color=clRed; N8->Checked=false; N9->Checked=false; N10->Checked=true; N11->Checked=false; N12->Checked=false; N13->Checked=false; N14->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::N11Click(TObject *Sender) { Form1->Color=clBlue; N8->Checked=false; N9->Checked=false; N10->Checked=false; N11->Checked=true; N12->Checked=false; N13->Checked=false; N14->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::N12Click(TObject *Sender) { Form1->Color=clSkyBlue; N8->Checked=false; N9->Checked=false; N10->Checked=false; N11->Checked=false; N12->Checked=true; N13->Checked=false; N14->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::N13Click(TObject *Sender) { Form1->Color=clGreen; N8->Checked=false; N9->Checked=false; N10->Checked=false; N11->Checked=false; N12->Checked=false; N13->Checked=true; N14->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::N14Click(TObject *Sender) { Form1->Color=clYellow; N8->Checked=false; N9->Checked=false; N10->Checked=false; N11->Checked=false; N12->Checked=false; N13->Checked=false; N14->Checked=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::N3Click(TObject *Sender) { Form1->Close(); } //--------------------------------------------------------------------------- void __fastcall TForm1::N15Click(TObject *Sender) { Form1->Hide(); Form11->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm1::N2Click(TObject *Sender) { Form1->Hide(); Form5->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::FormCreate(TObject *Sender) { Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; Edit7->Text = Table2Kod_abon->AsString; Edit8->Text = Table2Fam->AsString; Edit9->Text = Table2Im->AsString; Edit10->Text = Table2Otch->AsString; Edit11->Text = Table2D_R->AsString; Edit12->Text = Table2Adres->AsString; Edit15->Text = Table3N_doc->AsString; Edit16->Text = Table3Nazvanie->AsString; Edit17->Text = Table3Avtor->AsString; Edit18->Text = Table3Izdatelstvo->AsString; Edit19->Text = Table3God_izdaniya->AsString; } //--------------------------------------------------------------------------- void __fastcall TForm2::ArialBlack1Click(TObject *Sender) { Form2->Font->Name="Arial Black"; ArialBlack1->Checked=true; TimesNewRoman1->Checked=false; Cambria1->Checked=false; Colibri1->Checked=false; Monotypecorsiva1->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm2::TimesNewRoman1Click(TObject *Sender) { Form2->Font->Name="Times New Roman"; TimesNewRoman1->Checked=true; ArialBlack1->Checked=false; Cambria1->Checked=false; Colibri1->Checked=false; Monotypecorsiva1->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm2::Monotypecorsiva1Click(TObject *Sender) { Form2->Font->Name="Monotype Corsiva"; TimesNewRoman1->Checked=false; ArialBlack1->Checked=false; Cambria1->Checked=false; Colibri1->Checked=false; Monotypecorsiva1->Checked=true; } //--------------------------------------------------------------------------- void __fastcall TForm2::Colibri1Click(TObject *Sender) { Form2->Font->Name="Colibri"; TimesNewRoman1->Checked=false; ArialBlack1->Checked=false; Cambria1->Checked=false; Colibri1->Checked=true; Monotypecorsiva1->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm2::Cambria1Click(TObject *Sender) { Form2->Font->Name="Cambria"; TimesNewRoman1->Checked=false; ArialBlack1->Checked=false; Cambria1->Checked=true; Colibri1->Checked=false; Monotypecorsiva1->Checked=false; } //--------------------------------------------------------------------------- void __fastcall TForm2::Table1AfterScroll(TDataSet *DataSet) { Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { AnsiString s; const AnsiString s1=", "; s=""; if (Table1D_vidachi->AsString!= Edit1->Text) { if (s !="") s+=s1; s+= "Дата выдачи"; } if(Table1N_doc->AsString!=Edit2->Text) { if (s !="") s+=s1; s+="Номер документа"; } if(Table1D_vozvrata->AsString!=Edit3->Text) { if (s !="") s+=s1; s+="Дата возврата"; } if(Table1Flag_vozvrata->AsString!=Edit4->Text) { if (s !="") s+=s1; s+="Флаг возврата"; } if(Table1Shtraf->AsString!=Edit5->Text) { if (s !="") s+=s1; s+="Штраф"; } if (s !="") { if ( Application->MessageBox( ("Действительно хотите ввести новые данные?"+s+"?").c_str(), "Подтвердите изменение", MB_YESNO+MB_ICONQUESTION)==IDYES) { Table1->Edit(); Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; Table1->Post(); //запись данных }} } //--------------------------------------------------------------------------- void __fastcall TForm2::Button2Click(TObject *Sender) { Table1->Insert(); } //--------------------------------------------------------------------------- void __fastcall TForm2::Button3Click(TObject *Sender) { if ( Application->MessageBox( "Действительно хотите удалить запись?", "Подтвердите решение", MB_YESNO+MB_ICONEXCLAMATION)==IDYES) Table1->Delete(); // удаление данных } //--------------------------------------------------------------------------- void __fastcall TForm2::N16Click(TObject *Sender) { Form2->Hide(); Form5->Show(); } //--------------------------------------------------------------------------- void __fastcall TForm2::DBNavigator1Click(TObject *Sender, TNavigateBtn Button) { Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; } //--------------------------------------------------------------------------- void __fastcall TForm3::RadioGroup1Click(TObject *Sender) { if (RadioGroup1->ItemIndex==0) Table1->Filtered = false; else { if (RadioGroup1->ItemIndex==1) Table1->Filter="D_vidachi='"+ComboBox1->Text+"'"; else { if (RadioGroup1->ItemIndex==2) Table1->Filter="D_vozvrata='"+ComboBox2->Text+"'"; Table1->Filtered = true; } } // фильтрация данных } //--------------------------------------------------------------------------- void __fastcall TForm3::ComboBox1Change(TObject *Sender) { if (RadioGroup1->ItemIndex==1) Table1->Filtered = false; else { if (RadioGroup1->ItemIndex==1) Table1->Filter="D_vidachi='"+ComboBox1->Text+"'"; else { if (RadioGroup1->ItemIndex==2) Table1->Filter="D_vozvrata='"+ComboBox2->Text+"'";} { Table1->Filtered = false; Table1->Filter="(D_vidachi='"+ComboBox1->Text+"')"; Table1->Filtered = true; Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; }} } //--------------------------------------------------------------------------- void __fastcall TForm3::ComboBox2Change(TObject *Sender) { if (RadioGroup1->ItemIndex==2) Table1->Filtered = false; else { if (RadioGroup1->ItemIndex==1) Table1->Filter="D_vidachi='"+ComboBox1->Text+"'"; else { if (RadioGroup1->ItemIndex==2) Table1->Filter="D_vozvrata='"+ComboBox2->Text+"'"; { Table1->Filtered = false; Table1->Filter="(D_vozvrata='"+ComboBox2->Text+"')"; Table1->Filtered = true; Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; } }} } //--------------------------------------------------------------------------- void __fastcall TForm3::Table1AfterScroll(TDataSet *DataSet) { Edit1->Text = Table1D_vidachi->AsString; Edit2->Text = Table1N_doc->AsString; Edit3->Text = Table1D_vozvrata->AsString; Edit4->Text = Table1Flag_vozvrata->AsString; Edit5->Text = Table1Shtraf->AsString; } //--------------------------------------------------------------------------- void __fastcall TForm4::Button2Click(TObject *Sender) { TLocateOptions SearchOptions; Table1->Locate("Fam",Edit2->Text,SearchOptions <<loPartialKey<<loCaseInsensitive); } //--------------------------------------------------------------------------- void __fastcall TForm4::Button1Click(TObject *Sender) { TLocateOptions SearchOptions; Table1->Locate("Kod_abon",Edit3->Text,SearchOptions <<loPartialKey<<loCaseInsensitive); } //--------------------------------------------------------------------------- void __fastcall TForm4::FormCreate(TObject *Sender) { Edit7->Text = Table1Kod_abon->AsString; Edit8->Text = Table1Fam->AsString; Edit9->Text = Table1Im->AsString; Edit10->Text = Table1Otch->AsString; Edit11->Text = Table1D_R->AsString; Edit12->Text = Table1Adres->AsString; } //--------------------------------------------------------------------------- void __fastcall TForm5::Button1Click(TObject *Sender) { if ( Application->MessageBox( "Вы действительно хотите вывести на пeчать этот список?", "Потвердите решение", MB_YESNO+MB_ICONEXCLAMATION)==IDYES) {Form6->QuickRep1->Print(); } } //--------------------------------------------------------------------------- void __fastcall TForm5::Button2Click(TObject *Sender) { Form6->QuickRep1->Preview(); } //---------------------------------------------------------------------------
Страницы: 1, 2, 3
|