Автоматизация учета коллекционных монет

Проектирование структуры базы данных. Технология обработки данных. Порядок установки и запуска программы. Описание объектов приложения и структура данных. Ввод и изменение исходных данных. Получение выходных документов и тестирование программы.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.