Автоматизация учета коллекционных монет
Проектирование структуры базы данных. Технология обработки данных. Порядок установки и запуска программы. Описание объектов приложения и структура данных. Ввод и изменение исходных данных. Получение выходных документов и тестирование программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | отчет по практике |
Язык | русский |
Дата добавления | 22.07.2012 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
' WHERE t_moneta.price=(SELECT Max(price) '+
' FROM t_moneta '+
' WHERE kod_valuta='+inttostr(lb_val.KeyValue)+') ORDER BY t_moneta.price DESC';
dm_collection.Q_calc.SQL.Text:=global;
dm_collection.Q_calc.Open;
zag2;
kol:=dm_collection.q_calc.RecordCount;
if kol>0 then
begin
label3.Caption:='Количество найденных монет:'+inttostr(kol);
label3.Visible:=true;
btn_print.Enabled:=true;
end
else
begin
label3.Caption:='Монет не найдено';
label3.Visible:=true;
end;
end;
procedure Tfm_poisk4.BitBtn1Click(Sender: TObject);
begin
self.Close;
end;
end.
unit poisk2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, Grids, DBGrids,dm;
type
Tfm_poisk2 = class(TForm)
DBGrid2: TDBGrid;
rg_group: TRadioGroup;
rg_vid: TRadioGroup;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
procedure FormActivate(Sender: TObject);
procedure rg_groupClick(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure zag();
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_poisk2: Tfm_poisk2;
global,sql,sql2:string;
flag:boolean;
implementation
uses main;
{$R *.dfm}
procedure Tfm_poisk2.zag();
begin
self.DBGrid2.Columns[0].Title.Caption:='Фамилия';
self.DBGrid2.Columns[1].Title.Caption:='Имя';
self.DBGrid2.Columns[2].Title.Caption:='Отчество';
self.DBGrid2.Columns[3].Title.Caption:='Валюта';
self.DBGrid2.Columns[4].Title.Caption:='Номинал';
self.DBGrid2.Columns[5].Title.Caption:='Количество';
end;
procedure Tfm_poisk2.BitBtn2Click(Sender: TObject);
var txt,filename:string;
begin
case rg_group.ItemIndex of
0:
begin
case rg_vid.ItemIndex of
0:
begin
try
dm_collection.Reports.ExecuteReport('r_poisk2_00'); // запуск без группировки, итоговый
except
MessageDlg('Неправильный фаил отчётов. Пожалуйста укажите путь к корректному фаилу.',mtInformation,[mbOk],0);
repeat
if fm_main.opendialogrep.Execute = true then
begin
filename:=fm_main.opendialogrep.FileName;
dm_collection.reports.ProjectFile:=filename;
end;
until (dm_collection.reports.projectfile=ExtractFilePath(Application.ExeName)+'Reports.rav') or (fm_main.OpenDialogRep.Execute = false)
end;
end;
1:
begin
try
dm_collection.Reports.ExecuteReport('r_poisk2_00'); // запуск без группировки, подробный
except
MessageDlg('Неправильный фаил отчётов. Пожалуйста укажите путь к корректному фаилу.',mtInformation,[mbOk],0);
repeat
if fm_main.opendialogrep.Execute = true then
begin
filename:=fm_main.opendialogrep.FileName;
dm_collection.reports.ProjectFile:=filename;
end;
until (dm_collection.reports.projectfile=ExtractFilePath(Application.ExeName)+'Reports.rav') or (fm_main.OpenDialogRep.Execute = false)
end;
end;
end;
end;
1:
begin
case rg_vid.ItemIndex of
0:
begin
try
dm_collection.Reports.ExecuteReport('r_poisk2_10'); // запуск по коллекционеру, итоговый
except
MessageDlg('Неправильный фаил отчётов. Пожалуйста укажите путь к корректному фаилу.',mtInformation,[mbOk],0);
repeat
if fm_main.opendialogrep.Execute = true then
begin
filename:=fm_main.opendialogrep.FileName;
dm_collection.reports.ProjectFile:=filename;
end;
until (dm_collection.reports.projectfile=ExtractFilePath(Application.ExeName)+'Reports.rav') or (fm_main.OpenDialogRep.Execute = false)
end;
end;
1:
begin
dm_collection.q_calc.SQL.Text:='SELECT t_kollektioner.fam, t_moneta.nominal, t_valuta.valuta, '+
' t_collection.kol, t_moneta.god, t_moneta.tirazh, t_moneta.opisanie, t_moneta.price, t_kollektioner.imy, '+
' t_kollektioner.otch, t_kollektioner.telefon, t_kollektioner.adres, '+
' Year(Date())- god as vozrast FROM (t_valuta INNER JOIN t_moneta ON t_valuta.kod_valuta = t_moneta.kod_valuta) INNER JOIN (t_kollektioner '+
' INNER JOIN t_collection ON t_kollektioner.kod_kollek = t_collection.kod_kollek) ON t_moneta.kod_moneta = '+
' t_collection.kod_moneta ORDER BY t_kollektioner.kod_kollek';
dm_collection.q_calc.Open;
try
dm_collection.Reports.ExecuteReport('r_poisk2_11'); // запуск по коллекционеру, подробный
except
MessageDlg('Неправильный фаил отчётов. Пожалуйста укажите путь к корректному фаилу.',mtInformation,[mbOk],0);
repeat
if fm_main.opendialogrep.Execute = true then
begin
filename:=fm_main.opendialogrep.FileName;
dm_collection.reports.ProjectFile:=filename;
end;
until (dm_collection.reports.projectfile=ExtractFilePath(Application.ExeName)+'Reports.rav') or (fm_main.OpenDialogRep.Execute = false)
end;
end;
end;
end;
2:
begin
case rg_vid.ItemIndex of
0:
begin
try
dm_collection.Reports.ExecuteReport('r_poisk2_20'); // запуск по монете, итоговый
except
MessageDlg('Неправильный фаил отчётов. Пожалуйста укажите путь к корректному фаилу.',mtInformation,[mbOk],0);
repeat
if fm_main.opendialogrep.Execute = true then
begin
filename:=fm_main.opendialogrep.FileName;
dm_collection.reports.ProjectFile:=filename;
end;
until (dm_collection.reports.projectfile=ExtractFilePath(Application.ExeName)+'Reports.rav') or (fm_main.OpenDialogRep.Execute = false)
end;
end;
1:
begin
dm_collection.q_calc.SQL.Text:='SELECT t_moneta.kod_moneta, t_valuta.kod_valuta AS t_valuta_kod_valuta,'+
' t_valuta.valuta, t_moneta.kod_moneta AS t_moneta_kod_moneta, t_moneta.kod_valuta AS'+
' t_moneta_kod_valuta, t_moneta.nominal, t_moneta.god, t_moneta.tirazh, t_moneta.opisanie,'+
' t_moneta.price, t_kollektioner.kod_kollek AS t_kollektioner_kod_kollek, t_kollektioner.fam,'+
' t_kollektioner.imy, t_kollektioner.otch, t_kollektioner.telefon, t_kollektioner.adres,'+
' t_collection.kod_kollek AS t_collection_kod_kollek, t_collection.kod_moneta AS t_collection_kod_moneta,'+
' t_collection.kol FROM (t_valuta INNER JOIN t_moneta ON t_valuta.[kod_valuta] = t_moneta.[kod_valuta])'+
' INNER JOIN (t_kollektioner INNER JOIN t_collection ON t_kollektioner.[kod_kollek] = t_collection.[kod_kollek])'+
' ON t_moneta.[kod_moneta] = t_collection.[kod_moneta] GROUP BY t_valuta.kod_valuta, t_valuta.valuta,'+
' t_moneta.kod_moneta, t_moneta.kod_valuta, t_moneta.nominal, t_moneta.god, t_moneta.tirazh,'+
' t_moneta.opisanie, t_moneta.price, t_kollektioner.kod_kollek, t_kollektioner.fam, t_kollektioner.imy,'+
' t_kollektioner.otch, t_kollektioner.telefon, t_kollektioner.adres, t_collection.kod_kollek,'+
' t_collection.kod_moneta, t_collection.kol'+
' ORDER BY t_moneta.kod_moneta ASC';
dm_collection.q_calc.Open;
try
dm_collection.Reports.ExecuteReport('r_poisk2_21'); // запуск по монете, подробный
except
MessageDlg('Неправильный фаил отчётов. Пожалуйста укажите путь к корректному фаилу.',mtInformation,[mbOk],0);
repeat
if fm_main.opendialogrep.Execute = true then
begin
filename:=fm_main.opendialogrep.FileName;
dm_collection.reports.ProjectFile:=filename;
end;
until (dm_collection.reports.projectfile=ExtractFilePath(Application.ExeName)+'Reports.rav') or (fm_main.OpenDialogRep.Execute = false)
end;
end;
end;
end;
end;
end;
procedure Tfm_poisk2.FormActivate(Sender: TObject);
begin
if flag=true then
begin
flag:=false;
rg_group.ItemIndex:=0;
global:='SELECT fam ,imy ,otch , valuta, nominal , kol '+
' FROM t_collection, t_valuta, t_kollektioner, t_moneta'+
' WHERE (t_valuta.kod_valuta=t_moneta.kod_valuta) and (t_moneta.kod_moneta=t_collection.kod_moneta) and'+
' (t_kollektioner.kod_kollek=t_collection.kod_kollek) ORDER BY fam';
dm_collection.q.SQL.Text:=global;
dm_collection.Q.open;
zag;
end;
end;
procedure Tfm_poisk2.rg_groupClick(Sender: TObject);
begin
case rg_group.ItemIndex of
0:
begin
global:='SELECT fam ,imy ,otch , valuta , nominal , kol '+
' FROM t_collection, t_valuta, t_kollektioner, t_moneta'+
' WHERE (t_valuta.kod_valuta=t_moneta.kod_valuta) and (t_moneta.kod_moneta=t_collection.kod_moneta) and'+
' (t_kollektioner.kod_kollek=t_collection.kod_kollek) ORDER BY fam';
dm_collection.Q.SQL.Text:=global;
dm_collection.Q.Open;
zag;
end;
1:
begin
global:='SELECT fam , imy , otch , Sum(t_collection.kol) ,'+
' Sum(t_moneta.price*t_collection.kol) FROM t_moneta INNER JOIN (t_kollektioner'+
' INNER JOIN t_collection ON t_kollektioner.kod_kollek = t_collection.kod_kollek) ON t_moneta.kod_moneta ='+
' t_collection.kod_moneta GROUP BY t_kollektioner.fam, t_kollektioner.imy, t_kollektioner.otch';
dm_collection.Q.SQL.Text:=global;
dm_collection.Q.Open;
DBGrid2.Columns[0].Title.Caption:='Фамилия';
DBGrid2.Columns[1].Title.Caption:='Имя';
DBGrid2.Columns[2].Title.Caption:='Отчество';
DBGrid2.Columns[3].Title.Caption:='Всего монет';
DBGrid2.Columns[4].Title.Caption:='Общая стоймость';
end;
2:
begin
global:='SELECT valuta , nominal , Sum(t_collection.kol) '+
' FROM t_valuta INNER JOIN (t_moneta INNER JOIN t_collection ON t_moneta.kod_moneta = '+
' t_collection.kod_moneta) ON t_valuta.kod_valuta = t_moneta.kod_valuta'+
' GROUP BY t_valuta.valuta, t_moneta.nominal';
dm_collection.Q.SQL.Text:=global;
dm_collection.Q.Open;
DBGrid2.Columns[0].Title.Caption:='Валюта';
DBGrid2.Columns[1].Title.Caption:='Номинал';
DBGrid2.Columns[2].Title.Caption:='Сумма монет';
end;
end;
end;
procedure Tfm_poisk2.BitBtn1Click(Sender: TObject);
begin
self.Close;
end;
procedure Tfm_poisk2.FormCreate(Sender: TObject);
begin
flag:=true;
end;
end.
unit settings;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, dm, Mask, DBCtrls, Buttons, ExtCtrls;
type
Tfm_settings = class(TForm)
Label1: TLabel;
Label2: TLabel;
BitBtn1: TBitBtn;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBNavigator1: TDBNavigator;
Label3: TLabel;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_settings: Tfm_settings;
implementation
{$R *.dfm}
procedure Tfm_settings.BitBtn1Click(Sender: TObject);
begin
self.close;
end;
end.
unit cleardata;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls,dm;
type
Tfm_cleardate = class(TForm)
Label2: TLabel;
Label3: TLabel;
Panel1: TPanel;
CheckBox1: TCheckBox;
Panel2: TPanel;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
CheckBox4: TCheckBox;
CheckBox5: TCheckBox;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label1: TLabel;
procedure BitBtn1Click(Sender: TObject);
procedure CheckBox5Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_cleardate: Tfm_cleardate;
implementation
{$R *.dfm}
procedure Tfm_cleardate.BitBtn1Click(Sender: TObject);
begin
self.Close;
end;
procedure Tfm_cleardate.CheckBox5Click(Sender: TObject);
begin
if checkbox5.Checked=true then
begin
CheckBox1.Checked:=true;
CheckBox2.Checked:=true;
CheckBox3.Checked:=true;
CheckBox4.Checked:=true;
end
else
begin
CheckBox1.Checked:=false;
CheckBox2.Checked:=false;
CheckBox3.Checked:=false;
CheckBox4.Checked:=false;
end;
end;
procedure Tfm_cleardate.CheckBox1Click(Sender: TObject);
begin
if checkbox1.Checked=true then
begin
checkbox2.Checked:=true;
checkbox3.Checked:=true;
checkbox4.Checked:=true;
checkbox5.Checked:=true;
end
else
begin
checkbox2.Checked:=false;
checkbox3.Checked:=false;
checkbox4.Checked:=false;
checkbox5.Checked:=false;
end;
end;
procedure Tfm_cleardate.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked=true then
begin
checkbox4.Checked:=true
end
else
checkbox4.Checked:=false;
end;
procedure Tfm_cleardate.CheckBox3Click(Sender: TObject);
begin
if checkbox3.Checked=true then
checkbox4.Checked:=true
else
checkbox4.Checked:=false;
end;
procedure Tfm_cleardate.BitBtn2Click(Sender: TObject);
begin
if (checkbox1.Checked=true) or (checkbox5.Checked=true) then
begin
if messagedlg('Вы действительно хотите удалить все записи из базы данных?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
dm_collection.Q.SQL.text:='DELETE FROM t_valuta';
dm_collection.q.ExecSQL;
dm_collection.Q.SQL.Text:='DELETE FROM t_kollektioner';
dm_collection.q.ExecSQL;
dm_collection.q.sql.text:='DELETE FROM t_collection';
dm_collection.q.ExecSQL;
dm_collection.Q.SQL.Text:='DELETE FROM t_moneta';
dm_collection.Q.ExecSQL;
checkbox2.Checked:=false;
checkbox3.Checked:=false;
checkbox4.Checked:=false;
checkbox5.Checked:=false;
checkbox1.Checked:=false;
messagedlg('База данных очищена',mtInformation,[mbOk],0);
end;
end;
if checkbox2.Checked=true then
begin
if messagedlg('Вы действительно хотите удалить коллекционеров и их коллекции?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
dm_collection.q.SQL.Text:='DELETE FROM t_kollektioner';
dm_collection.Q.ExecSQL;
dm_collection.Q.SQL.Text:='DELETE FROM t_collection';
dm_collection.Q.ExecSQL;
checkbox2.Checked:=false;
checkbox3.Checked:=false;
checkbox4.Checked:=false;
checkbox5.Checked:=false;
checkbox1.Checked:=false;
messagedlg('Коллекционеры и их коллекции удалены',mtInformation,[mbOk],0);
end;
end;
if checkbox3.Checked=true then
begin
if messagedlg('Вы действительно хотите удалить монеты и коллекции?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
dm_collection.q.SQL.Text:='DELETE FROM t_moneta';
dm_collection.Q.ExecSQL;
dm_collection.Q.SQL.Text:='DELETE FROM t_collection;';
dm_collection.Q.ExecSQL;
checkbox2.Checked:=false;
checkbox3.Checked:=false;
checkbox4.Checked:=false;
checkbox5.Checked:=false;
checkbox1.Checked:=false;
messagedlg('Монеты и коллекции удалены',mtInformation,[mbOk],0);
end;
end;
if checkbox4.Checked=true then
begin
if messagedlg('Вы действительно хотите удалить коллекции?',mtConfirmation,[mbYes,mbNo],0)=mrYes then
begin
dm_collection.q.SQL.Text:='DELETE FROM t_collection';
dm_collection.Q.ExecSQL;
checkbox2.Checked:=false;
checkbox3.Checked:=false;
checkbox4.Checked:=false;
checkbox5.Checked:=false;
checkbox1.Checked:=false;
messagedlg('Kоллекции удалены',mtInformation,[mbOk],0);
end;
end;
end;
end.
unit avtor;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, jpeg, Buttons;
type
Tfm_o_prog = class(TForm)
Image1: TImage;
Label1: TLabel;
Panel1: TPanel;
Label2: TLabel;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_o_prog: Tfm_o_prog;
implementation
{$R *.dfm}
procedure Tfm_o_prog.BitBtn1Click(Sender: TObject);
begin
self.close;
end;
end.
Размещено на Allbest.ru
Подобные документы
Склад ОАО "Ориенбанк", его специфика и структура. Описание структуры базы данных складского учета для предприятия. Разработка пользовательского интерфейса программы. Инструкция к применению базы данных. Автоматизация операций и учета средств банка.
курсовая работа [4,7 M], добавлен 26.02.2010Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Типы данных, использованные при создании базы данных. Структура программы, используемые переменные, выражения и указатели. Концептуальное (инфологическое), логическое (даталогическое) и физическое проектирование. Тестирование программы и описание полей.
курсовая работа [398,4 K], добавлен 16.07.2012Технологии и языки программирования, используемые при разработке программы. Проектирование и реализация социальной сети. Описание и обоснование выбора организации входных и выходных данных. Алгоритм функционирования программы, таблицы базы данных.
курсовая работа [3,5 M], добавлен 10.06.2014Сущности и функциональные зависимости базы данных. Атрибуты и связи. Таблицы базы данных. Построение ER-диаграммы. Организация ввода и корректировки данных. Реляционная схема базы данных. Реализация запросов, получение отчетов. Защита базы данных.
курсовая работа [2,4 M], добавлен 06.02.2016Проектирование базы данных для учета поступления пациентов и проведенного лечения, ведение архива выписанных пациентов. Определение требований поддержки целостности данных. Тестирование программы и руководство пользователю. Листинг программных модулей.
курсовая работа [3,3 M], добавлен 28.04.2014Особенности проектирования программы на языке С++ для обработки данных из таблиц базы данных. Основные функции программы, создание концептуальной модели базы данных и диаграммы классов, разработка интерфейса пользователя и запросов к базе данных.
курсовая работа [2,1 M], добавлен 08.06.2012Разработка базы данных для автоматизации учета и хранения сведений о заявках от работодателей. Проектирование приложения в СУБД Access. Описание запросов, отчетов и представлений данных. Интерфейс, условия выполнения и тестирование программного продукта.
курсовая работа [3,7 M], добавлен 05.04.2012Схема взаимодействия подразделений предприятия. Выбор и обоснование технологии проектирования базы данных. Описание объектов базы данных. Разработка запросов на выборку, изменение, обновление и удаление данных. Интерфейсы взаимодействия с базой данных.
курсовая работа [1,4 M], добавлен 25.05.2023Создание базы данных в среде MS Access. Создание и работа с базой данных на бирже труда. Алгоритм решения. Выбор пакета прикладных программ. Проектирование форм выходных документов и описание структуры таблиц базы данных. Отчеты по запросам и таблицам.
курсовая работа [2,1 M], добавлен 30.01.2009