База данных 'Учет автотранспортных средств в ГАИ ГИБДД'
Курсовая работа
по дисциплине “БД”
на тему:
База данных "Учет
автотранспортных средств в ГАИ ГИБДД"
Содержание
Введение
1. Теоретическая часть
1.1 Анализ предметной области
1.2 Проектирование БД
1.3 Сравнительный анализ СУБД
1.4 Выбор технических средств
. Проектная часть
2.1 Разработка БД
2.2 Описание функций систем
3. Заключение
4. Литература
Программа
Введение
Внедрение ЭВМ во все сферы человеческой и требует от специалистов разного
профиля овладения навыками использования ВТ. Основой подготовки студентов
является изучение таких направлений применения ЭВМ, как основы вычислительной
техники и программирования, численные методы решения инженерных и экономических
задач, информационные технологии, проектирование информационных систем, методы оптимизации
и оптимального управления и т.д.
Данные методические указания посвящены вопросам построению приложений для
работы с базами данных, использующих компоненты визуальных библиотек, методы
ввода, редактирования, поиска и фильтрации данных в интегрированной среде
программирования C++ Builder.
В данной работе в краткой форме приводятся основные сведения об методах
поиска и фильтрации данных, о компонентах генератора отчетов. Для успешного
понимания приводятся теоретические сведения, методические примеры, фрагменты
программ, а также индивидуальные задания.
В нумерации параграфов, таблиц и рисунков первая цифра соответствует
номеру лабораторной работы, а вторая - порядковому номеру параграфа, таблицы и
рисунка.
Решение задач ориентировано на использование ПЭВМ. Указания являются
полезными при выполнении лабораторных работ по курсам:
проектирование информационных систем;
прогнозирование социально-экономических процессов в Дагестане;
имитационное моделирование экономических процессов;
эконометрика;
статистика правонарушений и экономических преступлений в Дагестане;
информационная безопасность;
сетевая экономика.
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
.1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ ИЛИ ОБЪЕКТА УПРАВЛЕНИЯ
база данные учет
инфологический процедура
Исчисление и уплата транспортного налога именно налоговыми органами
осуществляется с 2003 г., до этого времени контроль за уплатой налога с
владельцев автотранспортных средств (старое название этого налога)
осуществлялся органами ГАИ-ГИБДД при осуществлении регистрационных действий с автотранспортным
средством или прохождении государственного технического осмотра.
В связи с тем, что в Налоговом Кодексе (глава 28) говорится, что для
владельцев автотранспортных средств - физических лиц налоговый орган
рассчитывает сумму налога, после чего направляет им налоговое уведомление о
необходимости уплаты налога. Из изложенного следует, что если налоговый орган
не отправлял Вам по месту Вашего жительства соответствующее уведомление,
ответственность в виде уплаты пеней к Вам применена быть не может. В случае же,
если такие уведомления все-таки отправлялись, но по каким-либо причинам вручены
Вам не были (Ваше отсутствие по месту жительства), пени могут быть начислены.
Недоимка, не уплаченная в установленные сроки, может быть взыскана за срок не
более чем за три последних года. Следовательно, за период с 2000 по середину
2002 г. задолженность взыскана быть не может, соответственно, не могут быть
начислены и пени.
Что касается оставшегося периода 2002 г. (до вступления в силу изменений
в порядке уплаты налога, о чем говорилось выше), то здесь необходимо отметить
следующее: с начала 2003 г. органы ГИБДД приступили к осуществлению процедуры
передачи налоговым органам сведений об автовладельцах и уплате ими
транспортного налога, при этом лицевые счета плательщиков налога в органах
ГИБДД не велись и достоверно установить факт уплаты или неуплаты конкретным
физическим лицом этого налога за прошедший период оказалось практически
невозможным. Учитывая это, налоговые органы практически не занимаются
взысканием задолженности, возникшей до 01 января 2003 г. Таким образом, если Вы
уверены в том, что своевременно получаете всю корреспонденцию, отправляемую Вам
по Вашему месту жительства, беспокоиться не имеет смысла.
Настоящая
Временная инструкция (далее инструкция) разработана на основании Постановления
<#"515335.files/image001.gif">
Рис.
1.1 Уровни моделей данных.
Основными
конструктивными элементами инфологических моделей являются сущности, связи
между ними и их свойства (атрибуты).
Объект
(Сущность) - элемент какой-либо системы, информация о котором сохраняется.
Объект может быть как реальным (например, человек), так и абстрактным
(например, событие - поступление человека в стационар).
Атрибут
- информационное отображение свойств объекта. Каждый объект характеризуется
набором атрибутов.
Таблица
- упорядоченная структура, состоящая из конечного набора однотипных записей.
Первичный
ключ - атрибут (или группа атрибутов), позволяющий однозначным образом
определить каждую строку в таблице.
Таблица
- упорядоченная структура, состоящая из конечного набора однотипных записей.
Связь
- ассоциирование двух или более сущностей. Если бы назначением базы данных было
только хранение отдельных, не связанных между собой данных, то ее структура
могла бы быть очень простой. Однако одно из основных требований к организации
базы данных - это обеспечение возможности отыскания одних сущностей по
значениям других, для чего необходимо установить между ними определенные связи.
А так как в реальных базах данных нередко содержатся сотни или даже тысячи
сущностей, то теоретически между ними может быть установлено более миллиона
связей. Наличие такого множества связей и определяет сложность инфологических
моделей.
Модель
данных логического уровня, поддерживаемую средствами СУБД, называют
даталогический моделью. Эта модель представляет собой отображение логических
связей между элементами данных безотносительно к их содержанию и среде
хранения. Даталогическая модель строится с учетом ограничений конкретной СУБД.
При
построении даталогической модели учитываются особенности отображаемой
предметной области. БД предполагает интегрированное и взаимосвязанное хранение
данных, поэтому для проектирования даталогической модели необходимо иметь
соответствующее описание предметной области.
Для
привязывания даталогической модели в среде хранения данных используется модель
данных физического уровня. Эта модель определяет используемое запоминающее
устройство, способ представления данных в среде хранения. Модель физического
уровня строится также с учетом возможности предоставленных СУБД. С появлением
персональных компьютеров на базе IBM этот этап фактически перестал существовать, так как
операционная система, СУБД автоматически проектирует физическую среду хранения
информации. Так СУБД dBASE, FoxPro,Visual FoxPro создают файлы с
расширением dbf, Paradox с расширением db.
В
БД отражается определённая информация о предметной области.
Предметной
областью называется часть реального мира, представляющая интерес для данного
исследования. В автоматизированных информационных системах отражение предметной
области представлено моделями данных нескольких уровней. Независимо от того
поддерживаются ли в явном виде уровни модели физического и логического уровня
можно выделить эти уровни модулей и соответственно к ним этапы проектирования
БД.
.3
СРАВНИТЕЛЬНЫЙ АНАЛИЗ СОВРЕМЕННЫХ СУБД
Современные
СУБД в основном являются приложениями Windows, так как данная среда
позволяет более полно использовать возможности персональной ЭВМ, нежели среда DOS.
Выбранный программный продукт должен удовлетворять как текущим, так и будущим
потребностям предприятия, при этом следует учитывать финансовые затраты на
приобретение необходимого оборудования, самой системы, разработку необходимого
программного обеспечения на ее основе, а также обучение персонала. Кроме того,
необходимо убедиться, что новая СУБД способна принести предприятию реальные
выгоды.
Снижение
стоимости высокопроизводительных ПК обусловил не только широкий переход к среде
Windows, где разработчик программного обеспечения может в
меньше степени заботиться о распределении ресурсов, но также сделал программное
обеспечение ПК в целом и СУБД в частности менее критичными к аппаратным
ресурсам ЭВМ.
Среди
наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland
dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle,
используемые в приложениях, построенных по технологии «клиент-сервер».
Фактически, у любой современной СУБД существует аналог, выпускаемый другой
компанией, имеющий аналогичную область применения и возможности, любое
приложение способно работать со многими форматами представления данных,
осуществлять экспорт и импорт данных благодаря наличию большого числа
конвертеров. Общепринятыми, также, являются технологи, позволяющие использовать
возможности других приложений, например, текстовых процессоров, пакетов
построения графиков и т.п., и встроенные версии языков высокого уровня (чаще -
диалекты SQL и/или VBA) и средства визуального программирования интерфейсов
разрабатываемых приложений. Поэтому уже не имеет существенного значения, на
каком языке и на основе какого пакета написано конкретное приложение, и какой
формат данных в нем используется. Более того, стандартом «де-факто» стала
«быстрая разработка приложений» или RAD (Rapid
Application Development), основанная на
широко декларируемом в литературе «открытом подходе». То есть необходимость и
возможность использования различных прикладных программ и технологий для
разработки более гибких и мощных систем обработки данных. Поэтому в одном ряду
с «классическими» СУБД все чаще упоминаются языки программирования Visual Basic 4.0 и Visual C++, которые позволяют быстро
создавать необходимые компоненты приложений, критичные по скорости работы,
которые трудно, а иногда невозможно разработать средствами «классических» СУБД.
Современный подход к управлению базами данных подразумевает также широкое
использование технологии «клиент-сервер».
Таким
образом, на сегодняшний день разработчик не связан рамками какого-либо
конкретного пакета, а в зависимости от поставленной задачи может использовать
самые разные приложения. Поэтому, более важным представляется общее направление
развития СУБД и других средств разработки приложений в настоящее время.
Следует отметить, что по существующей практике решение об использовании
той или иной СУБД принимает один человек - обычно, руководитель предприятия, а
он может опираться отнюдь не на технические критерии. Здесь свою роль могут сыграть
такие, с технической точки зрения, незначительные факторы как рекламная
раскрутка компании-производителя СУБД, использование конкретных систем на
других предприятиях, стоимость. При этом последний фактор может трактоваться в
двух противоположных смыслах в зависимости от финансового состояния и политики
предприятия. С одной стороны, это может быть принцип, - чем дороже, тем лучше.
С другой стороны - культивирование почти бесплатного использования продукта,
вплоть до “взлома” его лицензионной защиты. Очевидно, последний подход чреват
коллизиями и не может привести к успеху в долгосрочной работе.
Используя Borland C++ Builder, можно создать приложения, работающие как с
однопользовательскими базами данных (БД), так и с серверными СУБД, такими как
Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с
ODBC-источниками. Возможности C++ Builder, связанные с созданием приложений,
использующих базы данных, весьма обширны. Builder - это среда, в которой можно осуществлять так
называемое визуальное программирование, т. е. создавать программы, которые во
время исполнения взаимодействуют с пользователем благодаря многооконному
графическому интерфейсу. Среда Builder
позволяет работать как с простыми локальными удаленными БД, так и с
многозвенными распределенными БД.
Приложения строятся средой Borland
С++ Builder в виде специальных конструкций -
проектов, которые выглядят для пользователя как совокупность нескольких файлов.
Ни одна программа не может существовать вне структуры-проекта. Действия по
управлению проектами осуществляет специальный программный комплекс - менеджер
проектов. Вместо отдельного инструментария, оперирующего визуальными элементами
управления, в C++ Builder интегрирована так называемая Палитра компонент,
разделенная картотечными вкладками на несколько функциональных групп.
Функциональные возможности поставляемых компонент можно достаточно просто
модифицировать, а также разрабатывать компоненты, обладающие совершенно новым
оригинальным поведением.
.4 ВЫБОР ТЕХНИЧЕСКИХ СРЕДСТВ
Вычислительная техника является неотъемлемой частью при разработке любого
приложения, с использованием программы C++ Builder.
Поэтому правильный выбор компьютера для разработки проекта играет решающую
роль, влияющей на качество и время исполнения проекта. Для установки и работы Builder требуется, чтобы компьютер имел
следующую минимальную конфигурацию:
Процессор (CPU) - Pentium I
ОЗУ
(DIMM) -32Mb
Видеокарта (SVGA) -16 Mb
Блок питания (ATX) -250W
Материнская плата (MB) -
Любая
Монитор - Любой
Операционная система - Windows
95 и выше
Манипулятор Мышь - Genius
250 dpi
Принтер - Lexmark
E232 600/1200/2400 dpi 22 стр/мин
DVD-rom - Не обязательно
Floppy
- Nec
Клавиатура - Genius
Мною, для выполнения курсового проекта использовался компьютер со
следующими параметрами:
Процессор (CPU) - Pentium 4 3000 MHz
ОЗУ (DIMM) -512 Mb Kingston
Видеокарта (SVGA) -256 Mb Palit FX5600
Блок питания (ATX) - 350W
Материнская плата (MB) - Asus P4P800
Монитор -Samsung 1720b 1280*1024 17 дюймов
Клавиатура -Genius 250 dpi
Манипулятор Мышь - Blaze
Принтер -Lexmark
E232 600/1200/2400 dpi 22 стр/мин
DVD - rom -LG 16/32/48-Nec
Операционная система - Windows XP service pack 2 (build
2006)
2. ПРОЕКТНАЯ ЧАСТЬ
.1 РАЗРАБОТКА БД
Как уже говорилось выше, разработка полноценной базы данных состоит из
трех этапов: проектирование инфологической, даталогической и физической моделей
данных.
Рис.2.1 Инфологическая модель данных
Для начала спроектируем инфологическую модель.Подчеркнем, что она не
должна ориентироваться на программные средства. Итак, инфологическую модель для
базы данных «Учёт автотранспортных средств в ГАИ ГИБДД» представлена на
рис.1.2.
На основе полученной инфологической модели построим схему данных -
даталогическую модель данных.
Автоинспекция.db
№ п./п.
|
Наименование
|
Назначение
|
Тип
|
Размерность
|
1
|
Year_v
|
Год выпуска
|
N
|
4
|
2
|
Year_r
|
Год регистрации
|
N
|
4
|
3
|
Password
|
Технический паспорт
|
A
|
15
|
4
|
Color
|
Цвет
|
A
|
10
|
5
|
Fam
|
Фамилия
|
A
|
25
|
6
|
Im
|
Имя
|
A
|
25
|
7
|
Otc
|
Отчество
|
A
|
25
|
8
|
Adres
|
Адрес
|
A
|
25
|
9
|
Pol
|
Пол
|
L
|
1
|
.db
№ п./п.
|
Наименование
|
Назначение
|
Тип
|
Размерность
|
1
|
Kod_avto
|
Код авто
|
A
|
10
|
2
|
Model
|
Модель
|
A
|
15
|
3
|
Ser_№
|
Серийный номер
|
A
|
10
|
4
|
№_Strakh
|
Номер страховки
|
A
|
15
|
Автоинспекция.db
№
|
Year_v
|
Year_r
|
Color
|
Password
|
Fam
|
Im
|
Otc
|
Pol
|
Adres
|
1
|
1999
|
2000
|
silver
|
278ж
|
Махмудов
|
Замир
|
Пашаевич
|
Т
|
Редукт.
|
2
|
2000
|
2002
|
red
|
45е
|
Мирзоев
|
Данял
|
Анварбег.
|
Т
|
Ярыг. 13
|
3
|
2001
|
2004
|
black
|
145rh
|
Демьяненко
|
Андрей
|
Виталив.
|
Т
|
Ленинкент
|
4
|
1995
|
1997
|
white
|
584et
|
Тагиров
|
Султан
|
Махмуд.
|
Т
|
Ленина 15
|
5
|
1990
|
1994
|
green
|
598rd
|
Андреев
|
Нарик
|
Омарович
|
Т
|
Редуктор.
|
6
|
2002
|
2005
|
blue
|
69e
|
Магомедов
|
Наби
|
Махаевич
|
Т
|
5 й пос.
|
Машина.db
№ п./п.
|
Kod_avto
|
Model
|
Ser_№
|
№_Strakh
|
1
|
01
|
Audi
|
25873
|
3254060
|
2
|
02
|
Ferrari
|
28981
|
6723354
|
3
|
03
|
Mers
|
84971
|
0003541
|
4
|
04
|
Jip
|
25941
|
7640120
|
5
|
05
|
Jiguli
|
58124
|
7085138
|
6
|
06
|
Porshe
|
65457
|
9683140
|
2.2 ОПИСАНИЕ ФУНКЦИЙ СИСТЕМ
FGL:
Main Manu:
1. Процедура N1Click - Операции.
2. Процедура N2Click. Открывается окно «Ввод и
редактирование» при выборе в строке меню ОперацииàВвод и редактирование.
. Процедура N3Click. Открывается окно «Фильтрация и
поиск» при выборе в строке меню ОперацииàФильтрация/поиск.
4. Процедура N4Click- Отчеты.
. Процедура N5Click. Открывается окно «Список статей»
при выборе в строке меню ОтчетыàСписок статей. В нем осуществляется просмотр или
печать списка статей финансового права.
. Процедура N6Click. Открывается окно «Список
документов» при выборе в строке меню ОтчетыàСписок документов. В нем
осуществляется просмотр или печать списка документов финансового права.
. Процедура N7Click. Открывается окно «О программе» при
выборе в строке меню СправкаàО программе.
. Процедура N8Click- Справка.
. Процедура N9Click.Осуществляет выход из программы при
нажатии в строке меню (компонент Main Menu) на пункте «Выход».
Заключение
В представленной работе была создана база данных, которая отражает в
удобной форме «Учёт автотранспортных средств в ГАИ и ГИБДД» В ней хранятся
термины, в которых содержатся административные статьи, регулирующие правила
дорожного движения. В данной программе я попытался учесть наиболее важные
моменты, связанные с учетом автотранспортных средств. Результатом выполнения
программы является выдача информации о владельцах автотранспортных средств, а
также об автомобилях которые находятся в учете ГАИ и ГИБДД. Информация
выводится:
1 на принтер;
2 на экран.
В ходе курсовой работы были изучены и освоены методы разработки и
проектирования баз данных с помощью удобной СУБД Borland С++ Builder6.
Литература
1. БД: модель и разработка, реализация. Т.С.Карпова.
Издательство Питер,
2001г, 379 стр.
2. Теория и практика построения БД. Д.Кренке. Издательство
Питер,
2003г, 187 стр.
3. БД: введение в теорию и методологию. Моисеева Р.Л.
4. Издательство: Статистика транспортного средства,
1995г, 215 стр.
. Проектирование и использование БД. С.Н. Диго ,1995г
, 186 стр.
Приложение №1
Текст программы для формы FGl
#include <vcl.h>
#pragma hdrstop
#include "UGL.h"
#include "UR.h"
#include "UF.h"
#include "USPR.h"
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*FGL;
//---------------------------------------------------------------------------
__fastcall TFGL::TFGL(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TFGL::N9Click(TObject *Sender)
{>Close();
}
//---------------------------------------------------------------------------__fastcall
TFGL::N2Click(TObject *Sender)
{>Show();
}
//---------------------------------------------------------------------------__fastcall
TFGL::N3Click(TObject *Sender)
{>Show();
}
//---------------------------------------------------------------------------__fastcall
TFGL::N8Click(TObject *Sender)
{>Show();
}
Текст программы для формы FR
#include <vcl.h>
#pragma hdrstop
#include "UGL.h"
#include "UR.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*FR;
//---------------------------------------------------------------------------
__fastcall TFR::TFR(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TFR::FormCreate(TObject *Sender)
{_vip->Text = Table1 god_vip ->AsString;_reg->Text =
Table1god_reg->AsString;_pasp->Text =
Table1tex_pasp->AsString;>Text = Table1svet->AsString;>Text =
Table1fam->AsString;>Text = Table1Im->AsString;>Text =
Table1otc->AsString;>Text = Table1adres->AsString;>Text =
Table1pol->AsString;_avto->Text = Table1kod_avto->AsString;>Text =
Table1model->AsString;_nom->Text =
Table1ser_nom->AsString;_str->Text =
Table1nom_str->AsString;->Filter="N_st='"+Table1->FieldByName("N_st")->AsString+"'";->Filtered=true;
}
//---------------------------------------------------------------------------__fastcall
TFR::Table1AfterScroll(TDataSet *DataSet)
{_vip->Text = Table1 god_vip ->AsString;_reg->Text =
Table1god_reg->AsString;_pasp->Text =
Table1tex_pasp->AsString;>Text = Table1svet->AsString;>Text =
Table1fam->AsString;>Text = Table1Im->AsString;>Text =
Table1otc->AsString;>Text = Table1adres->AsString;>Text =
Table1pol->AsString;_avto->Text = Table1kod_avto->AsString;>Text =
Table1model->AsString;_nom->Text =
Table1ser_nom->AsString;_str->Text = Table1nom_str->AsString;->Filter="N_st='"+Table1->FieldByName("N_st")->AsString+"'";->Filtered=true;
}
//---------------------------------------------------------------------------__fastcall
TFR::Button2Click(TObject *Sender)
{s;AnsiString s1=",
";="";(Table1god_vip->AsString != Egod_vip_d->Text)+=
"год выпуска”;(Table1god_reg->AsString !=Egod_reg->Text)
{(s !="") s+=s1;+= "год регистрации" ;
{(s !="") s+=s1;+= "Технический паспорт";
}(Table1svet->AsString !=Esvet->Text)
{(s !="") s+=s1;+= "цвет" ;
}(Table1fam->AsString !=Efam->Text)
{(s !="") s+=s1;+= "фамилия";
}(Table1Im->AsString !=EIm->Text)
{(s !="") s+=s1;+= "имя" ;
}(Table1otc->AsString !=Eotc->Text)
{(s !="") s+=s1;+= "отчество";
}(Table1adres->AsString !=Eadres->Text)
{(s !="") s+=s1;+= "Адрес";(Table1pol->AsString
!=Epol->Text)
{(s !="") s+=s1;+= "пол";(Table1kod_avto->AsString
!=Ekod_avto->Text)
{(s !="") s+=s1;+= "код авто";(Table1ser-_nom>AsString
!=Eser_nom->Text)
{(s !="") s+=s1;+= "серийный номер";(Table1nom_str->AsString !=Enom_str->Text)
{(s !="") s+=s1;+= "номер страховки";(s !="")
{( Application->MessageBox(
("Действительно хотите изменить запись?"+s+"?").c_str(),
"Подтвердите изменения",
MB_YESNO+MB_ICONQUESTION)==IDYES)
{_vip->Text = Table1 god_vip ->AsString;_reg->Text =
Table1god_reg->AsString;_pasp->Text =
Table1tex_pasp->AsString;>Text = Table1svet->AsString;>Text =
Table1fam->AsString;>Text = Table1Im->AsString;>Text =
Table1otc->AsString;>Text = Table1adres->AsString;>Text =
Table1pol->AsString;_avto->Text = Table1kod_avto->AsString;>Text =
Table1model->AsString;_nom->Text =
Table1ser_nom->AsString;_str->Text = Table1nom_str->AsString;
}
}
}
//---------------------------------------------------------------------------__fastcall
TFR::Button1Click(TObject *Sender)
{->Insert();
}
//---------------------------------------------------------------------------__fastcall
TFR::Button3Click(TObject *Sender)
{
if ( Application->MessageBox(
"Действительно хотите удалить запись?",
"Подтвердите решение",
MB_YESNO+MB_ICONEXCLAMATION)==IDYES)
Table1->Delete();
}
//---------------------------------------------------------------------------__fastcall
TFR::TabSheet1ContextPopup(TObject *Sender,&MousePos, bool &Handled)
{_vip->Text = Table1 god_vip ->AsString;_reg->Text =
Table1god_reg->AsString;_pasp->Text =
Table1tex_pasp->AsString;>Text = Table1svet->AsString;>Text =
Table1fam->AsString;>Text = Table1Im->AsString;>Text =
Table1otc->AsString;>Text = Table1adres->AsString;>Text =
Table1pol->AsString;_avto->Text = Table1kod_avto->AsString;>Text =
Table1model->AsString;_nom->Text =
Table1ser_nom->AsString;_str->Text =
Table1nom_str->AsString;>ItemIndex
=CDKodeks->Items->IndexOf(Table2Kodeks->AsString);
}
//---------------------------------------------------------------------------__fastcall
TFR::Table2AfterScroll(TDataSet *DataSet)
{_vip->Text = Table1 god_vip ->AsString;_reg->Text =
Table1god_reg->AsString;_pasp->Text =
Table1tex_pasp->AsString;>Text = Table1svet->AsString;>Text =
Table1fam->AsString;>Text = Table1Im->AsString;>Text = Table1otc->AsString;>Text
= Table1adres->AsString;>Text = Table1pol->AsString;_avto->Text =
Table1kod_avto->AsString;>Text = Table1model->AsString;_nom->Text =
Table1ser_nom->AsString;_str->Text =
Table1nom_str->AsString;>ItemIndex
=CDKodeks->Items->IndexOf(Table2Kodeks->AsString);
}
//---------------------------------------------------------------------------__fastcall
TFR::Button5Click(TObject *Sender)
{s;AnsiString s1=",
";="";(Table2N_r->AsString != EN_r->Text)+= "№ раздела";(Table2Naz_r->AsString
!=ENaz_r->Text)
{(s !="") s+=s1;+= "Название раздела" ;
}(Table2N_g->AsString !=EN_g->Text)
{(s !="") s+=s1;+= "№ главы";
}(Table2Naz_g->AsString !=ENaz_g->Text)
{(s !="") s+=s1;+= "Название главы" ;
}(Table2Naz_st->AsString !=ENaz_st->Text)
{(s !="") s+=s1;+= "Название статьи";
}(Table2Soder->AsString !=ESoder->Text)
{(s !="") s+=s1;+= "Содержание" ; }(Table2N_st->AsString
!=EN_st->Text)
{(s !="") s+=s1;+= "№ статьи" ; }(Table2Kodeks->AsString
!=CDKodeks->Text)
{(s !="") s+=s1;+= Кодекс";
}(s !="")
{( Application->MessageBox(
("Действительно хотите изменить
запись?"+s+"?").c_str(),
" Подтвердите изменения ",_YESNO+MB_ICONQUESTION)==IDYES)
{->Edit();N_r->AsString =
EN_r->Text;Naz_r->AsString = ENaz_r->Text;N_g->AsString =
EN_g->Text;Naz_g->AsString = ENaz_g->Text;Naz_st->AsString =
ENaz_st->Text;Soder->AsString = ESoder->Text;Kodeks->AsString =
CDKodeks->Text;
}
}
}
//---------------------------------------------------------------------------__fastcall
TFR::Button4Click(TObject *Sender)
{->Insert();
}
//---------------------------------------------------------------------------__fastcall
TFR::Button6Click(TObject *Sender)
{
if ( Application->MessageBox(
" Действительно хотите удалить запись?",
" Подтвердите решение ",
MB_YESNO+MB_ICONEXCLAMATION)==IDYES)
Table2->Delete();
}
//---------------------------------------------------------------------------__fastcall
TFR::N1Click(TObject *Sender)
{>Close();
}
//---------------------------------------------------------------------------
Текст программы для формы FF
#include <vcl.h>
#pragma hdrstop
#include "UGL.h"
#include "UF.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*FF;
//---------------------------------------------------------------------------
__fastcall TFF::TFF(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TFF::RGFClick(TObject *Sender)
{(RGF->ItemIndex==0)->Filtered = false;
{(RGF->ItemIndex==1)->Filter="N_ist='"+CBist->Text+"'";->Filter="N_st="+CBst->Text+"";->Filtered
= true;
}
}
//---------------------------------------------------------------------------__fastcall
TFF::ENomer_dChange(TObject *Sender)
{SearchOptions;->Locate("Nomer_d",ENomer_d->Text,<<loPartialKey<<loCaseInsensitive);
}
//---------------------------------------------------------------------------__fastcall
TFF::CBistChange(TObject *Sender)
{(RGF->ItemIndex==0)->Filtered = false;
{(RGF->ItemIndex==1)->Filter="N_ist='"+CBist->Text+"'";->Filter="N_st="+CBst->Text+"";->Filtered
= true;
}
}
//---------------------------------------------------------------------------__fastcall
TFF::CBstChange(TObject *Sender)
{(RGF->ItemIndex==0)->Filtered = false;
{(RGF->ItemIndex==1)->Filter="N_ist='"+CBist->Text+"'";->Filter="N_st="+CBst->Text+"";->Filtered
= true;
}
}
//---------------------------------------------------------------------------__fastcall
TFF::EAvtorChange(TObject *Sender)
{SearchOptions;->Locate("Avtor",EAvtor->Text,<<loPartialKey<<loCaseInsensitive);
}
//---------------------------------------------------------------------------__fastcall
TFF::ETerminChange(TObject *Sender)
{SearchOptions;->Locate("Termin",ETermin->Text,<<loPartialKey<<loCaseInsensitive);
}
//---------------------------------------------------------------------------__fastcall
TFF::N1Click(TObject *Sender)
{>Close();
}
//---------------------------------------------------------------------------__fastcall
TFF::FormCreate(TObject *Sender)
{
}
//---------------------------------------------------------------------------
Текст программы для формы FSPR
#include <vcl.h>
#pragma hdrstop
#include "USPR.h"
#include "UGL.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*FSPR;
//---------------------------------------------------------------------------
__fastcall TFSPR::TFSPR(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TFSPR::N1Click(TObject *Sender)
{
FSPR->Close();
}
//---------------------------------------------------------------------------
Текст программы для формы Form1
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "UO.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TForm1::Button1Click(TObject *Sender)
{>QuickRep1->Print();
}
//---------------------------------------------------------------------------__fastcall
TForm1::Button2Click(TObject *Sender)
{>QuickRep1->Preview();
}
//---------------------------------------------------------------------------
Текст программы для формы Form2
#include <vcl.h>
#pragma hdrstop
#include "Unit2.h"
#include "UO2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"*Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------__fastcall
TForm2::Button1Click(TObject *Sender)
{->QuickRep1->Print();
}
//---------------------------------------------------------------------------__fastcall
TForm2::Button2Click(TObject *Sender)
{->QuickRep1->Preview();
}
//---------------------------------------------------------------------------