- •Аннотация
- •Содержание
- •1.Введение
- •2. Назначение и цели создания системы
- •3. Изучение объекта автоматизации
- •4.Описание постановки задачи
- •4.1. Функциональная структура системы
- •4.2. Характеристика комплекса задач
- •4.3. Выходная информация
- •4.4. Входная информация
- •4.5. Структурные единицы входной и выходной информации
- •5. Логическое проектирование
- •5.1 Концептуальная модель.
- •5.2. Логическая модель данных.
- •5.3. Алгоритм системы
- •6. Разработка программно-информационного ядра системы
- •6.1. Физическая модель данных
- •6.2. Экранные формы
- •6.3. Описание выбранного метода разработки
- •7. Организационный компонент
- •7.1. Инструкция для пользователя
- •7.2. Инструкция для обслуживающего персонала
- •8. Заключение
- •Список используемой литературы
- •Техническое задание
- •1. Общие сведения
- •2. Назначение и цели создания системы
- •3. Характеристика объекта автоматизации
- •4. Требования к системе
6.2. Экранные формы
Выбранная среда программирования позволяет создавать программные модули путем объектно-ориентированного программирования. Это дает возможность разработчику тщательно спроектировать интерфейс программных модулей и увидеть результат этого проектирования еще до выполнения программы. Программирование осуществляется путем написания обработчиков событий - программ, выполняющихся при выполнении какого-либо действия.
Далее будут представлены все экранные формы, используемые в АРМ “АРМИГ ” и обработчики событий, соответствующие объектам этих форм.
Форма авторизации продавца auto (рис. 7)
Рисунок 7.
Обработчик кнопки «Войти»
IF ((thisform.text1.value="Инспектор") and (thisform.text2.value="112233"))
thisform.release
DO FORM "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
ELSE
MESSAGEBOX("Неправильный логин или пароль", 0+48+0)
Thisform.text1.Value=''
Thisform.text2.Value=''
Endif
Обработчик кнопки «Выход»
thisform.release
Форма главного меню «Главное меню» (Рис. 8)
Рисунок 8.
Обработчик кнопки «Работа с клиентом»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\раб с клиентами"
thisform.Release
Обработчик кнопки «Работа с ТС»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\раб с ТС"
thisform.Release
Обработчик кнопки «Работа с ГНЗ»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\раб с ГНЗ"
thisform.Release
Обработчик кнопки «Регистрация ТС»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\регистрация"
thisform.Release
Обработчик кнопки «Списаные ТС»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\списанные ТС"
thisform.Release
Обработчик кнопки «Работа с отчетами»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\работа с отчетами"
thisform.Release
Обработчик кнопки «Справка»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\справка"
thisform.Release
Обработчик кнопки «Выход»
thisform.Release
Форма «Работа с клиентами» (Рис. 9)
Рисунок 9.
Обработчик кнопки «Добавить»
INSERT INTO klient.dbf (fam_klient, name_klient, otch_klient, seria_pasp, nom_pasp, raion, city, street, state, phone) VALUES (thisform.text2.value, thisform.text3.value, thisform.text4.value, VAL(thisform.text5.value), VAL(thisform.text6.value), thisform.text7.value, thisform.text8.value, thisform.text9.value, VAL(thisform.text10.value), VAL(thisform.text11.value))
thisform.grid1.refresh
thisform.text2.value=''
thisform.text4.value=''
thisform.text3.value=''
thisform.text5.value=''
thisform.text6.value=''
thisform.text7.value=''
thisform.text8.value=''
thisform.text9.value=''
thisform.text10.value=''
thisform.text11.value=''
Обработчик кнопки «Удалить»
select klient
IF MESSAGEBOX ("Вы действительно хотите удалить эту запись?", 4 + 32 + 256) = 6
SET DELETED ON
DELETE
thisform.grid1.Refresh()
MESSAGEBOX("Запись удалена",0,"Сообщение системы")
ENDIF
Обработчик кнопки «Назад»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
thisform.Release
Обработчик кнопки «Поставщики»
IF .not. used ('postavsh')
USE postavsh
endif
SELECT postavsh
thisform.grid1.recordsource=0
SELECT * FROM postavsh into cursor temp
thisform.grid1.recordsource="temp"
Обработчик поиска
SELECT klient
IF EMPTY(this.value) && проверка на наличие значения(value) в текстбоксе
SET FILTER TO && убераем фильтрацию
thisform.grid1.Refresh &&обновляем grid
RETURN
endif
&&поиск осуществляется с применением объекта Optiongroup (в зависимости что искать текст или число)
DO CASE
CASE thisform.Optiongroup1.Value=1
SET FILTER TO UPPER(ALLTRIM(thisform.text12.Value))$UPPER(fam_klient)
CASE thisform.Optiongroup1.Value=2
SET FILTER TO UPPER(ALLTRIM(thisform.text12.Value))$UPPER(city)
ENDCASE
thisform.grid1.refresh
Форма «Работа с ТС» (Рис. 10)
Рисунок 10.
Обработчик кнопки «Добавить»
INSERT INTO ts.dbf (tip, marka, m_dvig, skorost, kilovat) VALUES (thisform.text2.value, thisform.text3.value, VAL(thisform.text5.value), VAL(thisform.text6.value), VAL(thisform.text7.value))
thisform.grid1.refresh
thisform.text2.value=''
thisform.text4.value=''
thisform.text3.value=''
thisform.text5.value=''
thisform.text6.value=''
thisform.text7.value=''
thisform.text8.value=''
Обработчик кнопки «Удалить»
select ts
IF MESSAGEBOX ("Вы действительно хотите удалить эту запись?", 4 + 32 + 256) = 6
SET DELETED ON
DELETE
thisform.grid1.Refresh()
MESSAGEBOX("Запись удалена",0,"Сообщение системы")
ENDIF
Обработчик кнопки «Назад»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
thisform.Release
Форма «Работа с ГНЗ» (Рис. 11)
Рисунок 11.
Обработчик кнопки «Добавить»
n=0
m=VAL(thisform.text3.value)
i=0
DO WHILE n<m
INSERT INTO gnz (ser_gnz, nom_gnz) VALUES (thisform.text1.value, VAL(thisform.text2.value)+i)
n=n+1
i=i+1
replace gnz.stats WITH "свободный"
ENDDO
thisform.grid1.refresh
Обработчик кнопки «Удалить»
select gnz
IF MESSAGEBOX ("Вы действительно хотите удалить эту запись?", 4 + 32 + 256) = 6
SET DELETED ON
DELETE
thisform.grid1.Refresh()
MESSAGEBOX("Запись удалена",0,"Сообщение системы")
ENDIF
thisform.Refresh
MESSAGEBOX("Запись добавлена")
ENDIF
Обработчик кнопки «Назад»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
thisform.Release
Форма «Работа с отчетами» (Рис. 12)
Рисунок 12.
Обработчик кнопки «Отчет по зарег. ТС»
REPORT FORM зар2 preview
Обработчик кнопки «Отчет посписан. ТС»
REPORT FORM spis_otch preview
Обработчик кнопки «Назад»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
thisform.Release
Форма «Регистрация» (Рис. 13)
Рисунок 13.
Обработчик кнопки добавить:
INSERT INTO zareg_ts.dbf (id_klient, id_ts, id_gnz, id_coolor, zav_kod, kod_dvig, kod_kpp, kod_m1, kod_m2, zav_izg, god_vp, dat_reg) VALUES (VAL(thisform.combo4.value), VAL(thisform.combo6.value), VAL(thisform.label15.Caption), VAL(thisform.combo5.value), VAL(thisform.text1.value), VAL(thisform.text3.value), VAL(thisform.text4.value), VAL(thisform.text5.value), VAL(thisform.text6.value), (thisform.text7.value), VAL(thisform.text8.value), (thisform.text9.value))
INSERT INTO zaregg.dbf (fam_klient, name_klient, otch_klient, marka, coolr) SELECT klient.fam_klient, klient.name_klient, klient.otch_klient, ts.marka, coolor.coolr FROM klient, coolor, ts WHERE id_klient=VAL(thisform.combo4.value ) AND id_coolor=VAL(thisform.combo5.value ) AND id_ts=VAL(thisform.combo6.value )
SELECT zaregg
GO bottom
replace zaregg.kod_dvig WITH VAL(thisform.text3.value)
replace zaregg.zav_kod WITH VAL(thisform.text1.value)
replace zaregg.kod_kpp WITH VAL(thisform.text4.value)
replace zaregg.kod_m1 WITH VAL(thisform.text5.value)
replace zaregg.kod_m2 WITH VAL(thisform.text6.value)
replace zaregg.zav_izg WITH (thisform.text7.value)
replace zaregg.god_vp WITH VAL(thisform.text8.value)
replace zaregg.dat_reg WITH (thisform.text9.value)
replace gnz.dat_regs WITH (thisform.text9.value)
replace zaregg.nom_gnz WITH val(thisform.label13.Caption)
replace zaregg.ser_gnz WITH (thisform.label14.Caption)
SELECT gnz
replace gnz.stats WITH 'зарег'
GO top
LOCATE FOR gnz.stats="свободный"
A=str(nom_gnz)
B=ser_gnz
thisform.label14.Caption = B
thisform.label13.Caption = A
thisform.text1.value=''
thisform.text4.value=''
thisform.text3.value=''
thisform.text5.value=''
thisform.text6.value=''
thisform.text7.value=''
thisform.text8.value=''
thisform.grid1.refresh
Обработчик кнопки «Удалить»
select zaregg
IF MESSAGEBOX ("Вы действительно хотите удалить эту запись?", 4 + 32 + 256) = 6
SET DELETED ON
DELETE
thisform.grid1.Refresh()
MESSAGEBOX("Запись удалена",0,"Сообщение системы")
ENDIF
Обработчик поиска
SELECT zaregg
IF EMPTY(this.value)
SET FILTER TO
thisform.grid1.Refresh
RETURN
endif
DO CASE
CASE thisform.Optiongroup1.Value=1
SET FILTER TO UPPER(VAL(ALLTRIM(thisform.text2.Value)))$UPPER(id_regg)
CASE thisform.Optiongroup1.Value=2
SET FILTER TO UPPER(ALLTRIM(thisform.text2.Value))$UPPER(fam_klient)
CASE thisform.Optiongroup1.Value=3
SET FILTER TO UPPER(ALLTRIM(thisform.text2.Value))$UPPER(marka)
ENDCASE
thisform.grid1.refresh
Обработчик кнопки «Назад»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
thisform.Release
Форма «Списание» (Рис. 14)
Рисунок 14.
Обработчик кнопки «Удалить»
select spis
IF MESSAGEBOX ("Вы действительно хотите удалить эту запись?", 4 + 32 + 256) = 6
SET DELETED ON
DELETE
thisform.grid1.Refresh()
MESSAGEBOX("Запись удалена",0,"Сообщение системы")
ENDIF
Обработчик кнопки «Назад»
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\главное меню"
thisform.Release
Обработчик кнопки «Списание»
DO FORM "C:\Users\Дмитрий\Documents\ГТЗ11\списание" (рис. 15)
Рисунок 15.
Обработчик кнопки «Списать»
replace spis_ts.dat_spis with (thisform.text1.value)
INSERT INTO spis.dbf (fam_klient, name_klient, otch_klient, tip, marka, ser_gnz, nom_gnz, dat_reg, god_vp, colors, zav_izg, zav_kod, kod_dvig, kod_kpp, kod_m1, kod_m2, m_dvig, skorost, pric1) SELECT zaregg.fam_klient, zaregg.name_klient, zaregg.otch_klient, zaregg.tip, zaregg.marka, zaregg.ser_gnz, zaregg.nom_gnz, zaregg.dat_reg, zaregg.god_vp, zaregg.colors, zaregg.zav_izg, zaregg.zav_kod, zaregg.kod_dvig, zaregg.kod_kpp, zaregg.kod_m1, zaregg.kod_m2, zaregg.m_dvig, zaregg.skorost, pric.pric1 FROM zaregg, pric WHERE h=id_regg AND id_pric=VAL(thisform.combo1.value)
replace spis.dat_spis with (thisform.text1.value)
SET DELETED ON
DELETE
DO FORMS "C:\Users\Дмитрий\Documents\ГТЗ11\списанные тс.scx" name spp
thisform.Release
spp.refresh
Обработчик кнопки «Назад»
thisform.Release