Пример отчёта по технологической практике 2010 №1

advertisement
Федеральное агентство по образованию РФ
ГОУ ВПО «Волжский государственный инженерно-педагогический
университет»
кафедра «Математика и информатика»
ОТЧЕТ
по практике по профилю специальности
Студента Дремина А.С.
Группы № ИВТ – 05 - 1
База практики Администрация Шахунского района
Руководитель от организации Шибаева Т.А.
Руководитель от ВГИПУ Ширшова Н.Г.
г. Н. Новгород
2008 г.
Содержание:
Введение…………………………………………………………………………...3
Раздел 2. Индивидуальное задание (Разработка или модификация баз
данных)……………………………………………………………………………5
2.1. Постановка задачи…………………………………………………………5
2.2. Алгоритм решения задачи………………………………………………...6
2.3. Программный продукт для решения задачи……………………………..8
2.4. Руководство
пользователя
по
эксплуатации,
разработанной
автоматизированной системе……………………………………………12
Заключение……………………………………………………………………….19
Список литературы………………………………………………………………20
Приложение………………………………………………………………………21
2
Введение
Цели практики - получение практического представления о технологии
программирования, информационных и программных отделов предприятия, а
также закрепление и углубление теоретических знаний.
Технологическая практика направлена на:
 Выполнение государственных требований к минимуму содержания и
уровню
подготовки
выпускников
в
соответствии
с
получаемой
специальностью и присваиваемой квалификацией;
 На закрепление, расширение, углубление и систематизацию знаний, и
приобретение первоначального практического опыта.
Основными задачами технологической практики являются:
 Приобретение
практических
умений
и
навыков
по
видам
деятельности техника;
 Подготовка будущего специалиста к самостоятельной
трудовой
деятельности;
 Развитие
и
углубление
навыков
разработки
и
настройки
программного обеспечения;
 Изучение и освоение программных систем, пакетов прикладных
программ (ППП), специализированных программных продуктов.
В процессе прохождения практики я должна уметь:
 Пользоваться технической документацией по автоматизированной
обработке информации для конкретных систем;
 Разработать алгоритм программной реализации поставленной задачи;
 Создать программный продукт по разработанному алгоритму;
 Выполнить отладку и тестирование программного продукта;
 Применять математические методы для решения оптимизационных
задач;
 Составлять инструкцию к программным средствам;
 Реализовать функции программной защиты информации.
Задачами моей технологической практики являются:
 Закрепление, углубление и совершенствование теоретических знаний;
3
 Формирование и развитие профессиональных умений и навыков,
профессионального
сознания
и
профессионально
значимых
качеств
личности;
 Развитие профессиональной культуры;
 Формирование целостного представления об информационном и
технологическом процессе современного предприятия;
4
Раздел 2. Индивидуальное задание (Разработка или модификация баз
данных)
2.1. Постановка задачи
Требуется создать в среде Delphi приложение, предназначенное для
ведения учета о доходах работников администрации. База данных состоит из
6 таблиц: справочника «Отдел», «Должность», «Начисление», «Сотрудники»,
«Данные о сотрудниках», «Отработанные дни» и операционных таблиц
«Просмотр», «Заработная плата». Таблицы необходимо создать и хранить в
формате Paradox.
Необходимо
будет
создать
форму,
которая
будет
называться
«Добавление сотрудника», из которой введенная информация автоматически
будет отправляться в таблицы «Сотрудники» и «Данные о сотрудниках». В
меню «Справка» на вкладке «О программе» разместить информацию о
работе программы.
Программа представляет собой список сотрудников, их должность, в
каком отделе работаю, заработная плата по месяцам. Список можно
обновлять, а так же из него можно извлекать данные на какую-либо
сотрудника, задав предварительную характеристику.
Программа должна иметь простой пользовательский интерфейс.
5
2.2. Алгоритм решения задачи
Разработать базу данных, которая позволит получать необходимую
информацию о структуре предприятия, о ее сотрудниках и об их доходах за
любой период времени. Данная БД должна быть простой и удобной в
использовании для пользователя.
Для создания базы данных я проанализировала и изучила примерную
программу по начислению заработной платы со своим руководителем. В ходе
практики мной были рассмотренные документы, справки, материалы.
Пришлось изучить определенную литературу по начислению зарплаты.
Возникли некоторое затруднения, но мой руководитель все доступно мне
объяснил. После всего изученного я приступила к созданию модели
программы. На черновике прорисовала все допустимые варианты работы
программы. Нашла наиболее допустимый вариант и приступила к созданию.
В создание программы входят разработка основного меню и создание
БД. Программа создается и работает в несколько этапов.
На первой и главной форме разместим основное меню всей программы,
которое включает в себя:
Файл
Справочник
Выход
Отчеты
Справка
Отдел
Добавление сотрудника
О программе
Должность
Просмотр
Об организации
Начисление
Заработная плата
Лицензия
Сотрудники
Данные о сотрудниках
Отработанные дни
По каждому пункту будет осуществляться переход на указанную
форму, где будет отражаться определенная информация.
Структура базы данных включает в себя 6 таблицы (отдел, должность,
начисление, сотрудники, данные о сотрудниках, отработанные дни). Таблица
«Отдел»
содержит
информацию
обо
всех
имеющихся
отделов
в
администрации. Таблица «Должность» содержит информацию обо все
имеющихся должностей в администрации. Таблица «Начисление» хранит
6
оклад сотрудников. Таблицы «Сотрудники» и «Данные о сотрудниках» будет
заполняться с помощью формы «Добавления сотрудника», в которых будет
отображена информация о сотрудниках. Таблица «Отработанные дни»
включает себя время работы сотрудника по месяцам.
Запросы базы данных сформированы на основе таблиц с данными. С
помощью запросов можно получить информацию о конкретном сотруднике,
в каком отделе он работает и на какой должности находится, а так же его
доходы по месяцам.
Описание всех кнопок и процедур смотри в приложении.
7
2.3. Программный продукт для решения задачи
В качестве индивидуального задания разработана структуру базы
данных с помощью средств Delphi 7, которая предназначена для хранения
необходимой информации о структуре предприятия, о ее сотрудниках и об их
доходах за любой период времени.
Все операции необходимые для создания информационной системы
выполняются с помощью программы Database Desktop, Конструктора формы
и Инспектора объектов. Работа над информационной системой состоит из
следующих основных этапов:
 создание БД;
 создание приложения.
Кроме приложения и БД, в информационную систему также входят
вычислительная система и СУБД. В качестве СУБД выбирается Delphi.
Для создания приложений БД используются компоненты. Кроме
компонентов, Delphi предоставляет разработчику специальные объекты,
например, объекты типа Field. Как и другие элементы управления Delphi,
связанные с БД компоненты бывают визуальные и не визуальные.
Нужные компоненты, используемые для работы с БД, находятся на
различных вкладках:
- на странице Data Access
находятся не визуальные компоненты,
предназначенные для организации доступа к данным. Здесь выбирается
DataSource (источник данных).
- на странице Data Controls расположены визуальные компоненты,
предназначенные для управления данными. Здесь выбирается DBGrid (сетка,
или таблица);
- страница BDE стала включать на один компонент меньше и содержит
компоненты, предназначенные для управления данными с использованием
BDE. Здесь выбираем Table и Query (набор данных, основанный на таблице
БД).
Так как для доступа к файлам (таблицам) базы данных библиотека BDE
использует не имя каталога, в котором находятся файлы, а его псевдоним, то
8
перед тем, как приступить к созданию таблиц новой базы данных,
необходимо создать псевдоним для этой базы данных.
Таким
образом,
процесс
создания
базы
данных
может
быть
представлен как последовательность следующих шагов:
 создание каталога;
 создание псевдонима;
 создание таблиц.
После того как определена структура записей базы данных, можно
приступить непосредственно к созданию таблицы. Таблицы создаются при
помощи входящей в состав Delphi утилиты Database Desktop.
Для того чтобы создать новую таблицу, нужно выбором из меню Tools
команды Database Desktop запустить Database Desktop. Затем в появившемся
окне утилиты Database Desktop надо из меню File выбрать команду New и в
появившемся списке выбрать тип создаваемого файла — Table. Затем в
открывшемся диалоговом окне
Create Table
следует выбрать тип
создаваемой таблицы (значением по умолчанию является тип Paradox 7).
В результате открывается диалоговое окно Create Paradox 7 Table, в
котором можно определить структуру записей таблицы.
Для каждого поля таблицы необходимо задать имя, тип и, если нужно,
размер поля. Имя поля используется для доступа к данным. В качестве имени
поля, которое вводится в колонку Field Name, можно использовать
последовательность из букв латинского алфавита и цифр длиной не более 25
символов.
Index (Первичный индекс) для ключа. После нажатия кнопки Open из
выбранной таблицы в новую копируются описания полей, а также те
элементы, для которых установлен флажок. Если какой-либо элемент в
структуре копируемой таблицы отсутствует, то состояние флажка не имеет
значения.
Впоследствии скопированную структуру можно настраивать, изменяя,
добавляя или удаляя ее отдельные элементы.
9
После определения структуры таблицы ее необходимо сохранить,
нажав кнопку Save As и указав расположение таблицы на диске и ее имя. В
результате на диск записывается новая таблица, первоначально пустая, при
этом все необходимые файлы создаются автоматически.
При создании приложения главной задачей является конструирование
форм, в простейшем случае – одной формы.
Вид формы приложения на этапе проектирования, где в форме
размещены компоненты Tablel, DataSourcel, DBGridl.
Компонент Tablel обеспечивает взаимодействие с таблицей БД. Для
связи с требуемой таблицей нужно установить в соответствующие значения
свойство DataBaseName, указывающее путь к БД, и свойство TableName,
указывающее имя таблицы. После задания таблицы для открытия набора
данных свойство АCTIV должно быть установлено в значение True.
Значение True свойства Active нужно устанавливать после задания
таблицы БД т. е. после установки нужных значений свойств DataBaseName и
TableName. Имя таблицы лучше выбирать в раскрывающемся списке в поле
значения свойства TableName. Если путь к БД (свойство DataBaseName)
задан правильно, то в списке отображаются главные файлы всех доступных
таблиц.
Компонент DataSourcel является промежуточным звеном между
компонентом Tablel, соединенным с реальной таблицей БД, и визуальными
компонентами: DBGridl и DBNavigatorl, с помощью которых пользователь
взаимодействует с этой таблицей. На компонент Tablel, с которым связан
компонент DataSourcel, указывает свойство DataSet последнего. Компонент
DBGridl отображает содержимое таблицы БД в виде сетки, в которой
столбцы соответствуют полям, а строки – записям таблицы. По умолчанию
пользователь может просматривать и редактировать данные. Компонент
DBNavigatorl
позволяет
пользователю
перемещаться
по
таблице,
редактировать, вставлять и удалять записи. Компоненты DBGridl и
DBNavigatorl связываются со своим источником данных – компонентом
DataSourcel – через свойство DataSource.
10
Разрабатывая приложение, можно задавать значения всех свойств
компонентов с помощью Инспектора объектов. При этом требуемые
значения либо непосредственно вводятся в поле, либо выбираются в
раскрывающихся списках. В последнем случае приложение создается с
помощью мыши и не требует набора каких-либо символов на клавиатуре.
В дальнейшем при организации приложений, использующих механизм
доступа BDE, предполагается, что названные компоненты связаны между
собой именно таким образом, и свойства, с помощью которых эта связь
осуществляется, не рассматриваются.
Для
автоматизации
процесса
создания
формы,
использующей
компоненты для операций с БД, можно вызвать Database Form Wizard
(Мастер форм баз данных). Этот Мастер расположен на странице Business
Хранилища объектов.
Мастер позволяет создавать формы для работы с отдельной таблицей и
со связанными таблицами, при этом можно использовать наборы данных
Table или Quегу.
11
2.4. Руководство пользователя по эксплуатации, разработанной
автоматизированной системе
Программа «База данных Администрации Шахунского района»
предназначена для хранения необходимой информации о
структуре
предприятия, о ее сотрудниках и об их доходах за любой период времени.
Данная программа имеет простой пользовательский интерфейс. Для
запуска этой программы необходимо запустить программу Borland Delphi 7.
Запустив «Базу данных Администрации Шахунского района» с помощью
клавиши (F9), открывается главная форма.
Данная форма выглядит следующим образом:
На форме содержится меню, которое включает в себя:
 Файл;
 Справочник;
 Отчеты;
 Справка.
Нажав на меню Файл/Выход мы выйдем из программы.
Нажав на меню Справочник, откроются подпункты: Отдел, Должность,
Начисление, Сотрудники, Данные о сотрудниках, Отработанные дни.
12
Рассмотрим вышеперечисленные подпункты:
На форме «Отдел» идет заполнение таблицы. В таблицу заносятся
отделы администрации. В таблицу можно добавлять новые отделы и удалять
старые отделы.
На форме «Должность» идет заполнение таблицы. В таблицу заносятся
должности работников. В таблицу можно добавлять новые должности и
удалять должности.
13
На форме «Начисление» идет заполнение таблицы. В таблицу
заносятся должности, которые выбираются из списка и проставляется оклад
каждой должности. В таблице можно добавлять и удалять строки.
На форме «Сотрудники» идет автоматическое заполнение таблицы с
формы
«Добавление
сотрудника»,
которая
находится
в
меню
Отчеты/Добавление сотрудника. В данной таблице можно просмотреть
информацию о сотрудниках администрации, как в целом, так и в отдельности
по каждому сотруднику. Реализуется с помощью операции «поиск». Для
этого нужно ввести фамилию, поставить флажок «По фамилии» и нажать
кнопку поиск. Выведется информация о нужном сотруднике.
Пример, введем в строку для поиска фамилию, например, Смирнов.
Программа найдет сотрудника с введенной фамилией и данные о нем.
Выглядит следующим образом:
Для того чтобы обратно вернуться в таблицу необходимо нажать
кнопку «Возврат в таблицу» таблица вернется в первоначальное состояние. С
помощью
операции
«сортировка»
данные
в
таблице
выстроятся
в
алфавитном порядке. Кнопка «Добавить» нужна для добавления нового
сотрудника,
который
пришел
на
работу.
Программа
автоматически
переходит на форму «Добавление сотрудника», где вводим информацию о
14
новом сотруднике. Кнопка «Удалить» нужна для удаления сотрудника из
базы.
На форме «Данные о сотруднике» идет автоматическое заполнение
таблицы с формы «Добавление сотрудника», которая находится в меню
Отчеты/Добавление сотрудника. В данной таблице отражается информацию
о сотрудниках по индивидуальному номеру, а так же табельный номер,
номер приказа, отдел и должность.
На форме «Отработанные дни» идет заполнение таблицы. Выбираем
нужный отдел, должность и поле Фамилия выбираем нужную фамилию. В
полях месяц, количество рабочих дней и количество отработанных дней
проставляем нежную информацию. Затем нажимаем по кнопке «Добавить в
таблицу» и в таблицу заносятся месяц количество отработанных дней по
каждому работнику и количество рабочих дней в месяце. Так же на форме
отображается подсказка, сколько рабочих дней в каждом месяце.
Нажав
на
меню
Отчеты,
откроются
подпункты:
Добавление
сотрудника, Просмотр, Заработная плата.
15
Рассмотрим вышеперечисленные подпункты:
На форме «Добавление сотрудника» вводится информация о работнике
администрации. Данная информация отправляется автоматически в таблицы
«Сотрудники» и «Данные о сотруднике». Если одновременно вводится
несколько работников, то после заполнения первого необходимо нажать на
кнопку «Добавить еще». Для завершения работы нажать кнопку «закрыть».
На форме «Просмотр» отображается информация о всех работниках
администрации. С помощью операции «Поиск» можно просмотреть
информацию о сотруднике. Для этого в поле «Данные для поиска» нужно
ввести либо фамилию, либо отдел, либо должность и соответственно
поставить галочку «По фамилии», «По отделу», «По должности» и нажать
кнопку
поиск.
Если
поиск
осуществлялся
по
фамилии,
выведется
информация о конкретном сотруднике. Если по отделу, то все сотрудники,
16
работающие в этом отделе. Если же по должности, все сотрудники с этой
должностью. Аналогично осуществляется сортировка. Кнопка «Возврат в
таблицу» возвращает все в первоначальный вид.
На форме «Заработная плата» отображается информация о доходах
работников
администрации.
С
помощью
операции
«поиск»
можно
просмотреть информацию о сотруднике. Для этого в поле «Данные для
поиска» нужно ввести либо фамилию, либо отдел, либо должность, либо
месяц и соответственно поставить галочку «По фамилии», «По отделу», «По
должности», «По месяцу» и нажать кнопку «Поиск». Если поиск
осуществлялся
по
фамилии,
выведется
информация
о
конкретном
сотруднике. Если по отделу, то все сотрудники, работающие в этом отделе.
Если же по должности, все сотрудники с этой должностью. Если по месяцу,
то соответствующий месяц. Аналогично осуществляется сортировка. Кнопка
«Возврат в таблицу» возвращает все в первоначальный вид.
Нажав на меню Справка, откроются подпункты: О программе, Об
организации, Лицензия.
На форме «О программе» отражена информация по эксплуатации,
разработанной программы.
17
На форме «Об организации» отражена информация об Администрации
Шахунского района.
На
форме
«Лицензия»
отражена
информация
о
разработчике
программы.
18
Заключение
В течение технологической практики выполнено индивидуальное
задание, которое заключалось в разработке структуры базы данных,
отображающую условия запроса по данным связанных таблиц и описание
процессов обработки данных Администрации Шахунского района. Данная
программа проста и удобна для использования.
В период моей практики, которая длилась со 2 июня по 13 июля 2008
года, мне необходимо было закрепить, углубить и усовершенствовать
теоретические знания; сформировать и развить профессиональные умения и
навыки, профессиональные сознание и профессионально значимые качества
личности; развить профессиональную культуру.
19
Список литературы:
1. Бобровский С. Delphi 7. Учебный курс. - СПб: Питер, 2003
2. Бабушкина И., Окулов С.. Практикум по объектноориентированному программированию.– М.: БИНОМ. Лаборатория
Знаний, 2004.
3. Гутман Г.Н. Учебные мини – проекты на Delphi. // Библиотечка
«Первого сентября». Серия «Информатика». – 2005. - № 3.
4. Культин Н.. Основы программирования в Delphi –7. - СПб.: БХВ
– Петербург, 2005.
20
ПРИЛОЖЕНИЕ
21
Описание программы
1 Форма TFrmBD: «База данных: Администрация Шахунского района»
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, StdCtrls, ExtCtrls, DB, DBTables, jpeg;
type
TFrmBD = class(TForm)
MainMenu1: TMainMenu;
XPManifest1: TXPManifest;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
N8: TMenuItem;
N9: TMenuItem;
N10: TMenuItem;
Label1: TLabel;
Label2: TLabel;
N12: TMenuItem;
Sotrudniki: TTable;
DS_Sotrudniki: TDataSource;
SotrudnikiFamiliya: TStringField;
SotrudnikiImya: TStringField;
SotrudnikiOtchestvo: TStringField;
SotrudnikiOblast: TStringField;
SotrudnikiRaion: TStringField;
SotrudnikiGorod: TStringField;
SotrudnikiUlica: TStringField;
SotrudnikiDom: TFloatField;
SotrudnikiKorpus: TFloatField;
SotrudnikiKvartira: TFloatField;
SotrudnikiDataRegistracii: TDateField;
SotrudnikiDataRojdenya: TDateField;
SotrudnikiNomerPasporta: TFloatField;
SotrudnikiDataVydachi: TDateField;
SotrudnikiPasportVydan: TStringField;
Dolzhnosti: TTable;
DolzhnostiDoljnost: TStringField;
Otdel: TTable;
OtdelOtdel: TStringField;
N13: TMenuItem;
N14: TMenuItem;
N15: TMenuItem;
N16: TMenuItem;
N4: TMenuItem;
DS_Otdell: TDataSource;
T_Otdell: TTable;
DS_Dol: TDataSource;
DS_Otdel: TDataSource;
22
T_OtdellID_D: TFloatField;
T_OtdellTab_Num: TFloatField;
T_OtdellPrik_Num: TFloatField;
T_OtdellOtdel: TStringField;
T_OtdellDol: TStringField;
SotrudnikiID_S: TFloatField;
SotrudnikiINN: TStringField;
N17: TMenuItem;
Image2: TImage;
N11: TMenuItem;
DS_Dni: TDataSource;
Dni: TTable;
Label3: TLabel;
Timer1: TTimer;
Label4: TLabel;
procedure N1Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N10Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N8Click(Sender: TObject);
procedure N9Click(Sender: TObject);
procedure N11Click(Sender: TObject);
procedure N12Click(Sender: TObject);
procedure N14Click(Sender: TObject);
procedure N16Click(Sender: TObject);
procedure N15Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmBD: TFrmBD;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit11, Unit12, Unit13;
{$R *.dfm}
// Процедура нажатия вкладки Об организация
procedure TFrmBD.N1Click(Sender: TObject);
begin
FrmOrg.ShowModal;
end;
// Процедура нажатия вкладки Просмотр
procedure TFrmBD.N3Click(Sender: TObject);
begin
FrmPros.ShowModal;
end;
// Процедура нажатия вкладки Выход
procedure TFrmBD.N10Click(Sender: TObject);
begin
Close;
23
end;
// Процедура нажатия вкладки Добавление
procedure TFrmBD.N4Click(Sender: TObject);
begin
frmADD.ShowModal;
FrmBD.Sotrudniki.Insert;
end;
// Процедура нажатия вкладки Зарплата
procedure TFrmBD.N6Click(Sender: TObject);
begin
FrmZp.ShowModal;
end;
// Процедура нажатия вкладки Поиск
procedure TFrmBD.N5Click(Sender: TObject);
begin
frmDol.Showmodal;
end;
// Процедура нажатия вкладки О программе
procedure TFrmBD.N8Click(Sender: TObject);
begin
FrmSpravka.ShowModal;
end;
// Процедура нажатия вкладки Лицензия
procedure TFrmBD.N9Click(Sender: TObject);
begin
FrmLic.Visible:=True;
FrmLic.Focused;
end;
// Процедура нажатия вкладки Отработанные дни
procedure TFrmBD.N11Click(Sender: TObject);
begin
frmDni.ShowModal;
end;
// Процедура нажатия вкладки Отдел
procedure TFrmBD.N12Click(Sender: TObject);
begin
frmOtdel.ShowModal;
end;
procedure TFrmBD.N14Click(Sender: TObject);
begin
Nachis.ShowModal;
end;
//Процедура нажатия вкладки Оттдел/Должность
procedure TFrmBD.N16Click(Sender: TObject);
begin
frmOtdell.ShowModal;
end;
//Процедура нажатия вкладки Сотрудники
procedure TFrmBD.N15Click(Sender: TObject);
begin
FrmSotrud.ShowModal;
end;
procedure TFrmBD.Timer1Timer(Sender: TObject);
begin
24
timer1.Enabled:=true;
Label3.Caption:=timetostr(now); //Установка времени
Label4.Caption:=datetostr(now); //Установка даты
end;
end.
2 Форма TFrmOrg: «Об организация»
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, StdCtrls, ExtCtrls, Buttons;
type
TFrmOrg = class(TForm)
XPManifest1: TXPManifest;
Label1: TLabel;
Label2: TLabel;
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmOrg: TFrmOrg;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit11, Unit12;
{$R *.dfm}
end.
3 Форма TFrmPros: «Просмотр»
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, Grids, DBGrids, DB, DBTables, StdCtrls, Buttons,
ExtCtrls, DBCtrls, Mask;
type
TFrmPros = class(TForm)
GroupBox2: TGroupBox;
RFam: TRadioButton;
ROtdel: TRadioButton;
RDol: TRadioButton;
GroupBox3: TGroupBox;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Qprosm: TQuery;
QFindSort: TQuery;
EFind: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn4: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
25
procedure BitBtn4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPros: TFrmPros;
implementation
uses Unit2,Unit1, Unit4, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit11, Unit12;
{$R *.dfm}
//Процедура нажатия кнопки Возврат
procedure TFrmPros.BitBtn1Click(Sender: TObject);
begin
DataSource1.DataSet:=Qprosm;
end;
//Процедура нажатия кнопки Поиск
procedure TFrmPros.BitBtn2Click(Sender: TObject);
Var find:String; // объявление новой переменной
begin
if RFam.Checked then find:='Familiya';
if ROtdel.Checked then find:='Otdel';
if RDol.Checked then find:='Dol';
QFindSort.Close; // закрыть файл-результат выполнения предыдущего запроса
QFindSort.SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
QFindSort.SQL.Add('Select Tab_Num, Prik_Num,Familiya,Imya, Otchestvo,');
QFindSort.SQL.Add('Otdel,Dol');
QFindSort.SQL.Add('from Sotr.db,Tab2.db');
QFindSort.SQL.Add('where ID_D=ID_S');
QFindSort.SQL.Add(' and '+ find+'='+ chr(39)+Efind.Text+ chr(39));
QFindSort.Active:=true; // откроем базу данных
DataSource1.DataSet:=QFindSort; ; // источник данных - таблица
end;
//Процедура нажатия кнопки Сортировка
procedure TFrmPros.BitBtn4Click(Sender: TObject);
Var Sort:String; // объявление новой переменной
begin
if RFam.Checked then Sort:='Familiya';
if ROtdel.Checked then Sort:='Otdel';
if RDol.Checked then Sort:='Dol';
QFindSort.Close; // закрыть файл-результат выполнения предыдущего запроса
QFindSort.SQL.Clear; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
QFindSort.SQL.Add('Select Tab_Num, Prik_Num,Familiya,Imya, Otchestvo,');
QFindSort.SQL.Add('Otdel,Dol');
QFindSort.SQL.Add('from Sotr.db,Tab2.db');
QFindSort.SQL.Add('where ID_D=ID_S');
QFindSort.SQL.Add('order by '+ Sort );
QFindSort.Active:=true; // откроем базу данных
DataSource1.DataSet:=QFindSort; ; // источник данных - таблица
end;
end.
26
4 Форма TfrmADD: «Добавление сотрудника»
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, StdCtrls, ExtCtrls, Buttons, Mask, DBCtrls,
ComCtrls;
type
TfrmADD = class(TForm)
XPManifest1: TXPManifest;
GroupBox1: TGroupBox;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
GroupBox2: TGroupBox;
GroupBox3: TGroupBox;
GroupBox4: TGroupBox;
GroupBox5: TGroupBox;
GroupBox6: TGroupBox;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit9: TDBEdit;
GroupBox7: TGroupBox;
GroupBox8: TGroupBox;
DateR: TDateTimePicker;
DBEdit4: TDBEdit;
DateOut: TDateTimePicker;
DBMemo1: TDBMemo;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
DateReg: TDateTimePicker;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
BitBtn2: TBitBtn;
DBEdit7: TDBEdit;
Label1: TLabel;
DBEdit8: TDBEdit;
Label5: TLabel;
DBEdit10: TDBEdit;
Label7: TLabel;
DBEdit11: TDBEdit;
Label8: TLabel;
DBEdit6: TDBEdit;
Label13: TLabel;
DBEdit15: TDBEdit;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
27
BitBtn3: TBitBtn;
Label12: TLabel;
procedure BitBtn2Click(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmADD: TfrmADD;
implementation
uses Unit2, Unit3, Unit1, Unit5, Unit6, Unit7, Unit8, Unit9, Unit10, Unit11,
Unit12;
{$R *.dfm}
// Процедура нажатия кнопки Закрыть
procedure TfrmADD.BitBtn2Click(Sender: TObject);
begin
FrmBD.Sotrudniki['DataRojdenya']:=DateR.Date; //добавление в таблицу с формы
FrmBD.Sotrudniki['DataVydachi']:=DateOut.Date; //добавление в таблицу с формы
FrmBD.Sotrudniki['DataRegistracii']:=DateReg.Date; //добавление в таблицу с формы
FrmBD.Sotrudniki['ID_S']:=FrmBD.Sotrudniki.RecordCount+1;
FrmBD.T_Otdell['ID_D']:=FrmBD.Sotrudniki.RecordCount+1;
FrmBD.T_Otdell.Next;
FrmBD.Sotrudniki.Next;
Close;
end;
// активизация формы
procedure TfrmADD.FormActivate(Sender: TObject);
begin
FrmBD.Sotrudniki.insert;
FrmBD.T_Otdell.Insert;
end;
// Процедура нажатие кнопки Добавить еще
procedure TfrmADD.BitBtn3Click(Sender: TObject);
begin
FrmBD.Sotrudniki['DataRojdenya']:=DateR.Date;
FrmBD.Sotrudniki['DataVydachi']:=DateOut.Date;
FrmBD.Sotrudniki['DataRegistracii']:=DateReg.Date;
FrmBD.Sotrudniki['ID_S']:=FrmBD.Sotrudniki.RecordCount+1;
FrmBD.T_Otdell['ID_D']:=FrmBD.Sotrudniki.RecordCount+1;
FrmBD.T_Otdell.insert;
FrmBD.Sotrudniki.insert;
end;
end.
5 Форма TFrmZP: «Заработная плата»
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, Menus, DB, Grids, DBGrids, DBTables, ExtCtrls, DBCtrls,
StdCtrls, Buttons, Mask;
28
type
TFrmZP = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TQuery;
GroupBox3: TGroupBox;
GroupBox2: TGroupBox;
RFam: TRadioButton;
ROtdel: TRadioButton;
RDol: TRadioButton;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
QFindSort: TQuery;
Efind: TEdit;
procedure FormActivate(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmZP: TFrmZP;
implementation
uses Unit2, Unit3, Unit4, Unit1, Unit6, Unit7, Unit8, Unit9, Unit10,
Unit11, Unit12;
{$R *.dfm}
procedure TFrmZP.FormActivate(Sender: TObject);
begin
Query1.Active:=false;
Query1.Active:=true; // откроем базу данных
end;
// Процедура нажатия кнопки Поиск
procedure TFrmZP.BitBtn3Click(Sender: TObject);
Var find:String;
begin
if RFam.Checked then find:='Familiya';
if ROtdel.Checked then find:='Otdel';
if RDol.Checked then find:='Dol';
if find<>'' then
begin
QFindSort.Close; // закрыть файл-результат выполнения предыдущего запроса
QFindSort.SQL.Clear;// удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
QFindSort.SQL.Add('Select Mecyac, Kol_D, Kol_R, familiya,Imya, Otchestvo, Otdel,
dol,');
QFindSort.SQL.Add ('Oklad, (Oklad*40/100) as Avans, (Oklad*0.13) as PodNal,');
QFindSort.SQL.Add (' (Avans+Oklad*0.13) as Uderjano,');
QFindSort.SQL.Add ('(Oklad-Avans+Oklad*0.13) as Itogo');
QFindSort.SQL.Add ('from Tab2.db, Nach.db, Sotr.db, dni.db ');
QFindSort.SQL.Add ('where (ID_S=ID_D) and ( dol=dol_Z) and (ID_S=ID_M) ');
29
QFindSort.SQL.Add(' and '+ find+'='+ chr(39)+Efind.Text+ chr(39));
QFindSort.Active:=true;// откроем базу данных
DataSource1.DataSet:=QFindSort; // источник данных - таблица
end;
end;
// Процедура нажатия кнопки Сортировки
procedure TFrmZP.BitBtn4Click(Sender: TObject);
Var Sort:String;
begin
if RFam.Checked then Sort:='Familiya';
if ROtdel.Checked then Sort:='Otdel';
if RDol.Checked then Sort:='Dol';
QFindSort.Close; // закрыть файл-результат выполнения предыдущего запроса
QFindSort.SQL.Clear;// удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
QFindSort.SQL.Add('Select Mecyac, Kol_D, Kol_R, familiya,Imya, Otchestvo, Otdel,
dol,');
QFindSort.SQL.Add ('Oklad, (Oklad*40/100) as Avans, (Oklad*0.13) as PodNal,');
QFindSort.SQL.Add (' (Avans+Oklad*0.13) as Uderjano,');
QFindSort.SQL.Add ('(Oklad-Avans+Oklad*0.13) as Itogo');
QFindSort.SQL.Add ('from Tab2.db, Nach.db, Sotr.db, dni.db ');
QFindSort.SQL.Add ('where (ID_S=ID_D) and ( dol=dol_Z) and (ID_S=ID_M) ');
QFindSort.Active:=true;// откроем базу данных
DataSource1.DataSet:=QFindSort; // источник данных - таблица
end;
// Процедура нажатия кнопки Возврата
procedure TFrmZP.BitBtn5Click(Sender: TObject);
begin
DataSource1.DataSet:=Query1; // источник данных - таблица
end;
end.
6 Форма TfrmDol: «Должность»
unit Unit6;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, ExtCtrls, DBCtrls, StdCtrls, DB, Grids, DBGrids,
DBTables;
type
TfrmDol = class(TForm)
Table1: TTable;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
30
public
{ Public declarations }
end;
var
frmDol: TfrmDol;
implementation
uses Unit2, Unit3, Unit4, Unit1, Unit5, Unit7, Unit8, Unit9, Unit10,
Unit11, Unit12;
{$R *.dfm}
// Процедура нажатия кнопки Добавить
procedure TfrmDol.Button1Click(Sender: TObject);
begin
Table1.Insert;
end;
// Процедура нажатия кнопки Предыдущий
procedure TfrmDol.Button3Click(Sender: TObject);
begin
Table1.Prior;
end;
// Процедура нажатия кнопки Следующий
procedure TfrmDol.Button4Click(Sender: TObject);
begin
Table1.Next;
end;
// Процедура нажатия кнопки Удалить
procedure TfrmDol.Button2Click(Sender: TObject);
begin
Table1.Delete;
end;
end.
7 Форма TFrmSpravka: «О программе »
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, OleCtrls, SHDocVw;
type
TFrmSpravka = class(TForm)
WebBrowser1: TWebBrowser;
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmSpravka: TFrmSpravka;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit1, Unit8, Unit9, Unit10,
Unit11, Unit12;
{$R *.dfm}
end.
8 Форма TFrmLic: «Лицензия»
unit Unit8;
31
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, StdCtrls, Buttons, jpeg, ExtCtrls;
type
TFrmLic = class(TForm)
XPManifest1: TXPManifest;
BitBtn1: TBitBtn;
Image1: TImage;
Label1: TLabel;
procedure N12Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmLic: TFrmLic;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit1, Unit9, Unit10,
Unit11, Unit12;
{$R *.dfm}
procedure TFrmLic.N12Click(Sender: TObject);
begin
end;
// Процедура нажатия кнопки ОК
procedure TFrmLic.BitBtn1Click(Sender: TObject);
begin
close;
end;
end.
9 Форма: «Сотрудники»
unit Unit9;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids, DB,
DBTables, Mask, Buttons;
type
TFrmSotrud = class(TForm)
DBGrid1: TDBGrid;
GroupBox2: TGroupBox;
Button2: TButton;
Button4: TButton;
Button3: TButton;
Button1: TButton;
RadioButton1: TRadioButton;
Edit1: TEdit;
BitBtn3: TBitBtn;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
QDel: TQuery;
32
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmSotrud: TFrmSotrud;
implementation
uses Unit1, Unit3, Unit4, Unit5, Unit6, Unit10, Unit7, Unit8, Unit2,
Unit11, Unit12;
{$R *.dfm}
// Процедура нажатия кнопки Добавить
procedure TFrmSotrud.Button1Click(Sender: TObject);
begin
frmADD.Visible:=True;
frmADD.Focused;
FrmSotrud.Visible:=False;
end;
// Процедура нажатия кнопки Удалить из нескольких таблиц
procedure TFrmSotrud.Button2Click(Sender: TObject);
var int:integer;
begin
int:=strToInt(FrmBD.Sotrudniki['ID_S']);
QDel.Close;
Qdel.SQL.Clear;
Qdel.SQL.Add('Delete from Sotr.db where ID_D='+chr(39)+inttostr(int)+chr(39));
QDel.ExecSQL;
QDel.Close;
Qdel.SQL.Clear;
Qdel.SQL.Add('Delete from Dni.db where ID_M='+chr(39)+inttostr(int)+chr(39));
QDel.ExecSQL;
QDel.Close;
Qdel.SQL.Clear;
Qdel.SQL.Add('Delete from Tab2.db where ID_S='+chr(39)+inttostr(int)+chr(39));
QDel.ExecSQL;
end;
// Процедура нажатия кнопки Предыдущий
procedure TFrmSotrud.Button3Click(Sender: TObject);
begin
FrmBD.Sotrudniki.Prior;
end;
// Процедура нажатия кнопки Следующий
procedure TFrmSotrud.Button4Click(Sender: TObject);
begin
33
FrmBD.Sotrudniki.Next;
end;
// Процедура нажатия кнопки Поиск
procedure TFrmSotrud.BitBtn3Click(Sender: TObject);
var
s:string;
begin
FrmBD.Sotrudniki.Filtered:=True;
s:=Edit1.Text+'*';
If RadioButton1.Checked then
FrmBD.Sotrudniki.Filter:='Familiya='+''''+s+'''';
end;
// Процедура нажатия кнопки Сортировка
procedure TFrmSotrud.BitBtn1Click(Sender: TObject);
begin
If RadioButton1.Checked then FrmBD.Sotrudniki.IndexFieldNames:='Familiya';
end;
// Процедура нажатия кнопки Возврата
procedure TFrmSotrud.BitBtn2Click(Sender: TObject);
begin
FrmBD.Sotrudniki.Filtered:=False;
end;
end.
10 Форма TfrmOtdel: «Отдел»
unit Unit10;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, XPMan, DB, Grids, DBGrids, DBTables, ExtCtrls, DBCtrls,
StdCtrls;
type
TfrmOtdel = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1: TTable;
Button1: TButton;
Button3: TButton;
Button4: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmOtdel: TfrmOtdel;
implementation
uses Unit2, Unit3, Unit9, Unit4, Unit5, Unit6, Unit7, Unit8, Unit1, Unit11,
Unit12;
{$R *.dfm}
34
// Процедура нажатия кнопки Добавить
procedure TfrmOtdel.Button1Click(Sender: TObject);
begin
Table1.Insert;
end;
// Процедура нажатия кнопки Предыдущий
procedure TfrmOtdel.Button3Click(Sender: TObject);
begin
Table1.Prior;
end;
// Процедура нажатия кнопки Следующий
procedure TfrmOtdel.Button4Click(Sender: TObject);
begin
Table1.Next;
end;
// Процедура нажатия кнопки Удалить
procedure TfrmOtdel.Button2Click(Sender: TObject);
begin
Table1.Delete;
end;
end.
11 Форма TFrmDni: «Отработанные дни»
unit Unit11;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Grids, DBGrids, DBTables, DBCtrls;
type
TFrmDni = class(TForm)
TDni: TTable;
DBGrid1: TDBGrid;
DS_Dni: TDataSource;
Button3: TButton;
Button4: TButton;
Button2: TButton;
DbL_Otdel: TDBLookupComboBox;
DBL_DOL: TDBLookupComboBox;
Qfam: TQuery;
DSFam: TDataSource;
DBL_FAM: TDBLookupComboBox;
CB_Month: TComboBox;
EKol: TEdit;
QID: TQuery;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Button5: TButton;
Label6: TLabel;
ComboBox1: TComboBox;
35
GroupBox2: TGroupBox;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
procedure DbL_OtdelClick(Sender: TObject);
procedure SelectFam(Sender: TObject);
procedure DBL_DOLClick(Sender: TObject);
procedure DBL_FAMClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmDni: TFrmDni;
ID:Integer;
implementation
uses Unit1;
{$R *.dfm}
procedure TFrmDni.SelectFam(Sender: TObject);
begin
if (DBL_Otdel.Text<>'') and (DBL_DOL.Text<>'') then
Begin
Qfam.Close;
Qfam.SQL.Clear;
Qfam.SQL.Add('Select Familiya from Tab2.db, Sotr.db ');
Qfam.SQL.Add('where Otdel='+ chr(39)+DBL_Otdel.Text+chr(39) +' and');
Qfam.SQL.Add('Dol='+ chr(39)+DBL_DOL.Text+ chr(39)+' and');
Qfam.SQL.Add('ID_S=ID_D');
Qfam.Active:=true;
DBL_FAM.Enabled:=true;
end;
end;
procedure TFrmDni.DbL_OtdelClick(Sender: TObject);
begin
SelectFam(Sender);
end;
procedure TFrmDni.DBL_DOLClick(Sender: TObject);
begin
SelectFam(Sender);
end;
procedure TFrmDni.DBL_FAMClick(Sender: TObject);
begin
if (DBL_Otdel.Text<>'') and (DBL_DOL.Text<>'') then
36
Begin
QID.Close;// закрыть файл-результат выполнения предыдущего запроса
QID.SQL.Clear;; // удалить текст предыдущего запроса
// записываем новый запрос в свойство SQL
QID.SQL.Add('Select ID_S from Tab2.db, Sotr.db ');
QID.SQL.Add('where Otdel='+ chr(39)+DBL_Otdel.Text+chr(39) +' and');
QID.SQL.Add('Dol='+ chr(39)+DBL_DOL.Text+ chr(39)+' and');
QID.SQL.Add('Familiya='+ chr(39)+DBL_FAM.Text+ chr(39)+' and');
QID.SQL.Add('ID_S=ID_D');
QID.Active:=true; // откроем базу данных
end;
ID:=QID['ID_S'];
end;
// Процедура нажатия кнопки Добавить в таблицу
procedure TFrmDni.Button5Click(Sender: TObject);
begin
TDni.Insert;
TDni['ID_M']:=ID; // добавление в столбкц ID_M
TDni['Mecyac']:=CB_Month.Text;// добавление в столбец месяц
TDni['Kol_D']:=EKol.Text; // добавление в столбец кол-во дней
TDni['Kol_R']:=ComboBox1.Text;// добавление в столбец кол-во дней
TDni.Next;
end;
end.
12 Форма TNachis: «Начисление»
unit Unit12;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, XPMan, Menus, ExtCtrls, DBCtrls, StdCtrls, Grids, DBGrids, DB,
DBTables;
type
TNachis = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Table1Oklad: TCurrencyField;
Table1Avans: TCurrencyField;
Button2: TButton;
Button4: TButton;
Button3: TButton;
Button1: TButton;
Table1Dol_Z: TStringField;
Table1Dol: TStringField;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
37
var
Nachis: TNachis;
implementation
uses Unit2, Unit3, Unit9, Unit4, Unit5, Unit10, Unit6, Unit7, Unit8, Unit1,
Unit11;
{$R *.dfm}
// Процедура нажатия кнопки Добавить
procedure TNachis.Button1Click(Sender: TObject);
begin
Table1.Insert;
end;
// Процедура нажатия кнопки Удалить
procedure TNachis.Button2Click(Sender: TObject);
begin
Table1.Delete;
end;
// Процедура нажатия кнопки Предыдущий
procedure TNachis.Button3Click(Sender: TObject);
begin
Table1.Prior;
end;
// Процедура нажатия кнопки Следующий
procedure TNachis.Button4Click(Sender: TObject);
begin
Table1.Next;
end;
end.»
13 Форма TfrmOtdell «Данные о сотруднике»
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, DBCtrls, StdCtrls, DB, Grids, DBGrids, DBTables, XPMan;
type
TfrmOtdell = class(TForm)
DBGrid1: TDBGrid;
Query1: TQuery;
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmOtdell: TfrmOtdell;
implementation
uses Unit1;
{$R *.dfm}
end.
38
Download