Постановление на учет автомобилей. Прохождение техосмотра
Автоматизации рабочих мест работников ГИБДД для регистрации транспортного средства, их владельца и составления отчетов по прохождению техосмотра. Организация ввода/вывода и пользовательского интерфейса. Общие сведения, структурная схема программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.06.2013 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное государственное образовательное учреждение
среднего профессионального образования
КОСТРОМСКОЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ
Специальность: 230105 «Программное обеспечение вычислительной техники и автоматизированных систем »
Пояснительная записка к курсовому проекту
База данных на тему:
«Постановление на учет автомобилей. Прохождение техосмотра»
Выполнили
Студенты группы 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))+'\pictures\fon.bmp');
Image2.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image3.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image4.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image5.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image6.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image7.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image8.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image9.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image10.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image11.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image12.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image13.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image14.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.bmp');
Image15.Picture.LoadFromFile(ExtractFileDir(ParamStr(0))+'\pictures\fon.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;
Подобные документы
Требования к составу и параметрам технических средств. Выбор языка программирования. Структурная схема программного продукта. Проектирование пользовательского интерфейса. Создание системы и заполнение базы данных. Разработка форм ввода-вывода информации.
курсовая работа [1,2 M], добавлен 30.01.2016Использование программой функции ввода-вывода данных для реализации дружественного интерфейса с пользователем. Функции консоли и особенности их применения для обеспечения аккуратного ввода информации и упорядоченного вывода. Обзор стандартных функций.
лабораторная работа [40,4 K], добавлен 06.07.2009Структура и информационные потоки объекта автоматизации, основные требования к разрабатываемой системе. Моделирование предметной области, структуры данных, форм ввода и вывода информации, отчетов, Требование к оборудованию и программному обеспечению.
курсовая работа [1,0 M], добавлен 14.06.2014Разработка программы для автоматизации складского учета. Описание предметной области и технологии функционирования информационной системы. Физическое проектирование базы данных. Создание экранных форм ввода-вывода, отчетов, модулей для прикладных решений.
курсовая работа [3,6 M], добавлен 08.12.2013Общие сведения о языке С++. Операции и выражения, стандартные функции и структура программы. Использование функций при программировании на С++. Основные алгоритмы обработки массивов. Статические и динамические матрицы. Организация ввода-вывода в C++.
учебное пособие [6,7 M], добавлен 28.03.2014Создание программы на платформе "1С: Предприятие" для учета продуктов, доходов, формирования печатных форм документов. Логическая и физическая модель информационной системы. Разработка экранных форм ввода-вывода, отчетов и функциональных модулей.
курсовая работа [2,4 M], добавлен 26.11.2013Внедрение программы "Частный предприниматель" для оперативной обработки информации и автоматизации работы с клиентами и учета товаров. Основные функции системы. Построение информационно-логической модели. Разработка пользовательского интерфейса.
контрольная работа [1,5 M], добавлен 30.11.2009Изучение и проектирование автоматического интерфейса ввода-вывода, состоящего из канала измерения в указанных пределах и канала управления напряжением в определенном диапазоне с максимальной приведенной погрешностью и ограниченным временем измерения.
контрольная работа [93,1 K], добавлен 31.08.2010Необходимые для разработки автоматизированной информационной системы программные и технические средства. Иерархическая схема наследования объектов. Добавление новой записи. Формирование отчетов в формате Word. Инструментальные средства разработки.
дипломная работа [996,2 K], добавлен 20.06.2014Организация и назначение консольного ввода-вывода, необходимые для этого функции и их применение. Библиотеки, организующие функционирование потокового ввода-вывода, выполняемые операции. Арифметические операции и математические функции в среде С++.
лабораторная работа [33,8 K], добавлен 15.07.2009