База данных "Учет автотранспортных средств в ГАИ ГИБДД"

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Курсовая работа

по дисциплине «БД»

на тему:

База данных «Учет автотранспортных средств в ГАИ ГИБДД»

Содержание

Введение

1. Теоретическая часть

1.1 Анализ предметной области

1.2 Проектирование БД

1.3 Сравнительный анализ СУБД

1.4 Выбор технических средств

2. Проектная часть

2.1 Разработка БД

2.2 Описание функций систем

3. Заключение

4. Литература

Программа

Введение

Внедрение ЭВМ во все сферы человеческой и требует от специалистов разного профиля овладения навыками использования ВТ. Основой подготовки студентов является изучение таких направлений применения ЭВМ, как основы вычислительной техники и программирования, численные методы решения инженерных и экономических задач, информационные технологии, проектирование информационных систем, методы оптимизации и оптимального управления и т. д.

Данные методические указания посвящены вопросам построению приложений для работы с базами данных, использующих компоненты визуальных библиотек, методы ввода, редактирования, поиска и фильтрации данных в интегрированной среде программирования C++ Builder.

В данной работе в краткой форме приводятся основные сведения об методах поиска и фильтрации данных, о компонентах генератора отчетов. Для успешного понимания приводятся теоретические сведения, методические примеры, фрагменты программ, а также индивидуальные задания.

В нумерации параграфов, таблиц и рисунков первая цифра соответствует номеру лабораторной работы, а вторая — порядковому номеру параграфа, таблицы и рисунка.

Решение задач ориентировано на использование ПЭВМ. Указания являются полезными при выполнении лабораторных работ по курсам:

— проектирование информационных систем;

— прогнозирование социально-экономических процессов в Дагестане;

— имитационное моделирование экономических процессов;

— эконометрика;

-статистика правонарушений и экономических преступлений в Дагестане;

— информационная безопасность;

— сетевая экономика.

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ ИЛИ ОБЪЕКТА УПРАВЛЕНИЯ

база данные учет автотранспортное средство

Исчисление и уплата транспортного налога именно налоговыми органами осуществляется с 2003 г., до этого времени контроль за уплатой налога с владельцев автотранспортных средств (старое название этого налога) осуществлялся органами ГАИ-ГИБДД при осуществлении регистрационных действий с автотранспортным средством или прохождении государственного техническогоосмотра.

В связи с тем, что в Налоговом Кодексе (глава 28) говорится, что для владельцев автотранспортных средств — физических лиц налоговый орган рассчитывает сумму налога, после чего направляет им налоговое уведомление о необходимости уплаты налога. Из изложенного следует, что если налоговый орган не отправлял Вам по месту Вашего жительства соответствующее уведомление, ответственность в виде уплаты пеней к Вам применена быть не может. В случае же, если такие уведомления все-таки отправлялись, но по каким-либо причинам вручены Вам не были (Ваше отсутствие по месту жительства), пени могут быть начислены. Недоимка, не уплаченная в установленные сроки, может быть взыскана за срок не более чем за три последних года. Следовательно, за период с 2000 по середину 2002 г. задолженность взыскана быть не может, соответственно, не могут быть начисленыипени.

Что касается оставшегося периода 2002 г. (до вступления в силу изменений в порядке уплаты налога, о чем говорилось выше), то здесь необходимо отметить следующее: с начала 2003 г. органы ГИБДД приступили к осуществлению процедуры передачи налоговым органам сведений об автовладельцах и уплате ими транспортного налога, при этом лицевые счета плательщиков налога в органах ГИБДД не велись и достоверно установить факт уплаты или неуплаты конкретным физическим лицом этого налога за прошедший период оказалось практически невозможным. Учитывая это, налоговые органы практически не занимаются взысканием задолженности, возникшей до 01 января 2003 г. Таким образом, если Вы уверены в том, что своевременно получаете всю корреспонденцию, отправляемую Вам по Вашему месту жительства, беспокоиться не имеет смысла.

Настоящая Временная инструкция (далее инструкция) разработана на основании Постановления Кабинета Министров N 302 от 17. 06. 1997 г. «О мерах по стимулированию экспорта продукции АО «УзДЭУавто» и определяет правила вывоза, таможенного оформления и снятия с учета в органах внутренних дел транспортных средств производства СП «УзДЭУавтоКО» (далее автотранспортных средств) физическими и юридическими лицами в качестве товара.

Правила вывоза автотранспортных средств за пределы таможенной территории

2.1. Лицам, вывозящим автотранспортные средства за пределы республики (за исключением временно вывозимых), необходимо заблаговременно уведомлять территориальное таможенное Управление ГТК республики.

2.2. Каждый приграничный таможенный пост ведет прономерованную и прошнурованную книгу, в которой ведется учет автотранспортных средств вывозимых за пределы таможенной территории Республики Узбекистан.

Таможенное оформление автотранспортных средств при вывозе с таможенной территории

3.1. Все транспортные средства, вывозимые за пределы таможенной

территории Республики Дагестан, подлежат таможенному оформлению в установленном порядке.

При этом таможенное оформление производится на основании:

· договоров купли-продажи, дарения, мены, наследства, аренды, удостоверенных нотариально или счетов-справок, выдаваемых торговыми организациями, базами снабжения.

· Сертификат происхождения товара;

Данное положение не распространяется на временно вывозимые автотранспортные средства.

3.2. Таможенное оформление автотранспортных средств, вывозимых юридическими лицами, производится в соответствии с общими правилами перемещения товаров через таможенную границу Республики Дагестан.

3.3. Таможенное оформление временно вывозимых автомобилей АО «УзДЭУавто» производится с заполнением ГТД в установленном порядке с постановкой на контроль и без взимания акцизного налога. При этом оформление ГТД производится в случае превышения срока выезда более чем на пятнадцать дней.

3.4. Начисление и взимание указанных таможенных платежей производится региональными таможенными органами в соответствии с действующими нормативными актами, регламентирующими деятельность таможенных органов.

Физические лица — нерезиденты (или иностранные лица), приобретавшие автотранспортные средства в специализированных предприятиях торговли, обязаны предоставить для таможенного оформления документы, подтверждающие право на льготы по акцизному налогу (справка об обмене СКВ на национальную валюту и документ, подтверждающий ввоз СКВ для покупки автомобиля производства АО «УзДЭУавто»).

Владельцы автотранспортных средств производства АО «УзДЭУавто», выезжающие на постоянное место жительства из Республики за границу (включая страны СНГ), обязаны оплачивать акцизный налог и сборы за проведение таможенных процедур в установленном порядке, за исключением случаев, предусмотренных законодательством.

3.5. При таможенном оформлении автотранспортных средств сверяются номера агрегатов (двигателя, кузова, шасси) с целью предупреждения вывоза и использования агрегатов других автотранспортных средств.

4. Нотариальное оформление автотранспортных средств, подлежащих

вывозу с таможенной территории Республики Дагестан

4.1. Договора купли-продажи, мены, дарения и др. автотранспортных средств, подлежащих вывозу с территории Республики Дагестан, нотариально оформляются при наличии технического паспорта автомобиля с обязательной отметкой о регистрации в органах ГАИ МВД Республики Дагестан.

5. Порядок снятия с учета вывозимых автотранспортных средств в подразделениях ГАИ органов внутренних дел Республики Дагестан

5.1. Основанием для снятия с учета в органах ГАИ вывозимых с Республики Дагестан автотранспортных средств являются:

— договор купли-продажи, дарения, мены, наследства и др. нотариально заверенные документы;

— экземпляр грузовой таможенной декларации, оформленной в установленном порядке;

— копия сертификата происхождения товары (СТ-1).

5.2. Снятие с учета в органах ГАИ МВД по запросам и актам одиночного осмотра автотранспортных средств, направленных с других государств, не производится.

5.3. Документы, предъявленные при вывозе, являются основанием для снятия с учета автотранспортного средства и должны храниться в органах ГАИ в течение трех лет.

1.2 ПРОЕКТИРОВАНИЕ БД

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

База данных — это некоторая целевая модель предметной области, т. е. в БД находят отражения только те факты ПО, которые необходимы для функционирования автоматизированных систем, в состав которой входит БД.

Современные СУБД являются объектно-ориентированными и реляционными. Основной единицей является объект, имеющий свойства, и связи между объектами. СУБД используют несколько моделей данных: иерархическую, сетевую (с 60-х годов) и реляционную (с 70-х). Основное различие данных моделей в представлении взаимосвязей между объектами.

Иерархическая модель данных строится по принципу иерархии объектов, то есть один тип объекта является главным, все нижележащие — подчиненными. Устанавливается связь «один ко многим», то есть для некоторого главного типа существует несколько подчиненных типов объектов. Иначе, главный тип именуется исходным типом, а подчиненные — порожденными. У подчиненных типов могут быть в свою очередь подчиненные типы. Наивысший в иерархии узел (совокупность атрибутов) называют корневым.

Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», то есть любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора).

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

Проектирование БД начинается с предварительной структуризации предметной области: объекты реального мира подвергаются классификации, фиксируется совокупность подлежащих отображению в БД типов объектов. Для каждого типа объектов фиксируется совокупность свойств, посредством которых будут описываться конкретные объекты этого типа в БД, виды отношений (взаимосвязей) между этими объектами. Затем решаются вопросы о том, какая информация об этих объектах должна быть представлена в БД, и как ее представить с помощью данных.

Сущность инфологического подхода к проектированию информационных систем заключается в установлении соответствия между состоянием предметной области, его восприятием и представлением в базе данных. Согласно инфологическому подходу при проектировании необходимо различать:

1)явления реального мира;

2)информацию об этих явлениях;

3)представление этой информации посредством данных.

Задача инфологического этапа проектирования базы данных — получение семантических (смысловых) моделей, отражающих информационное содержание конкретной ПО.

Описание, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающих над проектированием базы данных, называют инфологической моделью данных.

Трехуровневая архитектура (инфологический, даталогический и физический уровни) позволяет обеспечить независимость хранимых данных от использующих программ.

Рис. 1.1 Уровни моделей данных.

Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).

Объект (Сущность) — элемент какой-либо системы, информация о котором сохраняется. Объект может быть как реальным (например, человек), так и абстрактным (например, событие — поступление человека в стационар).

Атрибут — информационное отображение свойств объекта. Каждый объект характеризуется набором атрибутов.

Таблица — упорядоченная структура, состоящая из конечного набора однотипных записей.

Первичный ключ — атрибут (или группа атрибутов), позволяющий однозначным образом определить каждую строку в таблице.

Таблица — упорядоченная структура, состоящая из конечного набора однотипных записей.

Связь — ассоциирование двух или более сущностей. Если бы назначением базы данных было только хранение отдельных, не связанных между собой данных, то ее структура могла бы быть очень простой. Однако одно из основных требований к организации базы данных — это обеспечение возможности отыскания одних сущностей по значениям других, для чего необходимо установить между ними определенные связи. А так как в реальных базах данных нередко содержатся сотни или даже тысячи сущностей, то теоретически между ними может быть установлено более миллиона связей. Наличие такого множества связей и определяет сложность инфологических моделей.

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

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

Для привязывания даталогической модели в среде хранения данных используется модель данных физического уровня. Эта модель определяет используемое запоминающее устройство, способ представления данных в среде хранения. Модель физического уровня строится также с учетом возможности предоставленных СУБД. С появлением персональных компьютеров на базе IBM этот этап фактически перестал существовать, так как операционная система, СУБД автоматически проектирует физическую среду хранения информации. Так СУБД dBASE, FoxPro, Visual FoxPro создают файлы с расширением dbf, Paradox с расширением db.

В БД отражается определённая информация о предметной области.

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

1.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 интегрирована так называемая Палитра компонент, разделенная картотечными вкладками на несколько функциональных групп. Функциональные возможности поставляемых компонент можно достаточно просто модифицировать, а также разрабатывать компоненты, обладающие совершенно новым оригинальным поведением.

1.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

Floppy -Nec

Операционная система — Windows XP service pack 2 (build 2006)

2. ПРОЕКТНАЯ ЧАСТЬ

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

Avto. 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

25 873

3 254 060

2

02

Ferrari

28 981

6 723 354

3

03

Mers

84 971

3 541

4

04

Jip

25 941

7 640 120

5

05

Jiguli

58 124

7 085 138

6

06

Porshe

65 457

9 683 140

2.2 ОПИСАНИЕ ФУНКЦИЙ СИСТЕМ

FGL:

Main Manu:

1. Процедура N1Click — Операции.

2. Процедура N2Click. Открывается окно «Ввод и редактирование» при выборе в строке меню ОперацииВвод и редактирование.

3. Процедура N3Click. Открывается окно «Фильтрация и поиск» при выборе в строке меню ОперацииФильтрация/поиск.

4. Процедура N4Click- Отчеты.

5. Процедура N5Click. Открывается окно «Список статей» при выборе в строке меню ОтчетыСписок статей. В нем осуществляется просмотр или печать списка статей финансового права.

6. Процедура N6Click. Открывается окно «Список документов» при выборе в строке меню ОтчетыСписок документов. В нем осуществляется просмотр или печать списка документов финансового права.

7. Процедура N7Click. Открывается окно «О программе» при выборе в строке меню СправкаО программе.

8. Процедура N8Click- Справка.

9. Процедура N9Click. Осуществляет выход из программы при нажатии в строке меню (компонент Main Menu) на пункте «Выход».

Заключение

В представленной работе была создана база данных, которая отражает в удобной форме «Учёт автотранспортных средств в ГАИ и ГИБДД» В ней хранятся термины, в которых содержатся административные статьи, регулирующие правила дорожного движения. В данной программе я попытался учесть наиболее важные моменты, связанные с учетом автотранспортных средств. Результатом выполнения программы является выдача информации о владельцах автотранспортных средств, а также об автомобилях которые находятся в учете ГАИ и ГИБДД. Информация выводится:

на принтер;

на экран.

В ходе курсовой работы были изучены и освоены методы разработки и проектирования баз данных с помощью удобной СУБД Borland С++ Builder6.

Литература

1. БД: модель и разработка, реализация. Т. С. Карпова. Издательство Питер,

2001 г, 379 стр.

2. Теория и практика построения БД. Д. Кренке. Издательство Питер,

2003 г, 187 стр.

3. БД: введение в теорию и методологию. Моисеева Р. Л.

4. Издательство: Статистика транспортного средства, 1995 г, 215 стр.

5. Проектирование и использование БД. С. Н. Диго, 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»

TFGL *FGL;

//---------------------------------------------------------------------------

__fastcall TFGL: :TFGL (TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFGL: :N9Click (TObject *Sender)

{

FGL-> Close ();

}

//---------------------------------------------------------------------------

void __fastcall TFGL: :N2Click (TObject *Sender)

{

FR-> Show ();

}

//---------------------------------------------------------------------------

void __fastcall TFGL: :N3Click (TObject *Sender)

{

FF-> Show ();

}

//---------------------------------------------------------------------------

void __fastcall TFGL: :N8Click (TObject *Sender)

{

FSPR-> Show ();

}

Текст программы для формы FR

#include < vcl. h>

#pragma hdrstop

#include «UGL. h»

#include «UR. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TFR *FR;

//---------------------------------------------------------------------------

__fastcall TFR: :TFR (TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFR: :FormCreate (TObject *Sender)

{

Egod_vip-> Text = Table1 god_vip -> AsString;

Egod_reg-> Text = Table1god_reg-> AsString;

Etex_pasp-> Text = Table1tex_pasp-> AsString;

Esvet-> Text = Table1svet-> AsString;

Efam-> Text = Table1fam-> AsString;

EIm-> Text = Table1Im-> AsString;

Eotc-> Text = Table1otc-> AsString;

Eadres-> Text = Table1adres-> AsString;

Epol-> Text = Table1pol-> AsString;

Ekod_avto-> Text = Table1kod_avto-> AsString;

Emodel-> Text = Table1model-> AsString;

Eser_nom-> Text = Table1ser_nom-> AsString;

Enom_str-> Text = Table1nom_str-> AsString;

Table2-> Filter="N_st='"+Table1->FieldByName («N_st»)->AsString+"'";

Table2-> Filtered=true;

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Table1AfterScroll (TDataSet *DataSet)

{

Egod_vip-> Text = Table1 god_vip -> AsString;

Egod_reg-> Text = Table1god_reg-> AsString;

Etex_pasp-> Text = Table1tex_pasp-> AsString;

Esvet-> Text = Table1svet-> AsString;

Efam-> Text = Table1fam-> AsString;

EIm-> Text = Table1Im-> AsString;

Eotc-> Text = Table1otc-> AsString;

Eadres-> Text = Table1adres-> AsString;

Epol-> Text = Table1pol-> AsString;

Ekod_avto-> Text = Table1kod_avto-> AsString;

Emodel-> Text = Table1model-> AsString;

Eser_nom-> Text = Table1ser_nom-> AsString;

Enom_str-> Text = Table1nom_str-> AsString;

Table2-> Filter="N_st='"+Table1->FieldByName («N_st»)->AsString+"'";

Table2-> Filtered=true;

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Button2Click (TObject *Sender)

{

AnsiString s;

const AnsiString s1=", «;

s="";

if (Table1god_vip-> AsString ≠ Egod_vip_d-> Text)

s+= «год выпуска»;

if (Table1god_reg-> AsString ≠Egod_reg-> Text)

{

if (s ≠"") s+=s1;

s+= «год регистрации»;

}

if (Table1tex_pas-> AsString ≠Etex_pas-> Text)

{

if (s ≠"") s+=s1;

s+= «Технический паспорт»;

}

if (Table1svet-> AsString ≠Esvet-> Text)

{

if (s ≠"") s+=s1;

s+= «цвет»;

}

if (Table1fam-> AsString ≠Efam-> Text)

{

if (s ≠"") s+=s1;

s+= «фамилия»;

}

if (Table1Im-> AsString ≠EIm-> Text)

{

if (s ≠"") s+=s1;

s+= «имя»;

}

if (Table1otc-> AsString ≠Eotc-> Text)

{

if (s ≠"") s+=s1;

s+= «отчество»;

}

if (Table1adres-> AsString ≠Eadres-> Text)

{

if (s ≠"") s+=s1;

s+= «Адрес»;

if (Table1pol-> AsString ≠Epol-> Text)

{

if (s ≠"") s+=s1;

s+= «пол»;

if (Table1kod_avto-> AsString ≠Ekod_avto-> Text)

{

if (s ≠"") s+=s1;

s+= «код авто»;

if (Table1ser-_nom> AsString ≠Eser_nom-> Text)

{

if (s ≠"") s+=s1;

s+= «серийный номер»;

if (Table1nom_str-> AsString ≠Enom_str-> Text)

{

if (s ≠"") s+=s1;

s+= «номер страховки»;

if (s ≠"")

{

if (Application-> MessageBox (

(«Действительно хотите изменить запись?"+s+»?"). c_str (),

«Подтвердите изменения»,

MB_YESNO+MB_ICONQUESTION)==IDYES)

{

Egod_vip-> Text = Table1 god_vip -> AsString;

Egod_reg-> Text = Table1god_reg-> AsString;

Etex_pasp-> Text = Table1tex_pasp-> AsString;

Esvet-> Text = Table1svet-> AsString;

Efam-> Text = Table1fam-> AsString;

EIm-> Text = Table1Im-> AsString;

Eotc-> Text = Table1otc-> AsString;

Eadres-> Text = Table1adres-> AsString;

Epol-> Text = Table1pol-> AsString;

Ekod_avto-> Text = Table1kod_avto-> AsString;

Emodel-> Text = Table1model-> AsString;

Eser_nom-> Text = Table1ser_nom-> AsString;

Enom_str-> Text = Table1nom_str-> AsString;

}

}

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Button1Click (TObject *Sender)

{

Table1-> Insert ();

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Button3Click (TObject *Sender)

{

if (Application-> MessageBox (

«Действительно хотите удалить запись?»,

«Подтвердите решение»,

MB_YESNO+MB_ICONEXCLAMATION)==IDYES)

Table1-> Delete ();

}

//---------------------------------------------------------------------------

void __fastcall TFR: :TabSheet1ContextPopup (TObject *Sender,

TPoint & MousePos, bool & Handled)

{

Egod_vip-> Text = Table1 god_vip -> AsString;

Egod_reg-> Text = Table1god_reg-> AsString;

Etex_pasp-> Text = Table1tex_pasp-> AsString;

Esvet-> Text = Table1svet-> AsString;

Efam-> Text = Table1fam-> AsString;

EIm-> Text = Table1Im-> AsString;

Eotc-> Text = Table1otc-> AsString;

Eadres-> Text = Table1adres-> AsString;

Epol-> Text = Table1pol-> AsString;

Ekod_avto-> Text = Table1kod_avto-> AsString;

Emodel-> Text = Table1model-> AsString;

Eser_nom-> Text = Table1ser_nom-> AsString;

Enom_str-> Text = Table1nom_str-> AsString;

CDKodeks-> ItemIndex =CDKodeks-> Items->IndexOf (Table2Kodeks->AsString);

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Table2AfterScroll (TDataSet *DataSet)

{

Egod_vip-> Text = Table1 god_vip -> AsString;

Egod_reg-> Text = Table1god_reg-> AsString;

Etex_pasp-> Text = Table1tex_pasp-> AsString;

Esvet-> Text = Table1svet-> AsString;

Efam-> Text = Table1fam-> AsString;

EIm-> Text = Table1Im-> AsString;

Eotc-> Text = Table1otc-> AsString;

Eadres-> Text = Table1adres-> AsString;

Epol-> Text = Table1pol-> AsString;

Ekod_avto-> Text = Table1kod_avto-> AsString;

Emodel-> Text = Table1model-> AsString;

Eser_nom-> Text = Table1ser_nom-> AsString;

Enom_str-> Text = Table1nom_str-> AsString;

CDKodeks-> ItemIndex =CDKodeks-> Items->IndexOf (Table2Kodeks->AsString);

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Button5Click (TObject *Sender)

{

AnsiString s;

const AnsiString s1=", «;

s="";

if (Table2N_r-> AsString ≠ EN_r-> Text)

s+= «№ раздела»;

if (Table2Naz_r-> AsString ≠ENaz_r-> Text)

{

if (s ≠"") s+=s1;

s+= «Название раздела»;

}

if (Table2N_g-> AsString ≠EN_g-> Text)

{

if (s ≠"") s+=s1;

s+= «№ главы»;

}

if (Table2Naz_g-> AsString ≠ENaz_g-> Text)

{

if (s ≠"") s+=s1;

s+= «Название главы»;

}

if (Table2Naz_st-> AsString ≠ENaz_st-> Text)

{

if (s ≠"") s+=s1;

s+= «Название статьи»;

}

if (Table2Soder-> AsString ≠ESoder-> Text)

{

if (s ≠"") s+=s1;

s+= «Содержание»; }

if (Table2N_st-> AsString ≠EN_st-> Text)

{

if (s ≠"") s+=s1;

s+= «№ статьи»; }

if (Table2Kodeks-> AsString ≠CDKodeks-> Text)

{

if (s ≠"") s+=s1;

s+= Кодекс";

}

if (s ≠"")

{

if (Application-> MessageBox (

(«Действительно хотите изменить запись?"+s+»?"). c_str (),

" Подтвердите изменения «,

MB_YESNO+MB_ICONQUESTION)==IDYES)

{

Table2-> Edit ();

Table2N_r-> AsString = EN_r-> Text;

Table2Naz_r-> AsString = ENaz_r-> Text;

Table2N_g-> AsString = EN_g-> Text;

Table2Naz_g-> AsString = ENaz_g-> Text;

Table2Naz_st-> AsString = ENaz_st-> Text;

Table2Soder-> AsString = ESoder-> Text;

Table2Kodeks-> AsString = CDKodeks-> Text;

}

}

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Button4Click (TObject *Sender)

{

Table2-> Insert ();

}

//---------------------------------------------------------------------------

void __fastcall TFR: :Button6Click (TObject *Sender)

{

if (Application-> MessageBox (

" Действительно хотите удалить запись?",

" Подтвердите решение «,

MB_YESNO+MB_ICONEXCLAMATION)==IDYES)

Table2-> Delete ();

}

//---------------------------------------------------------------------------

void __fastcall TFR: :N1Click (TObject *Sender)

{

FR-> Close ();

}

//---------------------------------------------------------------------------

Текст программы для формы FF

#include < vcl. h>

#pragma hdrstop

#include «UGL. h»

#include «UF. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TFF *FF;

//---------------------------------------------------------------------------

__fastcall TFF: :TFF (TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TFF: :RGFClick (TObject *Sender)

{

if (RGF-> ItemIndex==0)

Table1-> Filtered = false;

else

{

if (RGF-> ItemIndex==1)

Table1-> Filter="N_ist='"+CBist->Text+"'";

else

Table1-> Filter="N_st="+CBst->Text+"";

Table1-> Filtered = true;

}

}

//---------------------------------------------------------------------------

void __fastcall TFF: :ENomer_dChange (TObject *Sender)

{

TLocateOptions SearchOptions;

Table1-> Locate («Nomer_d», ENomer_d->Text,

SearchOptions< <loPartialKey<<loCaseInsensitive);

}

//---------------------------------------------------------------------------

void __fastcall TFF: :CBistChange (TObject *Sender)

{

if (RGF-> ItemIndex==0)

Table1-> Filtered = false;

else

{

if (RGF-> ItemIndex==1)

Table1-> Filter="N_ist='"+CBist->Text+"'";

else

Table1-> Filter="N_st="+CBst->Text+"";

Table1-> Filtered = true;

}

}

//---------------------------------------------------------------------------

void __fastcall TFF: :CBstChange (TObject *Sender)

{

if (RGF-> ItemIndex==0)

Table1-> Filtered = false;

else

{

if (RGF-> ItemIndex==1)

Table1-> Filter="N_ist='"+CBist->Text+"'";

else

Table1-> Filter="N_st="+CBst->Text+"";

Table1-> Filtered = true;

}

}

//---------------------------------------------------------------------------

void __fastcall TFF: :EAvtorChange (TObject *Sender)

{

TLocateOptions SearchOptions;

Table1-> Locate («Avtor», EAvtor->Text,

SearchOptions< <loPartialKey<<loCaseInsensitive);

}

//---------------------------------------------------------------------------

void __fastcall TFF: :ETerminChange (TObject *Sender)

{

TLocateOptions SearchOptions;

Table1-> Locate («Termin», ETermin->Text,

SearchOptions< <loPartialKey<<loCaseInsensitive);

}

//---------------------------------------------------------------------------

void __fastcall TFF: :N1Click (TObject *Sender)

{

FF-> Close ();

}

//---------------------------------------------------------------------------

void __fastcall TFF: :FormCreate (TObject *Sender)

{

}

//---------------------------------------------------------------------------

Текст программы для формы FSPR

#include < vcl. h>

#pragma hdrstop

#include «USPR. h»

#include «UGL. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TFSPR *FSPR;

//---------------------------------------------------------------------------

__fastcall TFSPR: :TFSPR (TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __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»

TForm1 *Form1;

//---------------------------------------------------------------------------

__fastcall TForm1: :TForm1(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm1: :Button1Click (TObject *Sender)

{

FO-> QuickRep1->Print ();

}

//---------------------------------------------------------------------------

void __fastcall TForm1: :Button2Click (TObject *Sender)

{

FO-> QuickRep1->Preview ();

}

//---------------------------------------------------------------------------

Текст программы для формы Form2

#include < vcl. h>

#pragma hdrstop

#include «Unit2. h»

#include «UO2. h»

//---------------------------------------------------------------------------

#pragma package (smart_init)

#pragma resource «*. dfm»

TForm2 *Form2;

//---------------------------------------------------------------------------

__fastcall TForm2: :TForm2(TComponent* Owner)

: TForm (Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall TForm2: :Button1Click (TObject *Sender)

{

FO2-> QuickRep1->Print ();

}

//---------------------------------------------------------------------------

void __fastcall TForm2: :Button2Click (TObject *Sender)

{

FO2-> QuickRep1->Preview ();

}

//---------------------------------------------------------------------------

ПоказатьСвернуть
Заполнить форму текущей работой