Помощь в написании студенческих работ
Антистрессовый сервис

Постановление на учет автомобилей. 
Прохождение техосмотра

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

В процессе тестирования использовалась пошаговая отладка, т. е. проверялась работа каждого пункта меню, адекватная реакция на нажатие клавиши контроль наличия необходимый для работы программных файлов. Описание логической структуры Алгоритм программы представлен в виде структурной схемы, на которой указаны используемые процедуры и их взаимосвязь, а также функциональное назначение каждой из них… Читать ещё >

Постановление на учет автомобилей. Прохождение техосмотра (реферат, курсовая, диплом, контрольная)

Федеральное государственное образовательное учреждение среднего профессионального образования КОСТРОМСКОЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ Специальность: 230 105 «Программное обеспечение вычислительной техники и автоматизированных систем «

Пояснительная записка к курсовому проекту База данных на тему:

«Постановление на учет автомобилей. Прохождение техосмотра»

Выполнили Студенты группы 4−1П:

Е.К. Игошина С. А. Кузнецова С.Б. Татаринова Кострома 2011 г.

ВВЕДЕНИЕ

В настоящее время вычислительная техника широко используется для решения задач различного назначения и в различных областях.

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

Для написания программы использовался язык программирования Delphi 7.

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

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

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

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

1.1 Техническое задание на разработку программного продукта

Программа предназначена для автоматизации рабочих мест работников ГИБДД.

Программа разработана в среде Delphi и запускается с помощью файла «Gibdd.exe».

Основанием для разработки данной программы явилось задание руководителя курсовой работы

1.2 Организация ввода/вывода и пользовательского интерфейса

1.2.1 Входные данные

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

1.2.2 Выходные данные

Выходными данными в программе являются составленные отчеты, такие как:

· Паспорт транспортного средства

· Свидетельство о регистрации ТС

· Водительское удостоверение

· Карточка сотрудника

· Талон технического осмотра

· Акт технического осмотра.

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

Далее на экране появляется главная форма содержащая 4 пункта меню «Файл», «Таблицы», «Отчеты», «Помощь». Все эти пункты меню являются выпадающими списками и содержат подпункты.

Ниже под меню располагаются 4 кнопки, для удобного переключения между имеющимися таблицами: «Транспортные средства», «Владельцы», «Сотрудники», «Прохождение технического осмотра».

1.3 Структурная схема программы

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

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

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

К элементам стиля относят:

· Комментарии

· Пропуски строк

· Выбор имен переменных

· Стандартизация сокращений

· Перенос строк

· Размещение операторов

· Упорядочивание списка по алфавиту

· Использования скобок

· Отступы от начала строки техосмотр регистрации интерфейс отчет

2.3 Описание программы

2.3.1 Общие сведения Программа запускается из файла «Gibdd.exe». Обязательно наличие на компьютере среды программирования Delphi.

2.3.2 Функциональное назначение Программа предназначена для ведения базы данных ГИБДД. В программе предусмотрено выводить на печать отчеты и документы, такие как: водительское удостоверение, паспорт ТС, акт техосмотра, свидетельство о регистрации ТС, карточка сотрудника, талон технического осмотра.

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

Минимальные системные требования: процессор не ниже Pentium; Объем ОП — 32Mb; монитор, клавиатура и мышь.

2.3.4 Используемые технические средства Минимальные системные требования:

Процессор — не ниже Pentium;

Объем ОП — 32 Мб;

Монитор, клавиатура, мышь;

2.3.5 Входные/выходные данные Входные данные — введенные сведения о ТС, владельцах, сотрудниках, состоянии техосмотра Выходные данные — Отчеты, акты и свидетельства, которые можно вывести на печать

2.4 Тестирование программы

Тестирование составляет заключительный этап разработки программы.

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

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

1. ЕСПД ГОСТ 19.103−77 Обозначение программы и программных документов.

2. ЕСПД ГОСТ 19.107−88 Основные надписи.

3. ЕСПД ГОСТ 19.105−78 Общие требования к программным документам.

4. ЕСПД ГОСТ 19.106−78 Требования к программным документам, выполненным печатным способом.

5. ЕСПД ГОСТ 19.401−78 Текст программы.

6. ЕСПД ГОСТ 19.402−78 Описание программы.

7. ЕСПД ГОСТ 19.504−79 Руководство программиста.

8. ЕСПД ГОСТ 19.505−79 Руководство оператора.

9. ЕСПД ГОСТ 19.506−79 Описание языка программирования.

10. А. Д. Хомовенко Базы Данных: «КОРОНА ПРИНТ» 2002.

ПРИЛОЖЕНИЕ 1

1. Назначение программы

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

2. Основание для разработки

Основанием для разработки данной программы явилось задание руководителя по курсовому проекту.

3. Запуск программы

Программа запускается из файла «Gibdd.exe». Обязательно наличие на компьютере среды программирования Delphi.

4. Требование к программному изделию

Программа работает в среде Delphi.

Минимальные системные требования:

Процессор — не ниже Pentium;

Объем ОП — 32 Мб;

Монитор, клавиатура, мышь;

5. Технико-экономические показатели

Программа рассчитана автоматизации работы сотрудников ГИБДД. Служит для более быстрого и точного ведения базы данных.

6. Порядок контроля и приемки

Программа прошла контроль оформления по ГОСТ.

ПРИЛОЖЕНИЕ 2

1. Назначение и условия применения программы

Программный продукт предназначен для быстрой и удобной работы сотрудников ГИБДД. Программа работает в среде Delphi, главный файла «Gibdd.exe». При написании программы использовалась среда программирования Delphi.

2. Характеристика программы

Программа имеет понятный пользовательский интерфейс. Она проста в эксплуатации.

3. Обращение программы

Программа запускается посредством запуска файла «Gibdd.exe» в среде Windows 98/ME/2000/XP.

4. Входные и выходные данные

Входными данными в программе являются сведения о транспортных средствах их состоянии, о владельцах и сотрудниках. Выходными данными являются отчёты, карточки сотрудников, водительские удостоверения, выводящиеся на печать.

5. Сообщение программисту

Сообщений нет.

ПРИЛОЖЕНИЕ 3

1. Назначение программы

Программа «Постановление на учет автомобилей. Прохождение техосмотра» предназначена для автоматизации баз данных ГИБДД. Программа работает в среде Delphi путем запуска файла «Gibdd.exe». При написании программы использовалась среда программирования Delphi.

2. Условия выполнения

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

Запуск программы осуществляется из среды Windows.

3. Выполнение программы

Программа работает в среде Delphi путем запуска файла «Gibdd.exe».

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

Далее на экране появляется главная форма содержащая 4 пункта меню «Файл», «Таблицы», «Отчеты», «Помощь». Все эти пункты меню являются выпадающими списками и содержат подпункты.

Ниже под меню располагаются 4 кнопки, для удобного переключения между имеющимися таблицами: «Транспортные средства», «Владельцы», «Сотрудники», «Прохождение технического осмотра».

Для получения справки о программе необходимо выбрать меню «Помощь» и выбрать пункт «Справка».

Для выхода из программы — пункт меню «Файл» далее выбрать «Выход из программы».

4. Сообщение оператору

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

При поиске по некоторому значению, если введенное значение не найдено, выводится соответствующее сообщение.

ПРИЛОЖЕНИЕ 4

Рис. П 4.1 Авторизация

Рис. П 4.2 Главное окно

Рис. П 4.3 Сотрудники

ПРИЛОЖЕНИЕ 5

1. Назначение

Программа предназначена для удобной работы с базами данных.

2. Запуск

Программа работает в среде Delphi путем запуска файла «Gibdd.exe».

4. Объем

Объем программы 37,0 Mb.

5. Специальные указания оператору

Специальных указаний нет.

6. Авторы

Игошина Е. К и Кузнецова С. А

7. Дата создания

30.05.2011 г.

ПРИЛОЖЕНИЕ 6

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, ImgList, Menus, ExtCtrls, ComCtrls, DBCtrls, Grids, DBGrids,

StdCtrls, Buttons, ShellAPI, Mask, DB;

type

TForma_Glavnaya = class (TForm)

PrinterSetupDialog1: TPrinterSetupDialog;

PrintDialog1: TPrintDialog;

MainMenu1: TMainMenu;

N1: TMenuItem;

N42: TMenuItem;

N40: TMenuItem;

N39: TMenuItem;

N6: TMenuItem;

N22: TMenuItem;

N23: TMenuItem;

N24: TMenuItem;

ImageList1: TImageList;

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

Panel1: TPanel;

PageControl2: TPageControl;

TabSheet3: TTabSheet;

Image1: TImage;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

Label7: TLabel;

Label8: TLabel;

Edit1: TEdit;

Edit2: TEdit;

Edit4: TEdit;

Edit5: TEdit;

Edit6: TEdit;

Edit8: TEdit;

TabSheet4: TTabSheet;

TabSheet6: TTabSheet;

Panel2: TPanel;

Image2: TImage;

DBImage1: TDBImage;

DBNavigator1: TDBNavigator;

DBGrid1: TDBGrid;

Label10: TLabel;

Label11: TLabel;

Label12: TLabel;

Edit9: TEdit;

Edit10: TEdit;

Edit11: TEdit;

Edit12: TEdit;

TabSheet5: TTabSheet;

TabSheet7: TTabSheet;

Label13: TLabel;

BitBtn15: TBitBtn;

BitBtn16: TBitBtn;

ComboBox1: TComboBox;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

ComboBox2: TComboBox;

Edit7: TEdit;

Label14: TLabel;

ПРИЛОЖЕНИЕ 6(Продолжение)

ComboBox3: TComboBox;

Label15: TLabel;

Image3: TImage;

Label16: TLabel;

Label17: TLabel;

Label18: TLabel;

Label19: TLabel;

Label20: TLabel;

Label21: TLabel;

Label22: TLabel;

Label23: TLabel;

Label24: TLabel;

Label25: TLabel;

Label26: TLabel;

Label27: TLabel;

Label28: TLabel;

Label29: TLabel;

Image5: TImage;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

DBEdit7: TDBEdit;

DBEdit8: TDBEdit;

DBEdit10: TDBEdit;

DBEdit11: TDBEdit;

DBEdit12: TDBEdit;

DBEdit13: TDBEdit;

DBEdit14: TDBEdit;

BitBtn3: TBitBtn;

BitBtn4: TBitBtn;

Panel3: TPanel;

PageControl3: TPageControl;

TabSheet8: TTabSheet;

Image4: TImage;

Label35: TLabel;

Edit20: TEdit;

Edit23: TEdit;

Edit24: TEdit;

BitBtn5: TBitBtn;

BitBtn6: TBitBtn;

Edit25: TEdit;

TabSheet9: TTabSheet;

Image6: TImage;

DBEdit15: TDBEdit;

DBEdit16: TDBEdit;

DBEdit18: TDBEdit;

DBEdit19: TDBEdit;

DBEdit21: TDBEdit;

DBEdit22: TDBEdit;

BitBtn7: TBitBtn;

BitBtn8: TBitBtn;

TabSheet10: TTabSheet;

Image7: TImage;

Panel4: TPanel;

Image8: TImage;

Label58: TLabel;

DBImage2: TDBImage;

BitBtn9: TBitBtn;

BitBtn10: TBitBtn;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

Edit21: TEdit;

Edit22: TEdit;

Label30: TLabel;

DateTimePicker1: TDateTimePicker;

DateTimePicker2: TDateTimePicker;

Label42: TLabel;

DateTimePicker3: TDateTimePicker;

ПРИЛОЖЕНИЕ 6(Продолжение)

Edit26: TEdit;

Edit27: TEdit;

Label38: TLabel;

Label39: TLabel;

Label40: TLabel;

Label41: TLabel;

Label50: TLabel;

Label51: TLabel;

Label52: TLabel;

DBEdit30: TDBEdit;

Label44: TLabel;

DBEdit23: TDBEdit;

Label45: TLabel;

Label31: TLabel;

Label32: TLabel;

Label33: TLabel;

Label34: TLabel;

Label36: TLabel;

Label37: TLabel;

Label43: TLabel;

Label46: TLabel;

DateTimePicker4: TDateTimePicker;

DateTimePicker5: TDateTimePicker;

DateTimePicker6: TDateTimePicker;

DateTimePicker7: TDateTimePicker;

Label47: TLabel;

ComboBox4: TComboBox;

ComboBox5: TComboBox;

ComboBox6: TComboBox;

N2: TMenuItem;

Label48: TLabel;

N11: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N10: TMenuItem;

N12: TMenuItem;

DBGrid3: TDBGrid;

Panel5: TPanel;

PageControl4: TPageControl;

TabSheet12: TTabSheet;

Image9: TImage;

Label49: TLabel;

Label53: TLabel;

Label54: TLabel;

Label55: TLabel;

Label56: TLabel;

Label57: TLabel;

Label60: TLabel;

Edit30: TEdit;

Edit33: TEdit;

Edit34: TEdit;

BitBtn11: TBitBtn;

BitBtn12: TBitBtn;

Edit35: TEdit;

Edit31: TEdit;

Edit32: TEdit;

DateTimePicker8: TDateTimePicker;

DateTimePicker9: TDateTimePicker;

TabSheet13: TTabSheet;

Image10: TImage;

Label62: TLabel;

Label63: TLabel;

Label64: TLabel;

Label65: TLabel;

Label66: TLabel;

Label69: TLabel;

DBEdit1: TDBEdit;

DBEdit4: TDBEdit;

DBEdit9: TDBEdit;

ПРИЛОЖЕНИЕ 6(Продолжение)

DBEdit17: TDBEdit;

BitBtn13: TBitBtn;

BitBtn14: TBitBtn;

DBEdit25: TDBEdit;

DBEdit26: TDBEdit;

DateTimePicker11: TDateTimePicker;

DateTimePicker12: TDateTimePicker;

TabSheet14: TTabSheet;

Image11: TImage;

Panel6: TPanel;

Image12: TImage;

Label71: TLabel;

DBImage3: TDBImage;

BitBtn17: TBitBtn;

BitBtn18: TBitBtn;

DBNavigator3: TDBNavigator;

ComboBox7: TComboBox;

Label61: TLabel;

DateTimePicker10: TDateTimePicker;

Label59: TLabel;

Label67: TLabel;

DateTimePicker13: TDateTimePicker;

ComboBox8: TComboBox;

Label68: TLabel;

ComboBox9: TComboBox;

Label70: TLabel;

Label72: TLabel;

Label73: TLabel;

ComboBox10: TComboBox;

Label9: TLabel;

N14: TMenuItem;

N15: TMenuItem;

N16: TMenuItem;

N17: TMenuItem;

N18: TMenuItem;

Label74: TLabel;

ComboBox11: TComboBox;

Edit19: TEdit;

Button5: TButton;

Label75: TLabel;

Label76: TLabel;

ComboBox12: TComboBox;

Edit3: TEdit;

Button1: TButton;

Label77: TLabel;

DateTimePicker14: TDateTimePicker;

Label78: TLabel;

ComboBox13: TComboBox;

Edit13: TEdit;

Button2: TButton;

Label79: TLabel;

N19: TMenuItem;

DBGrid4: TDBGrid;

Panel7: TPanel;

PageControl5: TPageControl;

TabSheet11: TTabSheet;

Image13: TImage;

Label85: TLabel;

Label86: TLabel;

BitBtn19: TBitBtn;

BitBtn20: TBitBtn;

DateTimePicker16: TDateTimePicker;

ComboBox14: TComboBox;

TabSheet15: TTabSheet;

Image14: TImage;

BitBtn21: TBitBtn;

BitBtn22: TBitBtn;

TabSheet16: TTabSheet;

Image15: TImage;

Label96: TLabel;

Label97: TLabel;

ComboBox16: TComboBox;

Edit29: TEdit;

Button3: TButton;

DBNavigator4: TDBNavigator;

Label81: TLabel;

Label98: TLabel;

ComboBox17: TComboBox;

Label84: TLabel;

Memo1: TMemo;

Label80: TLabel;

Label99: TLabel;

ComboBox18: TComboBox;

Label82: TLabel;

Label83: TLabel;

DateTimePicker15: TDateTimePicker;

ComboBox15: TComboBox;

Label87: TLabel;

Label88: TLabel;

ComboBox19: TComboBox;

Label89: TLabel;

Label90: TLabel;

Label91: TLabel;

ComboBox20: TComboBox;

DBMemo1: TDBMemo;

BitBtn23: TBitBtn;

BitBtn24: TBitBtn;

N20: TMenuItem;

N21: TMenuItem;

procedure ComboBox1KeyPress (Sender: TObject; var Key: Char);

procedure Edit4KeyPress (Sender: TObject; var Key: Char);

procedure BitBtn1Click (Sender: TObject);

procedure BitBtn2Click (Sender: TObject);

procedure BitBtn16Click (Sender: TObject);

procedure BitBtn15Click (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure N23Click (Sender: TObject);

procedure N24Click (Sender: TObject);

procedure N39Click (Sender: TObject);

procedure N6Click (Sender: TObject);

procedure DBGrid1TitleClick (Column: TColumn);

procedure N42Click (Sender: TObject);

procedure DBGrid1Enter (Sender: TObject);

procedure BitBtn3Click (Sender: TObject);

procedure BitBtn4Click (Sender: TObject);

procedure Edit27KeyPress (Sender: TObject; var Key: Char);

procedure BitBtn5Click (Sender: TObject);

procedure BitBtn9Click (Sender: TObject);

procedure BitBtn10Click (Sender: TObject);

procedure BitBtn7Click (Sender: TObject);

procedure DBGrid2Enter (Sender: TObject);

procedure DBGrid2TitleClick (Column: TColumn);

procedure BitBtn6Click (Sender: TObject);

procedure BitBtn8Click (Sender: TObject);

procedure PageControl2Change (Sender: TObject);

procedure ComboBox1Change (Sender: TObject);

procedure ComboBox4Change (Sender: TObject);

procedure FormActivate (Sender: TObject);

procedure PageControl1Change (Sender: TObject);

procedure N2Click (Sender: TObject);

procedure N4Click (Sender: TObject);

procedure N10Click (Sender: TObject);

procedure BitBtn17Click (Sender: TObject);

procedure BitBtn18Click (Sender: TObject);

procedure PageControl3Change (Sender: TObject);

procedure DBGrid3Enter (Sender: TObject);

procedure DBGrid3TitleClick (Column: TColumn);

procedure BitBtn11Click (Sender: TObject);

ПРИЛОЖЕНИЕ 6(Продолжение)

procedure BitBtn12Click (Sender: TObject);

procedure BitBtn13Click (Sender: TObject);

procedure BitBtn14Click (Sender: TObject);

procedure N3Click (Sender: TObject);

procedure ComboBox3Change (Sender: TObject);

procedure ComboBox5Change (Sender: TObject);

procedure ComboBox9Change (Sender: TObject);

procedure ComboBox10Change (Sender: TObject);

procedure N15Click (Sender: TObject);

procedure N16Click (Sender: TObject);

procedure N17Click (Sender: TObject);

procedure N18Click (Sender: TObject);

procedure Edit19KeyPress (Sender: TObject; var Key: Char);

procedure Button5Click (Sender: TObject);

procedure Edit3KeyPress (Sender: TObject; var Key: Char);

procedure Button1Click (Sender: TObject);

procedure Edit13KeyPress (Sender: TObject; var Key: Char);

procedure Button2Click (Sender: TObject);

procedure N12Click (Sender: TObject);

procedure N19Click (Sender: TObject);

procedure ComboBox14Change (Sender: TObject);

procedure DBGrid4Enter (Sender: TObject);

procedure DBGrid4TitleClick (Column: TColumn);

procedure PageControl5Change (Sender: TObject);

procedure ComboBox17Change (Sender: TObject);

procedure ComboBox18Change (Sender: TObject);

procedure ComboBox19Change (Sender: TObject);

procedure ComboBox20Change (Sender: TObject);

procedure BitBtn19Click (Sender: TObject);

procedure ComboBox15Change (Sender: TObject);

procedure BitBtn20Click (Sender: TObject);

procedure BitBtn23Click (Sender: TObject);

procedure BitBtn24Click (Sender: TObject);

procedure Edit29KeyPress (Sender: TObject; var Key: Char);

procedure Button3Click (Sender: TObject);

procedure FormCloseQuery (Sender: TObject; var CanClose: Boolean);

private

{ Private declarations }

procedure WMActivateApp (var Msg: TWMActivateApp); message WM_ACTIVATEAPP; // для сворачивания всего приложения при сворачивании этой формы

procedure WMSysCommand (var Msg: TWMSysCommand); message WM_SYSCOMMAND; // для сворачивания всего приложения при сворачивании этой формы

procedure MyHint (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo); // собственные всплывающие подсказки

procedure Obn_Sotrudnikov; // обновление сотрудников — для заполнения раскрывающихся списков

procedure Obn_RegNum; // обновление сотрудников — для заполнения раскрывающихся списков

public

procedure Obn_Vladelcev; // обновление владельцев ТС — для заполнения раскрывающихся списков

{ Public declarations }

end;

var

Forma_Glavnaya: TForma_Glavnaya;

implementation

uses Unit3, Unit4, Unit1, ADODB, Unit5, Unit6, Unit7, Unit8, Unit10, Unit11, Unit12, Unit13, Unit15, Unit16, Unit14;

{$R *.dfm}

{Книжная процедура для сворачивания всего приложения при сворачивании этой формы}

procedure TForma_Glavnaya.WMActivateApp (var Msg: TWMActivateApp);

begin

if IsIconic (Application.Handle) then begin

ShowWindow (Application.Handle, SW_RESTORE);

ПРИЛОЖЕНИЕ 6(Продолжение)

SetActiveWindow (Handle);

end;

inherited;

end;

{Книжная процедура для сворачивания всего приложения при сворачивании этой формы}

procedure TForma_Glavnaya.WMSysCommand (var Msg: TWMSysCommand);

begin

if (Msg.CmdType = SC_Minimize) then

ShowWindow (Application.Handle, SW_MINIMIZE)

else

inherited;

end;

{Процедура отображения собственных всплывающих подсказок}

procedure TForma_Glavnaya.MyHint (var HintStr: string; var CanShow: Boolean; var HintInfo: THintInfo);

var

i: integer; // параметр цикла

begin

for i := 0 to Application. ComponentCount — 1 do

if Application. Components[i] is THintWindow then

with THintWindow (Application.Components[i]).Canvas do

begin // устанавливаем .

Font.name := 'Arial'; // шрифт

Font.Size := 10; // размер

Font.Style := [fsBold]; // стиль — жирный

HintInfo.HintColor := $ 00A6DBFE; // цвет

end;

end;

{Процедура заполнения раскрывающихся списков владельцев ТС}

procedure TForma_Glavnaya.Obn_Vladelcev;

begin

try

Datamodule1.ADO_Vladelcu.Refresh; // обновляем таблицу

Datamodule1.ADO_Vladelcu.First; // переходим к первой записи

ComboBox1.Clear; // очищаем список сотрудников

while not (Datamodule1.ADO_Vladelcu.EOF) do // до конца таблицы делаем…

begin

ComboBox1.Items.add (string (Datamodule1.ADO_Vladelcu.FieldValues['Fam']+' '+Datamodule1.ADO_Vladelcu.FieldValues['Imya']+' '+Datamodule1.ADO_Vladelcu.FieldValues['Otch']));

Datamodule1.ADO_Vladelcu.Next; // к следующей записи

end;

ComboBox1.ItemIndex:=0; // на первую запись в списке

ComboBox4.Items:=ComboBox1.Items; // присваиваем все значения другому раскрывающемуся списку

F_VU.ComboBox1.Items:=ComboBox1.Items; // переприсваиваем все значения другому раскрывающемуся списку

F_VU.ComboBox1.ItemIndex:=0; // на первую запись в списке

ComboBox4.ItemIndex:=0; // на первую запись в списке

ComboBox1Change (Self); // процедура изменения раскрывающегося списка, в которой по ФИО берется его код

ComboBox4Change (Self); // процедура изменения раскрывающегося списка, в которой по ФИО берется его код

Datamodule1.ADO_Vladelcu.First; // на первую запись в таблице ВЛАДЕЛЬЦЫ

except

end;

end;

{Процедура заполнения раскрывающихся списков Сотрудников}

procedure TForma_Glavnaya.Obn_Sotrudnikov;

begin

try

Datamodule1.ADO_Sotrudniki.Refresh; // обновляем таблицу сотрудников

Datamodule1.ADO_Sotrudniki.First; // переходим к первой записи

ComboBox9.Clear; // очищаем список сотрудников

while not (Datamodule1.ADO_Sotrudniki.EOF) do // до конца таблицы делаем…

begin

ComboBox9.Items.add (string (Datamodule1.ADO_Sotrudniki.FieldValues['Fam']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Imya']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Otch']));

Datamodule1.ADO_Sotrudniki.Next; // к следующей записи

end;

ComboBox9.ItemIndex:=0; // на первого сотрудника в списке

ComboBox10.Items:=ComboBox9.Items; // присваиваем все значения другому раскрывающемуся списку

ComboBox17.Items:=ComboBox9.Items; // присваиваем все значения другому раскрывающемуся списку

ComboBox19.Items:=ComboBox9.Items; // присваиваем все значения другому раскрывающемуся списку

ComboBox10.ItemIndex:=0; // на первого сотрудника в списке

ComboBox17.ItemIndex:=0;

ComboBox19.ItemIndex:=0;

ComboBox9Change (Self); // процедуры изменения раскрывающихся списков, по ФИО выводят код сотрудника в метку

ComboBox19Change (Self); // тож самое

ComboBox10Change (Self);

ComboBox17Change (Self);

Datamodule1.ADO_Sotrudniki.First; // на первую запись в таблице сотрудников

except

end;

end;

{Процедура заполнения раскрывающихся списков Регистрационных номеров ТС}

procedure TForma_Glavnaya.Obn_RegNum;

begin

try

Datamodule1.ADO_TC.Refresh; // обновляем таблицу

Datamodule1.ADO_TC.First; // переходим к первой записи

ComboBox18.Clear; // очищаем список сотрудников

while not (Datamodule1.ADO_TC.EOF) do // до конца таблицы делаем…

begin

ComboBox18.Items.add (string (Datamodule1.ADO_TC.FieldValues['RegNum'])); // добавляем в раскр. список рег номер

Datamodule1.ADO_TC.Next; // к следующей записи

end;

ComboBox20.Items:=ComboBox18.Items; // присваиваем все значения другому раскрывающемуся списку

ComboBox18.ItemIndex:=0; // на первого клиента в списке

ComboBox20.ItemIndex:=0; // на первую запись в списке

ComboBox18Change (Self); // выводим в метку по рег номеру его код

ComboBox20Change (Self);

Datamodule1.ADO_TC.First; // на первую запись в таблице Клиенты

except

end;

end;

procedure TForma_Glavnaya.ComboBox1KeyPress (Sender: TObject; var Key: Char);

begin

key:=#0; // запрет ввода символов

end;

procedure TForma_Glavnaya.Edit4KeyPress (Sender: TObject; var Key: Char);

begin

if not (key in ['0'.'9']) and (key<>#8) then key:=#0; // разрешить вводить только цифры

end;

procedure TForma_Glavnaya.BitBtn1Click (Sender: TObject);

begin

edit1.Clear; // очистка элементов формы ввода

edit2.Clear;

edit4.Clear;

edit5.Clear;

edit6.Clear;

edit7.Clear;

edit8.Clear;

edit9.Clear;

edit10.Clear;

edit11.Clear;

edit12.Clear;

ComboBox3.ItemIndex:=0;

ComboBox2.ItemIndex:=0;

Obn_Vladelcev; // перезагружаем список

//Obn_Sotrudnikov;

end;

procedure TForma_Glavnaya.BitBtn2Click (Sender: TObject);

begin

{проверка на заполнение полей}

if (Edit1.Text='') or (Edit2.Text='') or (Edit4.Text='') or

(Edit6.Text='') or (Edit7.Text='') or (Edit10.Text='')or (Edit11.Text='')or (Edit12.Text='') then

begin

MessageDlg ('Ошибка — Для добавления записи заполните форму.', mtError, [mbOK], 0);

exit;

end;

if MessageDlg ('Вы действительно хотите добавить новую запись?', mtConfirmation, [mbOK, mbCancel], 0)= mrok then

begin

DataModule1.ADO_TC.Insert; // вставляем новую запись

DataModule1.ADO_TC.FieldByName ('vladelec').Value := Label47. Caption; // присваиваем поля

DataModule1.ADO_TC.FieldByName ('regnum').Value := Edit1. Text;

DataModule1.ADO_TC.FieldByName ('marka').Value := Edit2. Text;

DataModule1.ADO_TC.FieldByName ('kategoriya').Value := ComboBox3. Text;

DataModule1.ADO_TC.FieldByName ('god').Value := Edit4. Text;

DataModule1.ADO_TC.FieldByName ('n_dvig').Value := Edit5. Text;

DataModule1.ADO_TC.FieldByName ('n_shassi').Value := Edit6. Text;

DataModule1.ADO_TC.FieldByName ('n_kuzov').Value := Edit7. Text;

DataModule1.ADO_TC.FieldByName ('cvet').Value := ComboBox2. Text;

DataModule1.ADO_TC.FieldByName ('moshn').Value := Edit8. Text;

DataModule1.ADO_TC.FieldByName ('rab_ob').Value := Edit9. Text;

DataModule1.ADO_TC.FieldByName ('tip_dv').Value := Edit10. Text;

DataModule1.ADO_TC.FieldByName ('raz_massa').Value := Edit11. Text;

DataModule1.ADO_TC.FieldByName ('Datareg').Value := DateToStr (DateTimePicker1.date);

DataModule1.ADO_TC.FieldByName ('massa').Value := Edit12. Text;

DataModule1.ADO_TC.FieldByName ('sotrudnik').Value := Label70. Caption;

BitBtn1Click (Sender); // очищаем поля ввода

DataModule1.ADO_TC.Last; // на последнюю запись

end;

end;

procedure TForma_Glavnaya.BitBtn16Click (Sender: TObject);

begin

DBImage1.PasteFromClipboard; // вставляем картинку из буфера

end;

procedure TForma_Glavnaya.BitBtn15Click (Sender: TObject);

begin

DBImage1.CutToClipboard; // вырезаем картинку в буфер

end;

procedure TForma_Glavnaya.FormCreate (Sender: TObject);

begin

Forma_Glavnaya.DoubleBuffered:=true; // для лучшей прорисовки формы

{Загружаем картинки при создании формы. красота требует жертв, в нашем случае оперативной памяти :) }

Image1.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image2.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image3.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image4.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image5.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image6.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image7.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image8.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image9.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image10.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image11.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image12.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image13.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image14.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

Image15.Picture.LoadFromFile (ExtractFileDir (ParamStr (0))+'picturesfon.bmp');

{Во всех таблицах поле код красное, ибо по нему по умолчанию сортировка, потом красным стоновится то по которому кликает пользователь}

DBGrid1.Columns[0]. Title.Font.Color:=clRed;

DBGrid2.Columns[0].Title.Font.Color:=clRed;

DBGrid3.Columns[0].Title.Font.Color:=clRed;

DBGrid4.Columns[0].Title.Font.Color:=clRed;

{Устанавливаем даты на текущие}

DateTimePicker1.Date:=now;

DateTimePicker2.Date:=now;

DateTimePicker3.Date:=now;

DateTimePicker4.Date:=now;

DateTimePicker8.Date:=now;

DateTimePicker9.Date:=now;

DateTimePicker10.Date:=now;

DateTimePicker16.Date:=now;

Application.OnShowHint := MyHint; // наши всплывающие подсказки описанные в процедуре MyHint

Application.HintPause:=100; // 100 милисек

Application.HintShortPause:=100;

end;

procedure TForma_Glavnaya.N23Click (Sender: TObject);

begin

{запуск справки}

ShellExecute (Handle, 'open', pchar (ExtractFileDir (ParamStr (0))+'help.html'), nil, nil, SW_SHOWNORMAL);

end;

procedure TForma_Glavnaya.N24Click (Sender: TObject);

begin

aboutbox.showmodal; // Показать информацию о программе

end;

procedure TForma_Glavnaya.N39Click (Sender: TObject);

begin

Forma_Glavnaya.Hide; // скрыть основную форму

F_intro.show; // Показать стартовую форму ввода пароля

end;

procedure TForma_Glavnaya.N6Click (Sender: TObject);

begin

close; // закрыть программу

end;

{процедура сортировки таблицы}

procedure TForma_Glavnaya.DBGrid1TitleClick (Column: TColumn);

var i: integer; // параметр цикла

begin

with DataModule1. ADO_TC do

begin

DisableControls;

IndexFieldNames := Column. FieldName; // индексируемое поле — то по которому сортировка

// Восстанавливаем настройки заголовка

for i:=0 to DBGrid1.Columns.Count-1 do

DBGrid1.Columns[i]. Title.Font.Color:=clblack; // цвет черный

Column.Title.Font.Color := clred; // цвет красный тому — по которому сортировка

EnableControls;

end;

end;

procedure TForma_Glavnaya.N42Click (Sender: TObject);

begin

PrinterSetupDialog1.Execute; // Настройки принтера.

end;

procedure TForma_Glavnaya.DBGrid1Enter (Sender: TObject);

begin

DataModule1.ADO_TC.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.BitBtn3Click (Sender: TObject);

begin

DataModule1.ADO_TC.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.BitBtn4Click (Sender: TObject);

begin

DataModule1.ADO_TC.edit;

DataModule1.ADO_TC.FieldByName ('vladelec').Value := Label48. Caption;

DataModule1.ADO_TC.FieldByName ('kategoriya').Value := ComboBox5. text;

DataModule1.ADO_TC.FieldByName ('cvet').Value := ComboBox6. Text;

DataModule1.ADO_TC.FieldByName ('Datareg').Value := DateToStr (DateTimePicker14.date);

DataModule1.ADO_TC.FieldByName ('sotrudnik').Value := Label73. Caption;

DataModule1.ADO_TC.Post;

end;

procedure TForma_Glavnaya.Edit27KeyPress (Sender: TObject; var Key: Char);

begin

if not (key in ['A'.'E']) and (key<>#8) then key:=#0; // разрешить вводить только цифры

end;

procedure TForma_Glavnaya.BitBtn5Click (Sender: TObject);

begin

edit20.Clear; // очистить поля ввода

edit21.Clear;

edit22.Clear;

edit23.Clear;

edit24.Clear;

edit25.Clear;

edit26.Clear;

edit27.Clear;

end;

procedure TForma_Glavnaya.BitBtn9Click (Sender: TObject);

begin

DBImage2.CutToClipboard;

end;

procedure TForma_Glavnaya.BitBtn10Click (Sender: TObject);

begin

DBImage2.PasteFromClipboard;

end;

procedure TForma_Glavnaya.BitBtn7Click (Sender: TObject);

begin

DataModule1.ADO_Vladelcu.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.DBGrid2Enter (Sender: TObject);

begin

DataModule1.ADO_Vladelcu.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.DBGrid2TitleClick (Column: TColumn);

var i: integer;

begin

with DataModule1. ADO_Vladelcu do

begin

DisableControls;

IndexFieldNames := Column. FieldName;

// Восстанавливаем настройки заголовка

for i:=0 to DBGrid2.Columns.Count-1 do

DBGrid2.Columns[i]. Title.Font.Color:=clblack;

Column.Title.Font.Color := clred;

EnableControls;

end;

end;

procedure TForma_Glavnaya.BitBtn6Click (Sender: TObject);

begin

{проверка на заполнение полей}

if (Edit20.Text='') or (Edit21.Text='') or (Edit22.Text='') or

(Edit23.Text='') or (Edit23.Text='') or (Edit25.Text='')or (Edit26.Text='') or (Edit27.Text='') then

begin

MessageDlg ('Ошибка — Для добавления записи заполните форму.', mtError, [mbOK], 0);

exit;

end;

if MessageDlg ('Вы действительно хотите добавить новую запись?', mtConfirmation, [mbOK, mbCancel], 0)= mrok then

begin

DataModule1.ADO_Vladelcu.Insert; // вставляем новую запись

DataModule1.ADO_Vladelcu.FieldByName ('Fam').Value := Edit20. Text;

DataModule1.ADO_Vladelcu.FieldByName ('Imya').Value := Edit21. Text;

DataModule1.ADO_Vladelcu.FieldByName ('Otch').Value := Edit22. Text;

DataModule1.ADO_Vladelcu.FieldByName ('Data_rog').Value := DateToStr (DateTimePicker2.Date);

DataModule1.ADO_Vladelcu.FieldByName ('MestoGit').Value := Edit23. Text;

DataModule1.ADO_Vladelcu.FieldByName ('PaspSer').Value := Edit24. Text;

DataModule1.ADO_Vladelcu.FieldByName ('PaspNum').Value := Edit25. Text;

DataModule1.ADO_Vladelcu.FieldByName ('Data_vyd').Value := DateToStr (DateTimePicker3.Date);

DataModule1.ADO_Vladelcu.FieldByName ('Num_vod_udost').Value := Edit26. Text;

DataModule1.ADO_Vladelcu.FieldByName ('Data_vud_vu').Value := DateToStr (DateTimePicker4.Date);

DataModule1.ADO_Vladelcu.FieldByName ('Kategorii').Value := Edit27. Text;

BitBtn5Click (Sender); // очищаем поля ввода

DataModule1.ADO_Vladelcu.Last; // на последнюю запись

end;

end;

procedure TForma_Glavnaya.BitBtn8Click (Sender: TObject);

begin

DataModule1.ADO_Vladelcu.Edit;

DataModule1.ADO_Vladelcu.fieldbyname ('Data_rog').value:=DateToStr (DateTimePicker5.Date);

DataModule1.ADO_Vladelcu.fieldbyname ('Data_vyd').value:=DateToStr (DateTimePicker6.Date);

DataModule1.ADO_Vladelcu.fieldbyname ('Data_vud_vu').value:=DateToStr (DateTimePicker7.Date);

DataModule1.ADO_Vladelcu.Post;

end;

procedure TForma_Glavnaya.PageControl2Change (Sender: TObject);

begin

Obn_Vladelcev;

Obn_Sotrudnikov;

if PageControl2. ActivePageIndex=1 then

DataModule1.ADO_TC.Refresh;

end;

procedure TForma_Glavnaya.ComboBox1Change (Sender: TObject);

begin

Datamodule1.ADO_Vladelcu.Refresh; // обновляем таблицу Клиентов

Datamodule1.ADO_Vladelcu.First; // переходим к первой записи

while not (Datamodule1.ADO_Vladelcu.EOF) do // до конца таблицы делаем…

begin

if ComboBox1. Text = string (Datamodule1.ADO_Vladelcu.FieldValues['Fam']+' '+Datamodule1.ADO_Vladelcu.FieldValues['Imya']+' '+Datamodule1.ADO_Vladelcu.FieldValues['Otch']) then

Label47.Caption:=Datamodule1.ADO_Vladelcu.Fieldbyname ('id').asstring;

Datamodule1.ADO_Vladelcu.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.ComboBox4Change (Sender: TObject);

begin

Datamodule1.ADO_Vladelcu.Refresh; // обновляем таблицу Клиентов

Datamodule1.ADO_Vladelcu.First; // переходим к первой записи

while not (Datamodule1.ADO_Vladelcu.EOF) do // до конца таблицы делаем…

begin

if ComboBox4. Text = string (Datamodule1.ADO_Vladelcu.FieldValues['Fam']+' '+Datamodule1.ADO_Vladelcu.FieldValues['Imya']+' '+Datamodule1.ADO_Vladelcu.FieldValues['Otch']) then

begin

Label48.Caption:=Datamodule1.ADO_Vladelcu.Fieldbyname ('id').asstring;

break;

end;

Datamodule1.ADO_Vladelcu.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.FormActivate (Sender: TObject);

begin

PageControl2Change (Sender);

end;

procedure TForma_Glavnaya.PageControl1Change (Sender: TObject);

begin

if PageControl1. ActivePageIndex=0 then

Obn_Vladelcev

else if PageControl1. ActivePageIndex=3 then

begin

Obn_Vladelcev;

Obn_RegNum;

end;

end;

procedure TForma_Glavnaya.N2Click (Sender: TObject);

begin

F_VU.show;

end;

procedure TForma_Glavnaya.N4Click (Sender: TObject);

begin

F_PTC.show;

end;

procedure TForma_Glavnaya.N10Click (Sender: TObject);

begin

F_SRG.show;

end;

procedure TForma_Glavnaya.BitBtn17Click (Sender: TObject);

begin

DBImage3.CutToClipboard;

end;

procedure TForma_Glavnaya.BitBtn18Click (Sender: TObject);

begin

DBImage3.PasteFromClipboard;

end;

procedure TForma_Glavnaya.PageControl3Change (Sender: TObject);

begin

DataModule1.ADO_Vladelcu.Refresh; // обновляем таблицу

end;

procedure TForma_Glavnaya.DBGrid3Enter (Sender: TObject);

begin

DataModule1.ADO_Sotrudniki.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.DBGrid3TitleClick (Column: TColumn);

var i: integer;

begin

with DataModule1. ADO_Sotrudniki do // сортируем таблицу по клику в заголовке столбца DBGrid3

begin

DisableControls;

IndexFieldNames := Column. FieldName;

// Восстанавливаем настройки заголовка

for i:=0 to DBGrid3.Columns.Count-1 do

DBGrid3.Columns[i]. Title.Font.Color:=clblack;

Column.Title.Font.Color := clred;

EnableControls;

end;

end;

procedure TForma_Glavnaya.BitBtn11Click (Sender: TObject);

begin

edit30.Clear; // очищаем поля

edit31.Clear;

edit32.Clear;

edit33.Clear;

edit34.Clear;

edit35.Clear;

end;

procedure TForma_Glavnaya.BitBtn12Click (Sender: TObject);

begin

{проверка на заполнение полей}

if (Edit30.Text='') or (Edit31.Text='') or (Edit32.Text='') or

(Edit33.Text='') or (Edit34.Text='') or (Edit35.Text='')or (ComboBox7.Text='') then

begin

MessageDlg ('Ошибка — Для добавления записи заполните форму.', mtError, [mbOK], 0);

exit;

end;

if MessageDlg ('Вы действительно хотите добавить новую запись?', mtConfirmation, [mbOK, mbCancel], 0)= mrok then

begin

DataModule1.ADO_Sotrudniki.Insert; // вставляем новую запись

DataModule1.ADO_Sotrudniki.FieldByName ('Fam').Value := Edit30. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('Imya').Value := Edit31. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('Otch').Value := Edit32. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('Data_rog').Value := DateToStr (DateTimePicker8.Date);

DataModule1.ADO_Sotrudniki.FieldByName ('MestoGit').Value := Edit33. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('PaspSer').Value := Edit34. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('PaspNum').Value := Edit35. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('Data_vyd').Value := DateToStr (DateTimePicker9.Date);

DataModule1.ADO_Sotrudniki.FieldByName ('Dolgnost').Value := ComboBox7. Text;

DataModule1.ADO_Sotrudniki.FieldByName ('DataPost').Value := DateToStr (DateTimePicker10.Date);

BitBtn11Click (Sender); // очищаем поля ввода

DataModule1.ADO_Sotrudniki.Last; // на последнюю запись

end;

end;

procedure TForma_Glavnaya.BitBtn13Click (Sender: TObject);

begin

DataModule1.ADO_Sotrudniki.Cancel; // отмена редактирвоания

end;

procedure TForma_Glavnaya.BitBtn14Click (Sender: TObject);

begin

DataModule1.ADO_Sotrudniki.Edit; // изменить запись

DataModule1.ADO_Sotrudniki.fieldbyname ('Data_rog').value:=DateToStr (DateTimePicker11.Date);

DataModule1.ADO_Sotrudniki.fieldbyname ('Data_vyd').value:=DateToStr (DateTimePicker12.Date);

DataModule1.ADO_Sotrudniki.fieldbyname ('DataPost').value:=DateToStr (DateTimePicker13.Date);

DataModule1.ADO_Sotrudniki.Post; // подтвердить изменения

end;

procedure TForma_Glavnaya.N3Click (Sender: TObject);

begin

F_LKS.show; // показать форму печати личной карточки сотрудника

end;

procedure TForma_Glavnaya.ComboBox3Change (Sender: TObject);

begin

edit5.Visible:=(ComboBox3.Text<>'E'); // если категория Е — прицеп — скрыть элементы

edit8.Visible:=(ComboBox3.Text<>'E') ;

edit9.Visible:=(ComboBox3.Text<>'E') ;

Label4.Visible:=(ComboBox3.Text<>'E') ;

Label8.Visible:=(ComboBox3.Text<>'E') ;

Label9.Visible:=(ComboBox3.Text<>'E') ;

end;

procedure TForma_Glavnaya.ComboBox5Change (Sender: TObject);

begin

DBEdit6.Visible:=(ComboBox5.Text<>'E'); // если категория Е — прицеп — скрыть элементы

DBEdit10.Visible:=(ComboBox5.Text<>'E') ;

DBEdit11.Visible:=(ComboBox5.Text<>'E') ;

Label24.Visible:=(ComboBox5.Text<>'E') ;

Label17.Visible:=(ComboBox5.Text<>'E') ;

Label18.Visible:=(ComboBox5.Text<>'E') ;

end;

procedure TForma_Glavnaya.ComboBox9Change (Sender: TObject);

begin

Datamodule1.ADO_Sotrudniki.Refresh; // обновляем таблицу

Datamodule1.ADO_Sotrudniki.First; // переходим к первой записи

while not (Datamodule1.ADO_Sotrudniki.EOF) do // до конца таблицы делаем…

begin

if ComboBox9. Text = string (Datamodule1.ADO_Sotrudniki.FieldValues['Fam']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Imya']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Otch']) then

Label70.Caption:=Datamodule1.ADO_Sotrudniki.Fieldbyname ('id').asstring;

Datamodule1.ADO_Sotrudniki.Next; // к следующей записи

end;

end;

ПРИЛОЖЕНИЕ 6(Продолжение)

procedure TForma_Glavnaya.ComboBox10Change (Sender: TObject);

begin

Datamodule1.ADO_Sotrudniki.Refresh; // обновляем таблицу

Datamodule1.ADO_Sotrudniki.First; // переходим к первой записи

while not (Datamodule1.ADO_Sotrudniki.EOF) do // до конца таблицы делаем…

begin

if ComboBox10. Text = string (Datamodule1.ADO_Sotrudniki.FieldValues['Fam']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Imya']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Otch']) then

Label73.Caption:=Datamodule1.ADO_Sotrudniki.Fieldbyname ('id').asstring;

Datamodule1.ADO_Sotrudniki.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.N15Click (Sender: TObject);

begin

PageControl1.ActivePageIndex:=0; // на первую вкладку

Obn_Vladelcev; // обновляем список владельцев

end;

procedure TForma_Glavnaya.N16Click (Sender: TObject);

begin

PageControl1.ActivePageIndex:=1; // на вторую вкладку

end;

procedure TForma_Glavnaya.N17Click (Sender: TObject);

begin

PageControl1.ActivePageIndex:=2;

end;

procedure TForma_Glavnaya.N18Click (Sender: TObject);

begin

PageControl1.ActivePageIndex:=3;

end;

procedure TForma_Glavnaya.Edit19KeyPress (Sender: TObject; var Key: Char);

begin

if key=#13 then // если нажат ентер

begin

key:=#0; // нулим клавишу чтобы не было звука

Button5Click (Sender); // поиск

end;

end;

procedure TForma_Glavnaya.Button5Click (Sender: TObject);

var field: string; // поле по котор. поиск

begin

if Edit19. Text <> '' then // если параметр поиска не пуст

begin // выбираем поле по выбранному индексу в списке ComboBox11

if ComboBox11. ItemIndex= 0 then field:='Id' else

if ComboBox11. ItemIndex= 1 then field:='vladelec' else

if ComboBox11. ItemIndex= 2 then field:='regnum' else

if ComboBox11. ItemIndex= 3 then field:='Datareg' else

if ComboBox11. ItemIndex= 4 then field:='marka' else

if ComboBox11. ItemIndex= 5 then field:='kategoriya' else

if ComboBox11. ItemIndex= 6 then field:='god' else

if ComboBox11. ItemIndex= 7 then field:='n_dvig' else

if ComboBox11. ItemIndex= 8 then field:='n_shassi' else

if ComboBox11. ItemIndex= 9 then field:='n_kuzov' else

if ComboBox11. ItemIndex= 10 then field:='cvet' else

if ComboBox11. ItemIndex= 11 then field:='moshn' else

if ComboBox11. ItemIndex= 12 then field:='rab_ob' else

if ComboBox11. ItemIndex= 13 then field:='tip_dv' else

if ComboBox11. ItemIndex= 14 then field:='raz_massa' else

if ComboBox11. ItemIndex= 15 then field:='massa' else

if ComboBox11. ItemIndex= 16 then field:='Sotrudnik' ;

// осуществляем поиск, примечание loCaseInsensitive, loPartialKey — не чувствителен к регистру, поиск по части ключа

if not (DataModule1.ADO_TC.Locate (field, Edit19. Text,[loCaseInsensitive, loPartialKey])) then // если не найдена запись

begin

MessageDlg ('Ошибка — Такая запись не найдена', mtError, [mbOK], 0); // ругаемся

exit;

end;

end

end;

procedure TForma_Glavnaya.Edit3KeyPress (Sender: TObject; var Key: Char);

begin

if key=#13 then

begin

key:=#0;

Button1Click (Sender);

end;

end;

procedure TForma_Glavnaya.Button1Click (Sender: TObject);

var field: string; // поле по котор. поиск

begin

if Edit3. Text <> '' then

begin

if ComboBox12. ItemIndex= 0 then field:='Id' else

if ComboBox12. ItemIndex= 1 then field:='Fam' else

if ComboBox12. ItemIndex= 2 then field:='Imya' else

if ComboBox12. ItemIndex= 3 then field:='Otch' else

if ComboBox12. ItemIndex= 4 then field:='Data_rog' else

if ComboBox12. ItemIndex= 5 then field:='MestoGit' else

if ComboBox12. ItemIndex= 6 then field:='PaspSer' else

if ComboBox12. ItemIndex= 7 then field:='PaspNum' else

if ComboBox12. ItemIndex= 8 then field:='Data_vyd' else

if ComboBox12. ItemIndex= 9 then field:='Num_vod_udost' else

if ComboBox12. ItemIndex= 10 then field:='Data_vud_vu' else

if ComboBox12. ItemIndex= 11 then field:='Kategorii' ;

if not (DataModule1.ADO_Vladelcu.Locate (field, Edit3. Text,[loCaseInsensitive, loPartialKey])) then

begin

MessageDlg ('Ошибка — Такая запись не найдена', mtError, [mbOK], 0);

exit;

end;

end

end;

procedure TForma_Glavnaya.Edit13KeyPress (Sender: TObject; var Key: Char);

begin

if key=#13 then

begin

key:=#0;

Button2Click (Sender);

end;

end;

procedure TForma_Glavnaya.Button2Click (Sender: TObject);

var field: string; // поле по котор. поиск

begin

if Edit13. Text <> '' then

begin

if ComboBox13. ItemIndex= 0 then field:='Id' else

if ComboBox13. ItemIndex= 1 then field:='Fam' else

if ComboBox13. ItemIndex= 2 then field:='Imya' else

if ComboBox13. ItemIndex= 3 then field:='Otch' else

if ComboBox13. ItemIndex= 4 then field:='Data_rog' else

if ComboBox13. ItemIndex= 5 then field:='MestoGit' else

if ComboBox13. ItemIndex= 6 then field:='PaspSer' else

if ComboBox13. ItemIndex= 7 then field:='PaspNum' else

if ComboBox13. ItemIndex= 8 then field:='Data_vyd' else

if ComboBox13. ItemIndex= 9 then field:='Dolgnost' else

if ComboBox13. ItemIndex= 10 then field:='DataPost' ;

if not (DataModule1.ADO_Sotrudniki.Locate (field, Edit13. Text,[loCaseInsensitive, loPartialKey])) then

begin

MessageDlg ('Ошибка — Такая запись не найдена', mtError, [mbOK], 0);

exit;

end;

end

end;

procedure TForma_Glavnaya.N12Click (Sender: TObject);

begin

F_TTO.show;

end;

procedure TForma_Glavnaya.N19Click (Sender: TObject);

begin

F_AKT_TO.Show;

end;

procedure TForma_Glavnaya.ComboBox14Change (Sender: TObject);

begin

memo1.Visible:=ComboBox14.ItemIndex=1; // скрываем поле ввода неисправности авто при прохождении ТО

Label80.Visible:=ComboBox14.ItemIndex=1; // и подпись

end;

procedure TForma_Glavnaya.DBGrid4Enter (Sender: TObject);

begin

DataModule1.ADO_TO.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.DBGrid4TitleClick (Column: TColumn);

var i: integer;

begin

with DataModule1. ADO_TO do

begin

DisableControls;

IndexFieldNames := Column. FieldName;

// Восстанавливаем настройки заголовка

for i:=0 to DBGrid4.Columns.Count-1 do

DBGrid4.Columns[i]. Title.Font.Color:=clblack;

Column.Title.Font.Color := clred;

EnableControls;

end;

end;

procedure TForma_Glavnaya.PageControl5Change (Sender: TObject);

begin

Obn_Sotrudnikov; // перезагружаем списки

Obn_RegNum;

DataModule1.ADO_TO.Refresh; // обновляем таблицу

end;

procedure TForma_Glavnaya.ComboBox17Change (Sender: TObject);

begin

Datamodule1.ADO_Sotrudniki.Refresh; // обновляем таблицу Клиентов

Datamodule1.ADO_Sotrudniki.First; // переходим к первой записи

while not (Datamodule1.ADO_Sotrudniki.EOF) do // до конца таблицы делаем…

begin

if ComboBox17. Text = string (Datamodule1.ADO_Sotrudniki.FieldValues['Fam']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Imya']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Otch']) then

Label98.Caption:=Datamodule1.ADO_Sotrudniki.Fieldbyname ('id').asstring;

Datamodule1.ADO_Sotrudniki.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.ComboBox18Change (Sender: TObject);

begin

Datamodule1.ADO_TC.Refresh; // обновляем таблицу

Datamodule1.ADO_TC.First; // переходим к первой записи

while not (Datamodule1.ADO_TC.EOF) do // до конца таблицы делаем…

begin

if ComboBox18. Text = string (Datamodule1.ADO_TC.FieldValues['Regnum']) then

begin

Label99.Caption:=Datamodule1.ADO_TC.Fieldbyname ('id').asstring;

break;

end;

Datamodule1.ADO_TC.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.ComboBox19Change (Sender: TObject);

begin

Datamodule1.ADO_Sotrudniki.Refresh; // обновляем таблицу

Datamodule1.ADO_Sotrudniki.First; // переходим к первой записи

while not (Datamodule1.ADO_Sotrudniki.EOF) do // до конца таблицы делаем…

begin

if ComboBox19. Text = string (Datamodule1.ADO_Sotrudniki.FieldValues['Fam']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Imya']+' '+Datamodule1.ADO_Sotrudniki.FieldValues['Otch']) then

Label88.Caption:=Datamodule1.ADO_Sotrudniki.Fieldbyname ('id').asstring; // выводим код

Datamodule1.ADO_Sotrudniki.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.ComboBox20Change (Sender: TObject);

begin

Datamodule1.ADO_TC.Refresh; // обновляем таблицу

Datamodule1.ADO_TC.First; // переходим к первой записи

while not (Datamodule1.ADO_TC.EOF) do // до конца таблицы делаем…

begin

if ComboBox20. Text = string (Datamodule1.ADO_TC.FieldValues['Regnum']) then

begin

Label91.Caption:=Datamodule1.ADO_TC.Fieldbyname ('id').asstring; // выводим код

break;

end;

Datamodule1.ADO_TC.Next; // к следующей записи

end;

end;

procedure TForma_Glavnaya.BitBtn19Click (Sender: TObject);

begin

Obn_Sotrudnikov; // перезагружаем списки

Obn_RegNum;

ComboBox14.ItemIndex:=0; // на первую запись в списке

Memo1.Clear; // очищаем поле ввода неисправности

end;

procedure TForma_Glavnaya.ComboBox15Change (Sender: TObject);

begin

dbmemo1.Visible:=ComboBox15.ItemIndex=1; // скрываем поле неисправности в зависимости: если в списке Да — т. е. допущена к эксплуатации

Label90.Visible:=ComboBox15.ItemIndex=1;

end;

procedure TForma_Glavnaya.BitBtn20Click (Sender: TObject);

begin

{проверка на заполнение полей}

if (ComboBox17.Text='') or (ComboBox18.Text='') or ((ComboBox14.ItemIndex=1) and (memo1.Text='')) then

begin

MessageDlg ('Ошибка — Для добавления записи заполните форму.', mtError, [mbOK], 0);

exit;

end;

f MessageDlg ('Вы действительно хотите добавить новую запись?', mtConfirmation, [mbOK, mbCancel], 0)= mrok then

begin

DataModule1.ADO_TO.Insert; // вставляем новую запись

DataModule1.ADO_TO.FieldByName ('Sotrudnik').Value := Label98. Caption;

DataModule1.ADO_TO.FieldByName ('kod_TC').Value := Label99. Caption;

DataModule1.ADO_TO.FieldByName ('Data').Value := datetostr (DateTimePicker16.Date);

DataModule1.ADO_TO.FieldByName ('Ekspl').Value := ComboBox14. Text;

if ComboBox14. ItemIndex=1 then DataModule1. ADO_TO.FieldByName ('Zamec').Value := Memo1. Text;

BitBtn19Click (Sender); // очищаем поля ввода

DataModule1.ADO_TO.Last; // на последнюю запись

end;

end;

procedure TForma_Glavnaya.BitBtn23Click (Sender: TObject);

begin

DataModule1.ADO_TO.Cancel; // отмена редактирования

end;

procedure TForma_Glavnaya.BitBtn24Click (Sender: TObject);

begin

DataModule1.ADO_TO.Edit; // изменение записи

DataModule1.ADO_TO.FieldByName ('Sotrudnik').Value := Label88. Caption;

DataModule1.ADO_TO.FieldByName ('kod_TC').Value := Label91. Caption;

DataModule1.ADO_TO.FieldByName ('Data').Value := datetostr (DateTimePicker15.Date);

DataModule1.ADO_TO.FieldByName ('Ekspl').Value := ComboBox15. Text;

DataModule1.ADO_TO.Post; // подтверждение

end;

procedure TForma_Glavnaya.Edit29KeyPress (Sender: TObject; var Key: Char);

begin

if key=#13 then // если ентер

begin

key:=#0;

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