Университет МВД

Автор работы: Пользователь скрыл имя, 08 Сентября 2013 в 19:56, курсовая работа

Краткое описание

Московский университет МВД России — федеральное государственное казенное образовательное учреждение высшего профессионального образования Министерства внутренних дел России, созданное в 2002 году в соответствии с постановлениемПравительства РФ и приказом Министра внутренних дел РФ путем слияния трех вузов МВД России — Московской академии, Московского института и Юридического института[1][2]. Осуществляет подготовку кадров для органов внутренних дел по правоохранительной деятельности, безопасности, психологии и педагогике, юриспруденции по программам высшего и среднего профессионального образования.

Прикрепленные файлы: 1 файл

основы разработки приложений баз Данных (2).doc

— 246.50 Кб (Скачать документ)


2.1 Описание среды программирования

2.1 Описание среды программирования

 
 
Среда программирования Delphi представляет собой идеальную платформу для  создания интерфейсов с локальными и удаленными базами данных в среде Windows. С ее помощью можно быстро писать программы, не только выполняющие какие - либо вычисления или функции, но и надёжные приложения управления базами данных. Визуальные аспекты программирования в Delphi позволяют считать его великолепным инструментом скоростной разработки программ. Кроме того, Delphi является хорошим инструментом для скоростной разработки приложений Windows. А также он содержит в себе всю мощь компилируемого языка программирования (Object Pascal), помещённого в оболочку средств скоростной разработки приложений (RAD) – Rapid Application Development. RAD резко повышает эффективность разработки приложений. Чтобы более наглядно это понять стоит привести отличительные особенности СУБД, содержащих RAD. 
 
Во-первых, это, конечно же, наличие объектно-ориентированного языка программирования, эффективно использующего модульный принцип построения программ. Модульный принцип основан на следующих понятиях: 

  •  
    Объект – тип данных, характеризующийся тем, что элементами данного типа могут быть как данные, так и методы. Объектно-ориентированное программирование представляет собой способ программирования, который напоминает процесс человеческого мышления. Он возник в результате естественной эволюции более ранних нововведений в разработке языков программирования. Оно является более структурированным, чем другие способы программирования и позволяет создавать модульные программы с представлением данных на определённом уровне абстракции. Характеризуется тремя основными свойствами:
  •  
    Инкапсуляция – это объединение записей процедурами и функциями, работающими с полями этих записей, которая формулирует новый тип данных, называемый объектом классом;
  •  
    Наследование – это определение нового объекта и дальнейшее использование всех его свойств объекта-предка. Далее может быть построена иерархия порождённых объектов с возможностью для каждого порождённого объекта доступа к коду и данным порождающих объектов;
  •  
    Полиморфизм – присваивание определённому действию одного имени, которое затем совместно используется во всей иерархии объектов, причём, каждый объект иерархии выполняет это действие характерным для него способом.

 
Во-вторых, это наличие визуальных средств разработки, заменяющих написание  кодов программ, размещением графических  объектов на рабочем столе. 
 
В-третьих, должна обеспечиваться поддержка стандартных протоколов обмена данными между приложениями. 

Выбор СУБД

 
 
Выбор системы управления баз  данных (СУБД) представляет собой сложную  многопараметрическую задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный  программный продукт должен удовлетворять как текущим, так и будущим потребностям предприятия, при этом следует учитывать финансовые затраты на приобретение необходимого оборудования, самой системы, разработку необходимого программного обеспечения на ее основе, а также обучение персонала. Кроме того, необходимо убедиться, что новая СУБД способна принести предприятию реальные выгоды. 
 
 

2.2 Методы

 
 
Для реализации поставленной задачи, были использованы следующие программные  методы. 
Отображение данных 
Для отображения данных использовался компонент dbGrid. Навигация по базе данных осуществляется перемещением курсора в главной таблице и компонентом bdNavigator. 
Добавление/редактирование/удаление данных и навигация 
Компонент DBNavigator обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей  
 
Сортировка данных 
Сортировка предназначена для удобства просмотра данных. 
 
Сортировка данных организована средствами компонента dbGrid по нажатию на заголовок столбца. 
 
procedure TFMain.DBGrid1TitleClick(Column: TColumn); 
 
var 
 
i:integer; 
 
order, field:string; 
begin 
 
i:= Column.Index; 
 
sort[i]:=not sort[i]; 
 
if(sort[i]) then order:=' ASC ' 
 
else order:=' DESC '; 
 
case Column.Index of 
 
0:field:=' nomer '; 
 
1:field:=' FIO'; 
 
2:field:=' kol '; 
 
3:field:=' uch st '; 
 
4:field:=' uch zv '; 
 
5:field:=' prochee '; 
 
end; 
 
DM.ADOQSvodnaya.Close; 
 
DM.ADOQSvodnaya.SQL.Text:=SQL+'ORDER BY '+field+order; 
 
DM.ADOQSvodnaya.Open; 
 
Поиск в наборе данных 
Поиск в наборе данных осуществляется в таблице «Дисциплина», по кнопке «искать»: 
procedure TFDisc.Button1Click(Sender: TObject); 
 
begin 
 
if not DM.ADOQDisciplina.Locate('nazvanie',LabeledEdit1.Text,[loCaseInsensitive,loPartialKey]) 
 
then showmessage('Запись не обнаружена'); 
 
end; 
 
Вывод отчетов 
Вывод отчетов организован средствами компонента dbGrid.  
procedure TFChReport.Button1Click(Sender: TObject); 
 
begin 
 
if(ComboBox1.Text = '')then 
 
begin 
 
ShowMessage('Группа не выбрана'); 
 
exit; 
 
end; 
 
QuickReport1.QRLabel6.Caption:=ComboBox1.Text; 
 
DM.ADOQRep.close; 
 
DM.ADOQRep.SQL.Text:=SQL+'WHERE G_nomer = '''+ComboBox1.Text+''''; 
 
DM.ADOQRep.open; 
 
QuickReport1.Preview; 
end; 
Обеспечение безопасности базы данных 
Вход в базу данных осуществляется при вводе логина и пароля (по умолчанию: login –work, key – 963258741). Это предотвращает несанкционированный доступ к базе.  
Так же сохранение записей в базе данных при наличии одного или несколько незаполненных полей невозможно, что способствует сохранению целостности данных и достоверности информации. 
Правильность вводимых данный осуществляется методами компонента dbNavigator, он не позволяет добавить записи с пустыми полями, так же осуществляет проверку типа вводимых данный в соответствии с тем типом, который указан для полей в таблицах Access. 
 

3. Инструкция пользователя

 
Приложение запускается файлом work.exe, располагающемся в папке программы. 
 
При запуске откроется окно входа в приложение «Код безопасности» 
 
Для авторизации в системе необходимо указать логин – work, пароль – 963258741. После этого Вам будет предоставлен доступ ко всем таблицам базы данных, первой откроется итоговая таблица «Дисциплина-Преподаватель» . 
 
Навигация по таблицам осуществляется с помощью кликов мыши, либо кнопками компонента bdNavigator, расположенного под каждой из таблиц. 
 
Открытие необходимых таблиц осуществляется через главное меню, расположенное в верхней части форм. 
 
Добавление, редактирование, удаление записей осуществляется через bdNavigator, расположенный под каждой из таблиц.  
 
Формирование отчета осуществляется через меню в верхней части экрана  
 
Заключение 
В результате проделанной работы была разработана база данных и приложение по работе с данной базой. Совокупность программных средств позволяет выполнять работу по учету, регистрации, поддержании актуального состояния сведений о группах, дисциплинах, формах обучения и специальностях, имеющихся в ВУЗе. 
 
Простота навигации и управления базой позволяют работать с ней широкому кругу лиц вне зависимости от возрастной категории. 
Есть возможность подсчета среднего количества студентов в группах для отслеживания потока студентов в разные периоды обучения.  
Имеется быстрый способ просмотра общего числа студентов по специальностям.  
Также доступна возможно печати отчета по перечню учебных дисциплин для выбранной студенческой группы. 
 
Список литературы 
 
 

              1.  
                Фаронов В.В., Программирование баз данных в Delphi 7. Учебный курс, СПб.: Питер, 2003;
  1.  
    Классификация основных средств, включаемых в амортизационные группы – М.: Налог-инфо, 2005;
  2.  
    Гофман В.Э., Хомоненко А.Д., Работа с базами данных в Delphi. – 2-е изд, СПБ.: БХВ-Петербург, 2002;
  3.  
    Бобровский С. И., Delphi 7. Учебный курс, СПБ.: Питер, 2003;
  4.  
    электронный ресурс: delphisite.ru
  5.  
    электронный ресурс: delphiexpert.ru

Листинг программы

 
unit chrep; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, StdCtrls, DBCtrls; 
type 
 
TFChReport = class(TForm) 
 
Label1: TLabel; 
 
Button1: TButton; 
 
ComboBox1: TComboBox; 
 
procedure Button1Click(Sender: TObject); 
 
procedure FormCreate(Sender: TObject); 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FChReport: TFChReport; 
implementation 
uses datamod, report, main; 
{$R *.dfm} 
procedure TFChReport.Button1Click(Sender: TObject); 
 
begin 
 
if(ComboBox1.Text = '')then 
 
begin 
 
ShowMessage('Íå âûáðàíà ãðóïïà'); 
 
exit; 
 
end; 
 
QuickReport1.QRLabel6.Caption:=ComboBox1.Text; 
 
DM.ADOQRep.close; 
 
DM.ADOQRep.SQL.Text:=SQL+'WHERE G_nomer = '''+ComboBox1.Text+''''; 
 
DM.ADOQRep.open; 
 
QuickReport1.Preview; 
end; 
procedure TFChReport.FormCreate(Sender: TObject); 
 
begin 
 
ComboBox1.Clear; 
 
DM.ADOQGruppa.First; 
 
while not DM.ADOQGruppa.Eof do 
 
begin 
 
ComboBox1.Items.Add(DM.ADOQGruppaG_nomer.Value); 
 
DM.ADOQGruppa.Next; 
 
end 
 
end; 
end. 
unit datamod; 
interface 
uses 
 
SysUtils, Classes, DB, ADODB; 
type 
 
TDM = class(TDataModule) 
 
ADOConnection1: TADOConnection; 
 
ADOQGruppa: TADOQuery; 
 
ADOQGruppaG_id: TAutoIncField; 
 
ADOQGruppaG_nomer: TWideStringField; 
 
ADOQGruppaG_chislennost: TIntegerField; 
 
ADOQGruppaG_sred_proh_bal: TFloatField; 
 
ADOQGruppaG_specialnost_id: TIntegerField; 
 
ADOQGruppaG_forma_obucheniya_id: TIntegerField; 
 
ADOQSpec: TADOQuery; 
 
ADOQFormaOb: TADOQuery; 
 
ADOQDisciplina: TADOQuery; 
 
ADOQGruppaDisc: TADOQuery; 
 
dsSpec: TDataSource; 
 
dsGruppa: TDataSource; 
 
dsFormaOb: TDataSource; 
 
ADOQGruppaG_specialnost: TStringField; 
 
ADOQGruppaG_forma_obuch: TStringField; 
 
dsDisciplina: TDataSource; 
 
dsGruppaDisc: TDataSource; 
 
ADOQGruppaDiscGD_id: TAutoIncField; 
 
ADOQGruppaDiscGD_gruppa_id: TIntegerField; 
 
ADOQGruppaDiscGD_disciplina_id: TIntegerField; 
 
ADOQGruppaDiscGD_Gruppa: TStringField; 
 
ADOQGruppaDiscGD_disciplina: TStringField; 
 
ADOQSvodnaya: TADOQuery; 
 
dsSvodnaya: TDataSource; 
 
ADOQRep: TADOQuery; 
 
dsRep: TDataSource; 
 
ADOQSred: TADOQuery; 
 
ADOQuery: TADOQuery; 
 
dsQuery: TDataSource; 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
DM: TDM; 
implementation 
{$R *.dfm} 
end. 
unit disciplina; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, StdCtrls; 
type 
 
TFDisc = class(TForm) 
 
DBGrid1: TDBGrid; 
 
DBNavigator1: TDBNavigator; 
 
GroupBox1: TGroupBox; 
 
LabeledEdit1: TLabeledEdit; 
 
Button1: TButton; 
 
procedure Button1Click(Sender: TObject); 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FDisc: TFDisc; 
implementation 
uses datamod; 
{$R *.dfm} 
procedure TFDisc.Button1Click(Sender: TObject); 
 
begin 
 
if not DM.ADOQDisciplina.Locate('D_nazvanie',LabeledEdit1.Text,[loCaseInsensitive,loPartialKey]) 
 
then showmessage('Çàïèñü íå íàéäåíà'); 
 
end; 
end. 
 
unit Fobuch; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids; 
type 
 
TFObuchenie = class(TForm) 
 
DBGrid1: TDBGrid; 
 
DBNavigator1: TDBNavigator; 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FObuchenie: TFObuchenie; 
implementation 
uses datamod; 
{$R *.dfm} 
end. 
unit FSpec; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids; 
type 
 
TFSpecialnost = class(TForm) 
 
DBGrid1: TDBGrid; 
 
DBNavigator1: TDBNavigator; 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FSpecialnost: TFSpecialnost; 
implementation 
uses datamod; 
{$R *.dfm} 
end. 
 
unit gruppa; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids; 
type 
 
TFGruppa = class(TForm) 
 
DBGrid1: TDBGrid; 
 
DBNavigator1: TDBNavigator; 
 
procedure FormClose(Sender: TObject; var Action: TCloseAction); 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FGruppa: TFGruppa; 
implementation 
uses datamod; 
{$R *.dfm} 
procedure TFGruppa.FormClose(Sender: TObject; var Action: TCloseAction); 
 
begin 
 
DM.ADOQGruppa.Close; 
 
DM.ADOQGruppa.Open; 
 
end; 
end. 
unit gruppadisc; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids; 
type 
 
TFGruppaDisc = class(TForm) 
 
DBGrid1: TDBGrid; 
 
DBNavigator1: TDBNavigator; 
 
procedure FormClose(Sender: TObject; var Action: TCloseAction); 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FGruppaDisc: TFGruppaDisc; 
implementation 
uses datamod; 
{$R *.dfm} 
procedure TFGruppaDisc.FormClose(Sender: TObject; 
 
var Action: TCloseAction); 
 
begin 
 
DM.ADOQSvodnaya.Close; 
 
DM.ADOQSvodnaya.Open; 
 
end; 
end. 
unit login; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, StdCtrls, ExtCtrls; 
type 
 
TFLogin = class(TForm) 
 
LabeledEdit1: TLabeledEdit; 
 
LabeledEdit2: TLabeledEdit; 
 
Button1: TButton; 
 
procedure FormClose(Sender: TObject; var Action: TCloseAction); 
 
procedure Button1Click(Sender: TObject); 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FLogin: TFLogin; 
implementation 
uses main; 
{$R *.dfm} 
procedure TFLogin.FormClose(Sender: TObject; var Action: TCloseAction); 
 
begin 
 
if(not logged)then Fmain.Close; 
 
end; 
procedure TFLogin.Button1Click(Sender: TObject); 
 
begin 
 
if(LabeledEdit1.Text = 'Admin') and(LabeledEdit2.Text = '12345') 
 
then begin logged:=true; 
 
FMain.Show; 
 
Close; 
 
end; 
 
end; 
end. 
unit main; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, Menus, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, XPMan; 
type 
 
TFMain = class(TForm) 
 
MainMenu1: TMainMenu; 
 
menu1: TMenuItem; 
 
N2: TMenuItem; 
 
N3: TMenuItem; 
 
N1: TMenuItem; 
 
N4: TMenuItem; 
 
N5: TMenuItem; 
 
DBGrid1: TDBGrid; 
 
DBNavigator1: TDBNavigator; 
 
N6: TMenuItem; 
 
Label1: TLabel; 
 
Label2: TLabel; 
 
Label3: TLabel; 
 
Label4: TLabel; 
 
N241: TMenuItem; 
 
XPManifest1: TXPManifest; 
 
procedure N1Click(Sender: TObject); 
 
procedure N4Click(Sender: TObject); 
 
procedure N2Click(Sender: TObject); 
 
procedure N3Click(Sender: TObject); 
 
procedure N5Click(Sender: TObject); 
 
procedure DBGrid1TitleClick(Column: TColumn); 
 
procedure FormCreate(Sender: TObject); 
 
procedure N6Click(Sender: TObject); 
 
procedure FormShow(Sender: TObject); 
 
procedure N241Click(Sender: TObject); 
 
procedure FormActivate(Sender: TObject); 
 
procedure FormClick(Sender: TObject); 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FMain: TFMain; 
 
sort:array[0..6] of boolean; 
 
SQL:AnsiString; 
 
logged:boolean; 
 
implementation 
uses FSpec, Fobuch, gruppa, disciplina, gruppadisc, datamod, chrep, qqqq, 
 
login; 
{$R *.dfm} 
procedure TFMain.N1Click(Sender: TObject); 
 
begin 
 
FSpecialnost.ShowModal; 
 
end; 
procedure TFMain.N4Click(Sender: TObject); 
 
begin 
 
FObuchenie.ShowModal; 
 
end; 
procedure TFMain.N2Click(Sender: TObject); 
 
begin 
 
FGruppa.ShowModal; 
 
end; 
procedure TFMain.N3Click(Sender: TObject); 
 
begin 
 
FDisc.ShowModal; 
 
end; 
procedure TFMain.N5Click(Sender: TObject); 
 
begin 
 
FGruppaDisc.ShowModal; 
 
end; 
procedure TFMain.DBGrid1TitleClick(Column: TColumn); 
 
var 
 
i:integer; 
 
order, field:string; 
begin 
 
i:= Column.Index; 
 
sort[i]:=not sort[i]; 
 
if(sort[i]) then order:=' ASC ' 
 
else order:=' DESC '; 
 
case Column.Index of 
 
0:field:=' G_nomer '; 
 
1:field:=' S_shifr '; 
 
2:field:=' FO_kod '; 
 
3:field:=' D_nazvanie '; 
 
4:field:=' D_lekcii '; 
 
5:field:=' D_prakticheskie '; 
 
6:field:=' D_prochee '; 
 
end; 
 
DM.ADOQSvodnaya.Close; 
 
DM.ADOQSvodnaya.SQL.Text:=SQL+'ORDER BY '+field+order; 
 
DM.ADOQSvodnaya.Open; 
 
end; 
procedure TFMain.FormCreate(Sender: TObject); 
 
var i:integer; 
 
begin 
 
for i:=0 to 6 do sort[i]:=true; 
 
SQL:='SELECT Gruppa.G_nomer, Specialnost.S_shifr, Forma_obucheniya.FO_kod, Disciplina.D_nazvanie, Disciplina.D_lekcii, Disciplina.D_prakticheskie, Disciplina.D_prochee '+ 
 
' FROM Forma_obucheniya INNER JOIN (Specialnost INNER JOIN (Disciplina INNER JOIN (Gruppa INNER JOIN Gruppa_Disciplina ON Gruppa.G_id = Gruppa_Disciplina.GD_gruppa_id) ON Disciplina.D_id = Gruppa_Disciplina.GD_disciplina_id) ON '+ 
 
' Specialnost.S_id = Gruppa.G_specialnost_id) ON Forma_obucheniya.FO_id = Gruppa.G_forma_obucheniya_id '; 
 
logged:=false; 
 
end; 
procedure TFMain.N6Click(Sender: TObject); 
 
begin 
 
FChReport.ShowModal; 
 
end; 
procedure TFMain.FormShow(Sender: TObject); 
 
begin 
 
Label2.Caption:=IntToStr(DM.ADOQSpec.RecordCount); 
 
Label4.Caption:=IntToStr(DM.ADOQSred.FieldByName('SRED').AsInteger); 
 
end; 
procedure TFMain.N241Click(Sender: TObject); 
 
begin 
 
DM.ADOQuery.Close; 
 
DM.ADOQuery.Open; 
 
FQ.ShowModal; 
 
end; 
procedure TFMain.FormActivate(Sender: TObject); 
 
begin 
 
if(not logged)then begin 
 
//Hide; 
 
Label2.Caption:=IntToStr(DM.ADOQSpec.RecordCount); 
 
Label4.Caption:=IntToStr(DM.ADOQSred.FieldByName('SRED').AsInteger); 
FLogin.ShowModal; 
 
end; 
 
end; 
procedure TFMain.FormClick(Sender: TObject); 
 
begin 
 
Label2.Caption:=IntToStr(DM.ADOQSpec.RecordCount); 
 
Label4.Caption:=IntToStr(DM.ADOQSred.FieldByName('SRED').AsInteger); 
 
end; 
end. 
program mydatabase; 
uses 
 
Forms, 
 
main in 'main.pas' {FMain}, 
 
FSpec in 'FSpec.pas' {FSpecialnost}, 
 
datamod in 'datamod.pas' {DM: TDataModule}, 
 
Fobuch in 'Fobuch.pas' {FObuchenie}, 
 
gruppa in 'gruppa.pas' {FGruppa}, 
 
disciplina in 'disciplina.pas' {FDisc}, 
 
gruppadisc in 'gruppadisc.pas' {FGruppaDisc}, 
 
report in 'report.pas' {QuickReport1: TQuickRep}, 
 
chrep in 'chrep.pas' {FChReport}, 
 
qqqq in 'qqqq.pas' {FQ}, 
 
login in 'login.pas' {FLogin}; 
{$R *.res} 
begin 
 
Application.Initialize; 
 
Application.CreateForm(TFMain, FMain); 
 
Application.CreateForm(TFSpecialnost, FSpecialnost); 
 
Application.CreateForm(TDM, DM); 
 
Application.CreateForm(TFObuchenie, FObuchenie); 
 
Application.CreateForm(TFGruppa, FGruppa); 
 
Application.CreateForm(TFDisc, FDisc); 
 
Application.CreateForm(TFGruppaDisc, FGruppaDisc); 
 
Application.CreateForm(TQuickReport1, QuickReport1); 
 
Application.CreateForm(TFChReport, FChReport); 
 
Application.CreateForm(TFQ, FQ); 
 
Application.CreateForm(TFLogin, FLogin); 
 
Application.Run; 
 
end. 
unit qqqq; 
interface 
uses 
 
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 
Dialogs, Grids, DBGrids; 
type 
 
TFQ = class(TForm) 
 
DBGrid1: TDBGrid; 
 
private 
 
{ Private declarations } 
 
public 
 
{ Public declarations } 
 
end; 
var 
 
FQ: TFQ; 
implementation 
uses datamod; 
{$R *.dfm} 
end. 
unit report; 
interface 
uses Windows, SysUtils, Messages, Classes, Graphics, Controls, 
 
StdCtrls, ExtCtrls, Forms, QuickRpt, QRCtrls; 
type 
 
TQuickReport1 = class(TQuickRep) 
 
QRBand1: TQRBand; 
 
QRLabel1: TQRLabel; 
 
QRBand2: TQRBand; 
 
QRLabel2: TQRLabel; 
 
QRLabel3: TQRLabel; 
 
QRLabel4: TQRLabel; 
 
QRLabel5: TQRLabel; 
 
QRLabel6: TQRLabel; 
 
QRBand3: TQRBand; 
 
QRDBText1: TQRDBText; 
 
QRDBText2: TQRDBText; 
 
QRDBText3: TQRDBText; 
 
QRDBText4: TQRDBText; 
 
private 
public 
end; 
var 
 
QuickReport1: TQuickReport1; 
implementation 
uses datamod; 
{$R *.DFM} 
end.

 

 

 

 

 

 

 

 

 

Список литературы 
 
1. Гофман В.Э. Delphi 5 / В.Э. Гофман, А.Д. Хомоненко. СПб. : БХВ Санкт-Петербург, 2000. 800 с.

2.Фаронов В.В. Delphi 5: учеб. курс / В.В.  Фаронов. М. : Нолидж, 2001. 608 с.

3.Фаронов  В.В., Программирование баз данных  в Delphi 7. Учебный курс, СПб.: Питер, 2003;

4.Классификация  основных средств, включаемых  в амортизационные группы –  М.: Налог-инфо, 2005;

5.Гофман  В.Э., Хомоненко А.Д., Работа с базами  данных в Delphi. – 2-е изд, СПБ.: БХВ-Петербург, 2002;

6.Бобровский  С. И., Delphi 7. Учебный курс, СПБ.: Питер, 2003;

7.электронный  ресурс: delphisite.ru

8.электронный  ресурс: delphiexpert.ru

 

 

 

 


Информация о работе Университет МВД