1. Экономическая характеристика объекта
Разработка программы для регистрации и учета автотранспортных средств в ГИБДД позволила бы сократить материальные затраты, связанные с регистрацией и учетом автотранспорта, которые включают в себя: заработанную плату сотрудников, инструментарий, складские помещения для хранения материала, а также оборудование для этих помещений.
Одним из главных факторов разработки программы является сокращение времени поиска необходимой информации, так как учет транспортных средств в ГИБДД ведется с помощью журналов и таблиц, в которые записывают данные о владельце и о транспортном средстве. Данная работа влечет за собой затраты времени и материальные затраты по регистрации и учету автотранспорта. Таким образом, разработанная мною программа предоставляет экономию времени и затрат, а также облегчает ввод данных.
Предложенная программа может быть использована в органах ГИБДД, сотрудниками МРЭО и ОВД.
2. Постановка задачи
Передо мной поставлена задача разработать программу по учету и регистрации автотранспортных средств в ГИБДД. Она должна осуществлять регистрацию автотранспортных средств, поиск зарегистрированного АМТ, поиск угнанного АМТ, а так же отчет о зарегистрированном АМТ- автоматически.
2.1 Входная информация
Входной информацией для решения данной задачи являются следующие данные:
1) Информация, необходимая для регистрации автомототранспорта:
Дата регистрации;
Регистрационный номер;
Модель автотранспорта;
Цвет;
Номер двигателя;
Номер кузова;
Номер шасси;
Мощность двигателя;
Объем двигателя;
Вид АМТ;
Год выпуска;
Сумма приобретения;
Сведения о владельце:
Фамилия;
Имя;
Отчество;
Дата рождения;
Телефон;
Место жительства:
Область;
Район;
Город;
Улица;
Дом;
Квартира;
Паспортные данные:
2) Информация по угнанному АМТ:
Регистрационный номер;
Номер двигателя;
Модель АМТ;
Год выпуска;
Цвет;
Инициатор розыска;
Входными документами являются: заявление на приобретение, заключение
техосмотра.
2.2 Выходная информация.
Выходной информацией для решения данной задачи является:
• Информация о зарегистрированном АМТ;
• Информация об угнанном АМТ;
Выходными документами являются: отчеты о зарегистрированных и угнанных АМТ.
1)Отчет о зарегистрированных АМТ содержит следующие данные:
1. Дата регистрации;
2. Регистрационный номер;
3. Модель автотранспорта;
4. Цвет;
5. Номер двигателя;
6. Номер кузова;
7. Номер шасси;
8. Мощность двигателя;
9. Объем двигателя;
10. Вид АМТ;
11. Год выпуска;
12. Сумма приобретения;
13. Сведения владельце:
14. Фамилия;
15. Имя;
16. Отчество;
17. Дата рождения;
18. Телефон;
Место жительства:
19. Область;
20. Район;
21. Город;
22. Улица;
23. Дом;
24. Квартира;
25. Паспортные данные;
2)Отчет об угнанном АМТ содержит следующие данные:
1. Регистрационный номер;
2. Номер двигателя;
3. Номер кузова;
4. Модель АМТ
5. Год выпуска;
6. Цвет АМТ;
7. Инициатор розыска;
Регистрация, перерегистрация, отчеты- используются сотрудниками ГИБДД и другими правоохранительными органами ежедневно.
3. Технические и инструментальные средства обеспечения задачи
3.1 Обоснование выбора языка программирования.
Целью моей курсовой работы является разработка программы по учету и регистрации автотранспортных средств в ГИБДД.
Для решения этой задачи необходимо создать сложные системы обработки данных, обеспечить работу с базами, разработать гибкий и удобный интерфейс-все это может быть обеспеченно средствами Microsoft VFoxPro 8.0
VFoxPro 8.0 позволяет:
Создавать хорошо структурированные программы. Практически из всех опций команд могут быть вызваны пользовательские процедуры, что придает ему исключительную гибкость. Допускаются как внешние, так и внутренние процедуры.
Microsoft VFoxPro 8.0 обладает возможностями поддержки разработки и отладки программ, средствами отслеживания изменений исходных текстов программных модулей с их автоматической перекомпиляцией.
Предусмотрены специальные окна для отладчика программ, работающего в терминах исходного текста. Окно трассировки позволяет анализировать логику выполнения программы. Эта информация можно использоваться и при работе в пошаговом режиме.
3.2 Технические требования к ПК для решения задачи.
Для решения данной задачи необходим компьютер следующей конфигурации:
• Процессор Pentium class;
• Оперативная память 64 MB RAM (128 MB рекомендуется );
• Место на жестком диске для минимальной инсталляции 165 МВ для полной 165 МВ;
• Графический адаптер и монитор VGA 800 x 600 разрешение, 256 цветов (High Color 16-bit рекомендуется);
• Дисковод для гибких дисков.
4. Информационное обеспечение задачи
4.1 Описание структуры файлов.
Все файлы программы находятся в каталоге ГИБДД. Они имеют следующие значения:
1)AVTO.dbf – табличный файл содержит информацию о зарегистрированном автотранспорте. Пример таблицы (см.: Приложение 1):
1. Datareg - содержит дату регистрации;
2. Regn - содержит регистрационный номер;
3. Marka - содержит модель автотранспорта;
4. Cvet - содержит цвет автотранспорта;
5. Nd - содержит номер двигателя;
6. Nk - содержит номер кузова;
7. Nh- содержит номер шасси;
8. Md - содержит мощность двигателя;
9. Od - содержит объем двигателя;
10. Vidamt - содержит АМТ;
11 .Godv - содержит год выпуска;
12. Sumpre - содержит сумму приобретения;
13. Fam - содержит фамилию владельца;
14. Im - содержит имя владельца;
15. Och - содержит отчество владельца;
16. Godr - содержит дату рождения владельца;
17. Tel - содержит телефон владельца;
18. Obl - область;
19. Raion - район;
20. Gorod - город;
21. Ul - улица;
22. Dom - дом;
23. Kv - квартиру;
24. Pasport - паспортные данные владельца;
2)ROZ.dbf – табличный файл, который содержит информацию о находящемся в розыске автотранспорте имеет следующую структуру:
1. Regn - содержит регистрационный номер;
2. Nk - содержит номер кузова;
3. Nd - содержит номер двигателя;
4. Marka - содержит модель автотранспорта;
5. Cvet - содержит цвет автотранспорта;
6. Godv - содержит год выпуска;
7. Kod - инициатор розыска
3)password.dbf – табличный файл, хранящий пароль для запуска программы, имеет следующую структуру:
1. Par - содержит пароль;
4)GIBDD.dbf – табличный файл, который содержит информацию о работе с программой, имеет следующую структуру:
1. Dd - содержит пункты помощи;
2. Help - содержит справочную информацию;
5. Программное обеспечение задачи
5.1 Алгоритм решения задачи.
Программа состоит из следующих внешних процедур:
1. Open prog.prg - главный модуль, позволяет запустить главное меню программы, если введен правильный пароль.
2. graf.prg - при запуске этой процедуры на экране появляется заставка
3. ГИБДД.MPR - главное меню активирующее процедуры назначенные на определенные пункты.
4. ss.scx – форма для вывода сведений о аппаратных ресурсах используемого компьютера.
5. sop.scx - форма для вывода сведений о программе.
6. sp.prg - позволяет изменить пароль запуска программы.
7. регистрация.scx – форма, которая выводит окно регистрации АМТ в котором нужно ввести необходимые данные для регистрации.
8. перерегистрация.scx – форма, которая выводит окно перерегистрации в котором необходимо ввести данные о новом владельце.
9. opr.scx – форма для вывода зарегистрированных автотранспортных средств по заданному району.
Включает в себя внутренние процедуры:
• vpr.scx – форма для осуществления вывода транспортных средств, найденных по заданному ключу.
10. opg.scx – форма для вывода зарегистрированных автотранспортных средств по городу.
Включает в себя форму:
• vpg.scx – форма осуществляет вывод транспортных средств, найденных по заданному ключу.
11.opgod.scx – форма позволяет вывести отчет за введенный год.
Включает в себя форму:
• vpgod.scx – форма осуществляет вывод транспортных средств, найденных по заданному ключу.
12. roz.scx – форма позволяет произвести поиск данных в базе (ROZ.dbf) содержащей информацию по находящемуся в розыске АМТ.
13. vor.scx – форма позволяет вывести для просмотра таблицу (ROZ.dbf).
14. sk.prg - создает резервную копию используемых табличных файлов путем копирования в директорию STRAH
15. vd.prg - восстанавливает резервные данные из каталога страх
16. help.prg - выводит сведенья о работе с программой, содержащиеся в базе (GBDD.dbf).
В программе используется следующие переменные:
1. A - предназначена для проверки пароля;
2. С - временно содержит новый пароль;
3. kol - первоначальное значение 0, подсчет количества найденных транспортных средств;
4. ra - содержит название района по которому производится поиск;
5. go – содержит название города по которому производится поиск;
6. g - первоначальное значение 0, содержит год;
7. t - первоначальное значение 0, используется в подсчете количества найденного транспорта;
12. dv - первоначальное значение- 0, применяется для поиска АМТ, числящегося в угоне, содержит введенный номер двигателя автотранспорта;
5.2 Блок- схема программы (см.: Приложение 2)
5.3 Описание блок-схемы
При запуске модуля ГИБДД.MPR запускается процедура graf.prg - заставка. Затем идет определение главного меню ГИБДД.MPR и его активизация, назначение реакции на пункты главного меню.
Если выбран пункт главного меню «Sистема» - активизируется Popup-menu .
Если выбран подпункт «Сведения о системе» - запускается форма ss.scx.
Если выбран подпункт «Сведения о программе» - запускается форма sop.scx.
Если выбран подпункт «Смена пароля» - запуск процедуры sp.prg.
Если выбран пункт главного меню «Rегистрация» - активируется Popup-menu.
Если выбран подпункт «Регистрация» - запускается форма регистрация.scx.
Если выбран подпункт «Перерегистрация» - запускается форма перерегистрация.scx.
Если выбран подпункт «Отчет по регистрации» - активируется Popup-menu.
Если выбран пункт «По району» - запускается форма opr.scx
Если выбран пункт «По городу» - запускается форма opg.scx
Если выбран пункт «За год» - запускается форма opgod.scx
Если выбран пункт главного меню «Uгон» - запускается форма roz.scx.
Если выбран пункт главного меню «Sервис» - активируется Popup-menu к этому пункту.
Если выбран подпункт «Страховое копирование» - запускается процедура sk.prg.
Если выбран подпункт «Восстановление данных» - запускается процедура vd.prg.
Если выбран пункт главного меню «Pомощь» - запускается процедура help.prg.
Если выбран пункт главного меню «Vыход» выполняется команда
5.4 Пояснение последовательности выполнения команд
Команды установки:
SET SYSMENU TO
SET SYSMENU AUTOMATIC
SET TALK OFF – отключение вывода промежуточных записей
DO graf –запуск процедуры
ОПРЕДЕЛЕНИЕ PAD ПУНКТОВ ГЛАВНОГО МЕНЮ
DEFINE PAD _1h41es2a7 OF _MSYSMENU PROMPT "Sистема" COLOR SCHEME 3 ;
KEY ALT+S, ""
DEFINE PAD _1h41es2a8 OF _MSYSMENU PROMPT "Rегистрация" COLOR SCHEME 3 ;
KEY ALT+R, ""
DEFINE PAD _1h41es2a9 OF _MSYSMENU PROMPT "Uгон" COLOR SCHEME 3 ;
KEY ALT+U, ""
DEFINE PAD _1h41es2aa OF _MSYSMENU PROMPT "Sервис" COLOR SCHEME 3 ;
KEY ALT+S, ""
DEFINE PAD _1h41es2ab OF _MSYSMENU PROMPT "Pомощь" COLOR SCHEME 3 ;
KEY ALT+P, ""
DEFINE PAD _1h41es2ac OF _MSYSMENU PROMPT "Vыход" COLOR SCHEME 3 ;
KEY ALT+V, ""
НАЗНАЧЕНИЕ РЕАКЦИИ НА ВЫБОР ПУНКТА
ON PAD _1h41es2a7 OF _MSYSMENU ACTIVATE POPUP sистема
ON PAD _1h41es2a8 OF _MSYSMENU ACTIVATE POPUP rегистраци
ON SELECTION PAD _1h41es2a9 OF _MSYSMENU Do form roz.scx
ON PAD _1h41es2aa OF _MSYSMENU ACTIVATE POPUP sервис
ON SELECTION PAD _1h41es2ab OF _MSYSMENU Do help
ON SELECTION PAD _1h41es2ac OF _MSYSMENU set sysmenu.refresh()
ОПРЕДЕЛЕНИЕ ВАК МЕНЮ НА ПУНКТ «SИСТЕМА»
DEFINE POPUP sистема MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF sистема PROMPT "Сведения о системе"
DEFINE BAR 2 OF sистема PROMPT "Сведения о программе"
DEFINE BAR 3 OF sистема PROMPT "Смена пароля"
НАЗНАЧЕНИЕ РЕАКЦИЙ НА ВЫБРАННЫЙ ВАК ПУНКТ
ON SELECTION BAR 1 OF sистема do form ss.scx
ON SELECTION BAR 2 OF sистема do form sop.scx
ON SELECTION BAR 3 OF sистема do sp
ОПРЕДЕЛЕНИЕ ВАК МЕНЮ НА ПУНКТ «RЕГИСТРАЦИЯ»
DEFINE POPUP rегистраци MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF rегистраци PROMPT "Регистрация"
DEFINE BAR 2 OF rегистраци PROMPT "Перерегистрация"
DEFINE BAR 3 OF rегистраци PROMPT "Отчет по регистрации"
НАЗНАЧЕНИЕ РЕАКЦИЙ НА ВЫБРАННЫЙ ВАК ПУНКТ
ON SELECTION BAR 1 OF rегистраци Do form Регистрация.scx
ON SELECTION BAR 2 OF rегистраци Do form Перерегистрация.scx
ON BAR 3 OF rегистраци ACTIVATE POPUP отчетпорег
ОПРЕДЕЛЕНИЕ ВАК МЕНЮ НА ПУНКТ «Отчет по регистрации»
DEFINE POPUP отчетпорег MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF отчетпорег PROMPT "По району"
DEFINE BAR 2 OF отчетпорег PROMPT "По городу"
DEFINE BAR 3 OF отчетпорег PROMPT "За год"
НАЗНАЧЕНИЕ РЕАКЦИЙ НА ВЫБРАННЫЙ ВАК ПУНКТ
ON SELECTION BAR 1 OF отчетпорег Do pr
ON SELECTION BAR 2 OF отчетпорег Do pg
ON SELECTION BAR 3 OF отчетпорег Do zg
НАЗНАЧЕНИЕ РЕАКЦИЙ НА ВЫБРАННЫЙ ВАК ПУНКТ «UГОН»
ON SELECTION PAD _1h41es2a9 OF _MSYSMENU Do form roz.scx
ОПРЕДЕЛЕНИЕ ВАК МЕНЮ НА ПУНКТ «СЕРВИС»
DEFINE POPUP sервис MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF sервис PROMPT "Страховое копирование"
DEFINE BAR 2 OF sервис PROMPT "Восстановление данных"
НАЗНАЧЕНИЕ РЕАКЦИИ НА ВЫБРАННЫЙ ВАК ПУНКТ
ON SELECTION BAR 1 OF sервис Do sk
ON SELECTION BAR 2 OF sервис Do vd
5.5 Описание интерфейса при решении данной задачи
Информация располагается в окнах. Ввод сопровождается подсказками, при выполнении опасных действий, появляются окна с вопросами типа (Будете выполнять страховое копирование ?)
Исключительно полезным для пользователя программы является доступ справочной информации, предусмотрен отказ пользователя в любой момент времени. Программа имеет большое количество различных окон: ввода, запроса, сообщения.
В программе заложена процедура страхового копирования данных. Так же происходит выдача отчетов на принтер.
5.6 Отладка программы
При создании программы я сталкивался с серией синтаксических и логических ошибок:
• Пропуск знаков препинания (незакрытые кавычки, скобки);
• Отсутствие пары в командах (FOR-ENDFOR, CASE-ENDCASE, IF-ENDIF);
• Ввод запятой вместо точки;
• Несоответствие параметров по типу;
• Неверный алгоритм программы.
VFoxPro 8.0 обладает удобным и гибким отладчиком программы, который позволяет детально проследить поведение программы и ее переменной в сомнительных местах, т. е. выполнить трассировку.
Эти средства находятся в меню WINDOW главного системного меню VFoxPro 8.0.
Пункты Command WINDOW и Properties WINDOW выводят на экран два специальных отладочных окна Command и Properties, которые могут вызываться раздельно или вместе. В окне Command выводятся команды исполняемой программы, а в окне Properties - значение указанных в нем переменных и выражений.
5.7 Инструкция по работе с программой
Данная программа должна быть установлена в текущем каталоге Курсовой по ТРПП. Для того чтобы запустить программу необходимо ввести правильный пароль. Сразу после этой операции на экране появляется главное меню, через которое можно непосредственно управлять данным (осуществлять ввод и вывод информации). Непосредственный вызов нужного пункта меню может осуществляться как при помощи мыши, так и при помощи нажатия клавиши Enter.
Для того чтобы программа начала свои действия необходимо ввести пароль. После ввода, которого на экране появляется главное меню, расположенное в верхней части экрана.
Рис.1 Главное меню
Пункты главного меню имеют следующий смысл:
• «Sистема» - предоставляет информации о программе, о системе, дает возможность осуществить смену пароля.
• «Rегистрация» - позволяет осуществить процесс регистрации, перерегистрации, поиска зарегистрированного АМТ и вывести отчет (по району, городу и за год).
• «Uгон» - позволяет просмотреть автотранспорт, находящийся в розыске и осуществить поиск угнанного АМТ.
• «Sервис» - этот пункт предоставляет возможность осуществить страховое копирование баз данных, а так же их восстановление.
• «Pомощь» - содержит справочную информацию о программе.
• «Vыход» - при помощи этого пункта осуществляется выход из программы. Для осуществления регистрации необходимо выбрать пункт меню «Rегистрация/регистрация» на экране появится окно (рис. 2)
Рис. 2 Регистрация АМТ
В появившемся окне, в полях ввода необходимо ввести соответствующую информацию. Для сохранения информации нажать кнопку «Сохранить». Кнопка «Печать» - выводит информацию на печать. «Выход» - выход из окна регистрации.
Для осуществления перерегистрации необходимо выбрать пункт меню «Rегистрация/Перерегистрация» на экран появится окно (рис.2.2)
Рис. 2.2 Перерегистрация АМТ
Кнопка «Сохранить»- позволяет сохранить введенную информацию. «Выход»- выход из окна.
Розыск угнанного АМТ осуществляется при выборе пункта меню «Uгон»
В появившемся окне введите необходимую информацию (рис. 3). В окне имеются следующие кнопки «Найти»- производит поиск по данной информации, «Выход» - выход из окна.
Рис.3 Розыск
Ели необходимо создать резервные копии баз данных, нужно выполнить пункт меню «Sервис/Страховое копирование»
Появится окно с сообщением «Будите делать копию?» (рис.4) При нажатии на кнопку «OK» базы скопируются в каталог STRAH
Рис.4Страховое копирование
При нажатии пункта «Pомощь», на экран выводится справочная информация о работе с программой, (рис.5)
Рис.5 Помощь
Окно «Помощь» разделено на две части. В левой части окна содержатся пункты меню, при помощи мыши или клавишей Enter выбираете нужный пункт и нажимаете на кнопку «Показать». В правой части окна выводится необходимая информация по данному пункту.
Кнопка «Выход» позволят выйти из окна.
Список Литературы
1. «Создание приложений для FoxPro 2.5, 3.0 в DOS и для VFoxPro 5.0 8.0 в WINDOWS»
М.: Издательство “ДЕСС” , - 672стр,
Приложение 1
Приложение 3
Внешняя процедура Open prog.prg
SET TALK OFF
CLEAR
USE password
b=par
DO WHILE .t.
a=SPACE(9)
DEFINE WINDOW w3 FROM 10,20 TO 14,50 COLOR SCHEME 23 double
ACTIVATE WINDOW w3
@1,2 say 'Preface password' get a
@2,5 get o func '*h ok; Cancel' defa 0 size 1,6,6
SET BELL on
FOR t=1 TO 5
SET BELL TO t*80,T*3
?? CHR(7)
ENDFOR
READ cycle
IF b=a
CLEAR WINDOW
DO ПАША.mpr
EXIT
DEACTIVATE WINDOW w3
ELSE
WAIT "Пароль введен не верно" wind;
TIMEOUT 2
ENDIF
ENDDO
Главный модуль ГИБДД.mpr
SET SYSMENU TO
SET SYSMENU AUTOMATIC
SET TALK OFF
DO graf
DEFINE PAD _1h60rs4hx OF _MSYSMENU PROMPT "Sистема" COLOR SCHEME 3 ;
KEY ALT+S, ""
DEFINE PAD _1h60rs4hy OF _MSYSMENU PROMPT "Rегистрация" COLOR SCHEME 3 ;
KEY ALT+R, ""
DEFINE PAD _1h60rs4hz OF _MSYSMENU PROMPT "Uгон" COLOR SCHEME 3 ;
KEY ALT+U, ""
DEFINE PAD _1h60rs4i0 OF _MSYSMENU PROMPT "Sервис" COLOR SCHEME 3 ;
KEY ALT+S, ""
DEFINE PAD _1h60rs4i1 OF _MSYSMENU PROMPT "Pомощь" COLOR SCHEME 3 ;
KEY ALT+P, ""
DEFINE PAD _1h60rs4i2 OF _MSYSMENU PROMPT "Vыход" COLOR SCHEME 3 ;
KEY ALT+V, ""
ON PAD _1h60rs4hx OF _MSYSMENU ACTIVATE POPUP sистема
ON PAD _1h60rs4hy OF _MSYSMENU ACTIVATE POPUP rегистраци
ON SELECTION PAD _1h60rs4hz OF _MSYSMENU Do form roz.scx
ON PAD _1h60rs4i0 OF _MSYSMENU ACTIVATE POPUP sервис
ON SELECTION PAD _1h60rs4i1 OF _MSYSMENU Do help
ON SELECTION PAD _1h60rs4i2 OF _MSYSMENU Do exit
DEFINE POPUP sистема MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF sистема PROMPT "Сведения о системе"
DEFINE BAR 2 OF sистема PROMPT "Сведения о программе"
DEFINE BAR 3 OF sистема PROMPT "Смена пароля"
ON SELECTION BAR 1 OF sистема do form ss.scx
ON SELECTION BAR 2 OF sистема do form sop.scx
ON SELECTION BAR 3 OF sистема do sp
DEFINE POPUP rегистраци MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF rегистраци PROMPT "Регистрация"
DEFINE BAR 2 OF rегистраци PROMPT "Перерегистрация"
DEFINE BAR 3 OF rегистраци PROMPT "Отчет по регистрации"
ON SELECTION BAR 1 OF rегистраци Do form Регистрация.scx
ON SELECTION BAR 2 OF rегистраци Do form Перерегистрация.scx
ON BAR 3 OF rегистраци ACTIVATE POPUP отчетпорег
DEFINE POPUP отчетпорег MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF отчетпорег PROMPT "По району"
DEFINE BAR 2 OF отчетпорег PROMPT "По городу"
DEFINE BAR 3 OF отчетпорег PROMPT "За год"
ON SELECTION BAR 1 OF отчетпорег Do form opr.scx
ON SELECTION BAR 2 OF отчетпорег Do form opg.scx
ON SELECTION BAR 3 OF отчетпорег Do opgod.scx
DEFINE POPUP sервис MARGIN RELATIVE SHADOW COLOR SCHEME 4
DEFINE BAR 1 OF sервис PROMPT "Страховое копирование"
DEFINE BAR 2 OF sервис PROMPT "Восстановление данных"
ON SELECTION BAR 1 OF sервис Do sk
ON SELECTION BAR 2 OF sервис Do vd
Внешняя процедура GRAF.prg
Clear
For t=1 to 4
If t=1
DEFINE WINDOW graf from 0,0 to 24,76 none color scheme 22
Endif
If t=2
DEFINE WINDOW graf from 0,0 to 24,76 none color scheme 17
Endif
If t=3
DEFINE WINDOW graf from 0,0 to 24,76 NONE COLOR SCHEME 16
Endif
If t=4
DEFINE WINDOW graf from 0,0 to 24,76 none color scheme 24
Endif
ACTIVATE WINDOW graf
@7,14 to 7,16 panel
@5,14 to 5,16 panel
@9,14 to 9,16 panel
@11,14 to 11,16 panel
@13,14 to 13,16 panel
@5,1 to 5,3 panel
@7,1 to 7,3 panel
@9,1 to 9,3 panel
@11,1 to 11,3 panel
@13,1 to 13,3 panel
@5,24 to 5,26 panel
@7,24 to 7,26 panel
@9,24 to 9,26 panel
@11,24 to 11,26 panel
@13,24 to 13,26 panel
@7,22 to 7,22 panel
@11,19 to 11,19 panel
@11,18 to 11,18 panel
@10,20 to 10,20 panel
@10,19 to 10,19 panel
@9,21 to 9,21 panel
@5,25 to 5,25 panel
@5,31 to 5,33 panel
@7,31 to 7,33 panel
@9,31 to 9,33 panel
@11,31 to 11,33 panel
@13,31 to 13,33 panel
@5,4 to 5,11 panel
@5,34 to 5,40 panel
@9,35 to 9,37 panel
@13,35 to 13,37 panel
@9,39 to 9,39 panel
@10,42 to 10,42 panel
@11,43 to 11,43 panel
@12,42 to 12,42 panel
@13,40 to 13,40 panel
@5,47 to 5,54 panel
@ 5,55 to 5,57 panel
@7,55 to 7,57 panel
@9,55 to 9,57 panel
@11,55 to 11,57 panel
@7,47 to 7,49 panel
@9,47 to 9,49 panel
@11,47 to 11,49 panel
@13,50 to 13,52 panel
@13,56 to 13,58 panel
@13,48 to 13,50 panel
@13,53 to 13,55 panel
@13,45 to 13,47 panel
@13,58 to 13,60 panel
@14,45 to 14,47 panel
@14,58 to 14,60 panel
@5,55 to 5,57 panel
@5,64 to 5,71 panel
@5,72 to 5,74 panel
@7,64 to 7,66 panel
@9,64 to 9,66 panel
@11,64 to 11,66 panel
@7,72 to 7,74 panel
@9,72 to 9,74 panel
@11,72 to 11,74 panel
@13,63 to 13,76 panel
@14,63 to 14,65 panel
@14,74 to 14,76 panel
@9,20 to 9,20 panel
@8,22 to 8,22 panel
@8,21 to 8,21 panel
@7,24 to 7,24 panel
@8,22 to 8,22 panel
@11,42 to 11,42 panel
@10,41 to 10,41 panel
@9,40 to 9,40 panel
@12,42 to 12,42 panel
@12,41 to 12,41 panel
@13,39 to 13,39 panel
@12,17 to 12,17 panel
@12,18 to 12,18 panel
@8,31 to 8,31 panel
@8,33 to 8,33 panel
@10,31 to 10,31 panel
@10,33 to 10,33 panel
@12,31 to 12,31 panel
@12,33 to 12,33 panel
@10,47 to 10,47 panel
@12,47 to 12,47 panel
@12,49 to 12,49 panel
@10,49 to 10,49 panel
@8,47 to 8,47 panel
@8,49 to 8,49 panel
@6,47 to 6,47 panel
@6,49 to 6,49 panel
@6,31 to 6,31 panel
@6,33 to 6,33 panel
@6,55 to 6,55 panel
@6,57 to 6,57 panel
@8,55 to 8,55 panel
@8,57 to 8,57 panel
@10,55 to 10,55 panel
@10,57 to 10,57 panel
@12,55 to 12,55 panel
@12,57 to 12,57 panel
@6,64 to 6,64 panel
@6,66 to 6,66 panel
@8,64 to 8,64 panel
@8,66 to 8,66 panel
@10,64 to 10,64 panel
@10,66 to 10,66 panel
@12,64 to 12,64 panel
@12,66 to 12,66 panel
@6,72 to 6,72 panel
@6,74 to 6,74 panel
@8,72 to 8,72 panel
@8,74 to 8,74 panel
@10,72 to 10,72 panel
@10,74 to 10,74 panel
@12,72 to 12,72 panel
@12,74 to 12,74 panel
@6,24 to 6,24 panel
@6,26 to 6,26 panel
@8,24 to 8,24 panel
@8,26 to 8,26 panel
@10,24 to 10,24 panel
@10,26 to 10,26 panel
@12,24 to 12,24 panel
@12,26 to 12,26 panel
@6,14 to 6,14 panel
@6,16 to 6,16 panel
@8,14 to 8,14 panel
@8,16 to 8,16 panel
@10,14 to 10,14 panel
@10,16 to 10,16 panel
@12,14 to 12,14 panel
@12,16 to 12,16 panel
@6,23 to 6,23 panel
@6,1 to 6,1 panel
@6,3 to 6,3 panel
@8,1 to 8,1 panel
@8,3 to 8,3 panel
@10,1 to 10,1 panel
@10,3 to 10,3 panel
@12,1 to 12,1 panel
@12,3 to 12,3 panel
for I=1 to 3
set bell to I*150,3
??chr(7)
endfor
clear
endfor
DEACTIVATE WINDOW graf
return
Форма ss.scx
_screen.ActiveForm.release()
Форма sop.scx
_screen.ActiveForm.release()
Вешняя процедура sp.prg
Do while .t.
c=space (10)
a=space(9)
use password
b=par
DEFINE WINDOW w1 from 10,10 to 17,50 color scheme 23 title 'Смена пароля' DOUBLE
ACTIVATE WINDOW w1
@1,2 say 'Введите старый пароль' get a
@4,5 get k func '*h OK; Cancel' defa 0 size 1,6,6
set BELL on
for I=1 to 1
set bell to I*80,I*3
for f=1 to 2
set bell to f*200,f*5
??chr(7)
endfor
for g=1 to 3
set bell to g*60,g*2
??chr(7)
endfor
??chr(7)
endfor
read cycle
do case
case k=1
if par=allt(a)
@2,2 say 'Введите новый пароль' get c
@4,5 get k func'*h OK; Cancel' defa 0 size 1,6,6
read cycle
do case
case k=1
REPLACE par WITH ALLTRIM(c)
DEACTIVATE WINDOW w1
exit
case k=2
DEACTIVATE WINDOW w1
exit
endcase
else
WAIT WINDOW 'Пароль введен не верно' TIMEOUT 1
clear
endif
case k=2
DEACTIVATE WINDOW w1
exit
endcase
enddo
return
Форма регистрация.scx
APPEND BLANK
_screen.ActiveForm.refresh()
_screen.ActiveForm.release()
Форма перерегистрация.scx
APPEND BLANK
_screen.ActiveForm.refresh()
GO TOP
_SCREEN.ACTIVEFORM.REFRESH()
IF BOF()=.F.
SKIP-1
ENDIF
_SCREEN.ACTIVEFORM.REFRESH()
IF EOF()=.F.
SKIP
ENDIF
_SCREEN.ACTIVEFORM.REFRESH()
GO BOTTOM
_SCREEN.ACTIVEFORM.REFRESH()
_screen.ActiveForm.release()
Форма opr.scx
DO FORM vpr.scx
_screen.ActiveForm.release()
SET FILTER TO Raion=ra
SET FILTER TO
_screen.ActiveForm.release()
Форма opg.scx
DO FORM vpg.scx
_screen.ActiveForm.release()
SET FILTER TO Gorod=go
_screen.ActiveForm.release()
Форма roz.scx
DO FORM vor.scx
_screen.ActiveForm.release()
SET FILTER TO Nd=dv
_screen.ActiveForm.release()
Внешняя процедура sk.prg
CLOSE ALL
DEFINE WINDOW A FROM 10,10 TO 20,64 TITLE 'Страховое копирование'
ACTIVATE WINDOW a
DO WHILE .t.
@3,3 say "Будете делать копию?"
@7,10 get t func "*h OK; No" defa 0 size 1,6,8
READ cycle
DO CASE
CASE t=1
! copy AVTO.dbf.\stran
! copy ROZ.dbf.\stran
! copy password.dbf.\stran
DEFINE WINDOW w4 FROM 10,10 TO 15,70 COLOR SCHEME 22
ACTIVATE WINDOW w4
@1,1 say 'Данные скопированы в директорию /stran'
WAIT '' TIMEOUT 2
DEACTIVATE WINDOW w4
CLEAR WINDOW
CLEAR
RETURN
CASE t=2
DEACTIVATE WINDOW a
CLEAR
RETURN
ENDCASE
ENDDO
Внешняя процедура vd.prg
DEFINE WINDOW A FROM 10,10 TO 20,64 TITLE '' COLOR SCHEME 15
ACTIVATE WINDOW a
DO WHILE .t.
@3,3 say "Восстановить данные?"
@7,10 get t func "*h OK; NO" defa 0 size 1,6,8
READ cycle
DO case
CASE t=1
! copy .\strah\*.* c:\foxpro~1.6
DEFINE WINDOW w4 FROM 10,10 TO 15,70 COLOR SCHEME 22
ACTIVATE WINDOW w4
@1,1 say 'Данные восстановлены из директории /STRAH'
WAIT '' TIMEOUT 2
DEACTIVATE WINDOW w4
CLEAR WINDOW
CLEAR
RETURN
CASE t=2
DEACTIVATE WINDOW a
RETURN
ENDCASE
ENDDO
Внешняя процедура help.prg
SET TALK OFF
USE GBDD
DEFINE WINDOW p FROM 5,5 TO 20,33 TITLE 'Помощь' COLOR SCHEME 14
DEFINE WINDOW r1 FROM 5,33 TO 20,70 TITLE ALLTRIM(dd) COLOR 15
ot=0
g=1
DIMENSION a(8)
i=0
SCAN
i=i+1
a(i)=dd
ENDSCAN
GO 1
MODIFY MEMO help WINDOW r1 NOEDIT NOWAIT SAVE
DO WHILE .t.
ACTIVATE WINDOW p
@1,1 get g from a defa 1
@12,1 get ot func '*h показать;Exit' defa 0
READ cycl
GO g
IF ot=1
GO g
DEFINE WINDOW r1 FROM 5,33 TO 20,70 TITLE ALLTRIM(dd) COLOR 15
ACTIVATE WINDOW r1
MODIFY MEMO hel WINDOW r1 NOEDIT NOWAIT SAVE
ENDIF
IF ot=2
CLEAR WINDOW
DEACTIVATE WINDOW r1
CLOSE memo all
EXIT
ENDIF
ENDDO