Поле
|
Тип
|
Размер
|
Fam
|
Character
|
50
|
Tab
|
Numeric
|
5
|
Obr
|
Character
|
50
|
Nuz
|
Character
|
50
|
Nfk
|
Character
|
50
|
Spc
|
Character
|
50
|
Gpd
|
Numeric
|
4
|
Ost
|
Numeric
|
3
|
Pst
|
Numeric
|
4
|
Lst
|
Numeric
|
4
|
Dbz
|
Memo
|
4
|
Kop
|
Character
|
50
|
Kus
|
Character
|
50
|
Kbe
|
Memo
|
4
|
Ind
|
Memo
|
4
|
Sro
|
Memo
|
4
|
Ofo
|
Character
|
50
|
Vmk
|
Character
|
50
|
Ipp
|
Memo
|
4
|
Sme
|
Memo
|
4
|
Dkkur
|
Date
|
8
|
Dknak
|
Memo
|
4
|
Dknas
|
Character
|
50
|
Dkdan
|
Character
|
50
|
Dkdak
|
Character
|
50
|
Dkkat
|
Character
|
50
|
Dkraz
|
Character
|
50
|
Dkdpk
|
Date
|
8
|
Dkdpr
|
Memo
|
4
|
Dkuch
|
Date
|
8
|
Dnnag
|
Memo
|
|
Dnzva
|
Date
|
8
|
Dngde
|
Character
|
150
|
Dndat
|
Character
|
50
|
Dakmo
|
Character
|
50
|
Daavs
|
Memo
|
4
|
Dauro
|
Memo
|
4
|
Ddnou
|
Memo
|
4
|
Ddcpe
|
Character
|
50
|
Dddna
|
Date
|
8
|
Dddok
|
Character
|
150
|
Dpone
|
Character
|
50
|
Dptwo
|
Date
|
8
|
Dpito
|
Character
|
50
|
Dipre
|
Character
|
50
|
Dingr
|
Character
|
150
|
Dicvg
|
Memo
|
4
|
Dipuc
|
Memo
|
4
|
Divuc
|
Character
|
150
|
fam-фамилия
tab - табель
obr -
образование (высшее, средне тех., средне спец.)
nuz -
наименование учебного заведения
nfk -
наименование факультета
spc -
специальность
gpd -
год получения диплома по специальности
ost -
общий стаж работы (на сентябрь 2001г.)
pst -
педагогический стаж работы (на сентябрь 2001г.)
lst -
стаж работы в лицее 105 (на сентябрь 2001г.)
dbz -
выплняемые в лицее должносные обязанности
kop -
результаты контроля образовательного процесса
kus -
качество усвения знаний по предшествующему учебному году
kbe
качество образования по предшествующему учебному году
ind -
активно используемые преподавателем методы и приемы обучения
sro -
используемые средства обучения
ofo -
предпоччитаемые педагогом организационные формы обучения
vmk -
предпочитаемые виды и методы контроля
ipp -
индивидуальный план педагога
kur -
где закончен курс
nak -
наименование курсов
nas -=
наименование специализации
dan -
дата начала курсов
dak -
дата окончания курсов
kat -
категория (высшая, первая, вторая)
raz -
разряд категорииk - дата
присвоения категории
dpr -
дата присвоения разряда
uch -
учреждение в котором присвооена категория
nag -
наименование награды
zva -
звание
gde -
мест поучения награды
dat -
дата получения
kmo -
методические КМО
avs -
автрские статьи
uro -
урвень (ицей, зна, регион, федерация)
nou -
наименование образоватеьного учреждения
cpe -
специаизация
dna -
дата начаа
dok -
дата окончания
pre -
преподаваемая дисциплина
ngr -
номера групп
cvg -
часов в год
puc -
часов в 1 полугодие
vuc -
часов во 2 полугодие
one -
первое полугодие
two -
второе полугодие
ito -
итоговая
5. ПРОГРАМНОЕ ОБЕСПЕЧЕНИЕ ЗАДАЧИ
5.1 ОПИСАНИЕ ТЕХНОЛОГИЧЕСКОГО ПРОЦЕССА РЕШЕНИЯ ЗАДАЧИ
При разработке программы использовалась объектно- ориентированная
технология. Были применены методы визуального программирования Visual FoxPro.
Для ввода денных по сотрудникам бала создана форма «addgl.scx».
Для редактирования - форма «edit.scx», для хранения данных таблица ipr.dbf и для отчетов были созданы формы
«rap1 - rap14b.frx» c использованием встроенного генератора отчетов. Меню
программы создано при помощи встроенного генератора меню. После создания всех
форм, отчетов и процедур был создан файл проекта, который объединил в себе все
необходимые файлы программы, а после этого был создан ЕХЕ - файл ipr.exe
Задачей программы «ipr»
является поддержание базы данных преподавателей с разной категорией, разным
уровнем образования, разным процентом качества обучения и так далее, наглядное
представление данных в виде диаграммы, предоставление различных видов печатных
форм и выполнение поисковых операций по различным критериям.
Программу «ipr» можно условно
разделить на три части: модуль заполнения базы, модуль редактирования и поиска,
модуль графиков.
Что происходит в главном меню можно увидеть в алгоритме, приведенном в
приложении 1.
При загрузке программы устанавливаются некоторые системные параметры,
которые так же можно назвать установками среды программирования Visual FoxPro. После
этого загружается системное меню программы.
При загрузке модуля заполнения справочника происходит открытие
необходимых баз данных (Personal.dbf, servis.dbf, tovar.dbf ) и активизация
соответствующего подменю, состоящего из пунктов Комплектующие, Сервис,
Менеджер.
При выборе пункта меню Дополнение, загружается форма addgl.scx, присваиваются начальные
значения всем переменным, формируются объекты, описанные в форме (заголовки,
текстовые поля, кнопки и иные элементы управления). Загружается среда окружения
формы с базой данных ipr.dbf.
После загрузки система находится в режиме ожидания действий пользователя. После
ввода необходимой информации и занесения ее во временные переменные необходимо
нажать на одну из трех кнопок («Следующая», «Отмена»). При нажатии на первую из
них происходит дополнение БД из временных переменных. При нажатии кнопки
«Отмена» происходит обнуление переменных, а так же закрытие самой формы.
Внешний вид формы представлен на рисунке 1.
Рисунок 1. Окно заполнения БД.
При выборе пункта База\Поиск, вызывается окно поиска, со списком
критериев поиска (рис 2).
Рисунок 2. Окно со списком критериев поиска
Выбрав нужный, нажатием кнопки Поиск вызывается окно ввода значения
критерия либо его выбора из списка (второй вариант представлен на рисунке 3.).
Рисунок 3. Выбор значения критерия поиска
По нажатию кнопки Найти, появляется окно результата поиска, в котором
отображон список фамилий (рис 4).
Рис 4. Окно результата поиска.
5.2 АЛГОРИТМ РЕШЕНИЯ ЗАДАЧИ
2. Изучение предметной области, сбор
материалов и информации, необходимых для написания программы
3. Создание всех необходимых баз данных
4. Создание графического интерфейса
программы, то есть создание экранных форм с различными элементами управления,
также придание им разнообразных свойств.
5. Подвязка баз данных к экранным
формам, определение переменных, создание процедур для различных методов,
применяемых для экранных форм и элементов управления.
6. Создание процедурных файлов
системного меню, запросов к базам данных, выдачи печатных отчетов.
7. Создание проекта и включение в него
всех ранее созданных форм, процедур, источников данных.
8. Создание главного процедурного файла,
управляющего всеми модулями программы и компиляция проекта в .exe-файл.
9. Отладка программы.
10. Создание инсталляционного пакета, с
помощью встроенного в Visual FoxPro 5.0 мастера Setup.
5.3 ОПИСАНИЕ ИНТЕРФЕЙСА РАБОТЫ ПОЛЬЗОВАТЕЛЯ С ПРОГРАММНЫМ
ПРОДУКТОМ РЕАЛИЗУЮЩИМ ЗАДАЧУ
Интерфейс программы имеет графический вид (в стиле Windows 9x). При создании программы использовались стандартные элементы
управления и ввода данных, что привело к созданию интуитивно понятной оболочки
пользователя.
5.4 ОТЛАДКА ПРОГРАММ И КОНТРОЛЬНЫЙ ПРИМЕР РЕШЕНИЯ ЗАДАЧИ
При отладке программных продуктов часто бывает необходимо детально
проследить поведение программы и ее переменных в сомнительных местах, то есть
выполнить трассировку.FoxPro обладает удобным и гибким отладчиком программ.
Два специальных отладочных окна Debug и Trace, могут могут вызываться
раздельно или вместе. В окне Trace выводится команды исполняемой программы, а в
окне Debug - значение указанных в нем переменных и выражений. Находясь в окне
Trace в момент останова программы, мы можем управлять трассировкой, пользуясь
горизонтальным Trace-меню, расположенным в верхней его части. Если есть
сомнения касающиеся некоторых переменных, значение которых сложно отследить, то
следует начинать отладку с вызова окна Debug.
Режим отладки и его средства могут быть вызваны непосредственным
применением следующих set-команд:ECHO ON/OFF - осуществляет выдачу всех
исполняемых команд программы в окне TRACEDEBUG ON/OFF - разрешает использование
окон отладкиTALK ON/OFF - отключает автоматическую выдачу на экран результатов
большинства исполняемых командSTATUS ON/OFF - выводит статус строку на
экранSTEP ON/OFF - устанавливает пошаговый темп исполнения программы с выводом
окна TRACE.
Эти команды могут включаться в текст программы в нужных для этого местах
с последующим их удалением.
Тестирование отдельных компонентов
Обычное тестирование компонентов проходит в 2 этапа:
Сначала отлаживается компонент отдельно, затем проверяется их работа в
составе предложения.
Использование средств отладки
Если в приложении обнаружились ошибки, можно локализовать и исправить их
с помощью отладочных средств Visual FoxPro.
Отладочные средства предлагают интерактивные возможности для:
Прямого ввода команд. Окно Command позволяет проверить отдельные строки
кодов в среде разработки Visual FoxPro.
Динамического отображения переменных. Окно Debug можно использовать для
динамического отображения значений переменных как в среде разработки, так и в
среде выполнения.
Просмотр параметров функции и команд set. В окне Debug можно отображать
возвращаемые функциями значения м просматривать установки команд set.
Установки точек останова. Можно приостановить выполнение программы,
установив точки останова. Для этого в окне Debug надо установить маркер
останова и указать значение, при котором выполнение программы должно
прерваться.
Трассировки программ и форм. Можно использовать окно Trace, для
выполнения программ с заданной скоростью и проверкой результатов выполнения
кода. В окне Trace можно управлять скоростью выполнения программ, устанавливая
конкретную скорость выполнения, применять пошаговое выполнение строка за
строкой пропуская уже отлаженную часть кода, и устанавливать точки останова.
Дополнительно можно трассировать формы и устанавливать точки останова в
обработчиках событий.
Доступность некоторых средств отладки зависит от текущего состояния
FoxPro Visual.
Среда разработки Visual FoxPro - это интерфейс разработки и
конструирования приложения.
Среда выполнения - это интерфейс приложения, в котором активна команда
Read Events.
Окно Debug и Trace доступны в обеих средах. Окно Command доступно только
в среде разработки.
Контрольный пример
В качестве контрольного примера рассмотрим процедуру занесения сотрудника
в базу данных, с последующим построением графика по критерию «Образование»
учитывая занесенного сотрудника.
Для осуществления операции занесения в базу нового сотрудника, нужно
запустить программу, выбрать пункт меню База / Дополнение, внести все
необходимые данные и нажать кнопку «Следующая» (рисунок 2)
Рис.2
Закладка «Общие» окна «Заполнение базы данных»
После этого необходимо выбрать подпункт Отчет\Построение графика. Сделав
это, появится окно представленное на рисунке 3.
В нем при необходимости можно распечатать табличное представление графика
на принтер.
Рисунок 3. Построение графика
Рисунок 4. Список фамилий соответствующих выбранному критерию.
После построения графка, можно получить фамилии сотрудников,
соответствующих выбранному критерию. Сделать это можно нажав на цифру соответствующюю
количеству сотрудников на против полосы графика. Окно предоставляющее эту
информацию приведено на рисунке 4.
В появившемся окне, при желании можно выбрав сотрудника просмотреть всю
информацию по нему, нажав клавишу Enter. Результат этих манипуляций приведен на рисунке 5. Кнопка «Печать»,
отраспечатает всю информацию по сотруднику.
Рисцнок 5. Окно просмотра информации по сотруднику.
5.5 Инструкция по эксплуатации
1. Установить программу с помощью
дистрибутивного пакета, указав рабочий каталог.
2. Запустить программу двойным щелчком
мыши по ярлыку на рабочем
3. Запустить программу двойным щелчком
мыши по ярлыку на рабочем столе или по запускаемому файлу.
4. Появляется меню со следующими
пунктами: База, Отчет, Выход.
5. Для работы с базой данных,
используется пункт главного меню База включающий в себя подпункты:а)Дополнение:
используется для дополнения базы данных новыми преподавателями. При его выборе,
появляется окно с несколькими страницами, перемещаясь между которыми можно
занести необходимую информацию. После этого, при нажатии на кнопку Следующая,
введенные данные будут занесены в базу. При нажатии кнопки Отмена, данные не
будут занесены в базу.б)Поиск: в появившемся окне отображаются несколько
критериев (номера учебных групп, должностная обязанность, педагогическая
нагрузка, процент качества, методы обучения, формы обучения, образование,
педагогический стаж, квалификационная категория, звания и награды, уровень
проведения, преподаваемая дисциплина, виды методы и формы контроля) для
осуществления поиска по базе данных. После выбора любого из них, появляется
соответствующее этому критерию окно с полем для ввода. После ввода значения,
нажатием кнопки Найти, осуществляем поиск. Результат поиска (фамилии) выводится
в окно (при нажатии клавиши F1 -
распечатывается на принтер текущий список фамилий учитывая критерий поиска).
При нажатии клавиши Enter, появляется
окно с подробной информацией по выбранной фамилии (с возможностью распечатки на
принтер). На любом этапе поиска, кнопкой Отмена можно закрыть текущее
окно.в)Редактирование: в появившемся окне, из раскрывающегося списка,
необходимо выбрать фамилию. После нажатия кнопки Изменить, появляется окно
редактирования информации по выбранному преподавателю. Внеся необходимую
корректировку в соответствующие поля, нажатием кнопки Изменить, вносим
изменения в базу данных. На любом этапе, кнопкой Отмена можно закрыть текущее
окно.г)Удаление: в появившемся окне, из раскрывающегося списка, необходимо
выбрать фамилию. После ее выбора, подтверждаем удаление кнопкой Удалить.
Удаленная запись помещается в корзину. На любом этапе, кнопкой Отмена можно
закрыть текущее окно.д)Корзина: служит для восстановления (клавишей Enter) ранее удаленных записей.
6. Для формирования различных отчетов
служит пункт главного меню Отчет:а)Построение графика: при выборе этого
подпункта, появляется окно в котором необходимо выбрать критерий построения
графика. На любом этапе поиска, кнопкой Отмена можно закрыть текущее
окно.б)Просмотр: вызывает полный список фамилий хранящихся в базе данных. При
желании, клавишей Enter можно
вызвать окно подробного просмотра информации по выбранной записи. (с
возможностью распечатки на принтер). На любом этапе, кнопкой Отмена можно
закрыть текущее окно.
7. Выход: При желании можно выйти из
программы с откатом базы данных (не сохраняя внесенные изменения начиная с
текущего запуска программы) поставив флажок С откатом базы данных?. Если флажок
не установлен, все изменения будут сохранены. На любом этапе, кнопкой Отмена
можно закрыть текущее окно.
6. ЗАКЛЮЧЕНИЕ
На сегодняшний день, автоматизированное рабочее место оператора
продолжает изменяться с учетом появления новых требований к обработке данных
или разнообразия систем введения статистического учета на разных предприятиях.
Программы постоянно совершенствуются, изменяется пользовательский интерфейс -
он становится более удобным и интуитивно понятным пользователю.
Создание системной машинной обработки данных, сетей ЭВМ и вычислительных
центров коллективного пользования, решающих разнообразные задачи учета,
планирования, контроля, анализа и регулирования процессов производства и
управления, а также автоматизация процессов обмена данными способствует
повышению уровня обработки информации (данных), эффективности учета и контроля
обрабатываемой информации. Это в свою очередь повышает эффективность
производственной деятельности предприятия (учреждения), что, в конечном итоге,
повысит уровень производительности и работоспособности в целом.
Создание сетей ЭВМ и ВЦ, решающих разнообразные задачи учета,
автоматизации производств обмена данными способствует повышению уровня
обработки данных, эффективности учета и контроля обрабатываемой информации.
Основная задача автоматизированной обработки массивов информации, в
часности автоматизированного рабочего места рассмотренного в дипломном проэкте,
заключалась в том, что бы облегчить работу методиста. Она включала в себя
поддержание базы данных преподавателей с разной категорией, разным уровнем
образования, разным процентом качества обучения и так далее, наглядное
представление данных в виде диаграммы, предоставление различных видов печатных
форм и выполнение поисковых операций по различным критериям.
7. ПЕРЕЧЕНЬ СОКРАЩЕНИЙ
MS - MicroSoft
VFP - VisualFox Pro
БД - база данных
Лкм- левая кнопка мыши
ОС - операционная система
ПК - персональный компьютер
СУБД - система управления базами данных
8. СПИСОК ЛИТЕРАТУРЫ
1. Попов А.А.
FoxPro 2.5/2.6 г. Москва изд. ДЕСС КОММ
2000 г.
. Менахем
Базиян Использование VisualFox Pro 6.0 г. Москва
изд. Вильямс 2000 г.
ПРИЛОЖЕНИЕ 1
ПРИЛОЖЕНИЕ 2
Листинг:
error do or.prgtalk offcurs offsafety offbell to 10000,1talk
off date germancurs ondele on
*set hour to 24
*set cloc onkey label ESC do orkey label F1 do orkey label F2
do orkey label F3 do orkey label F4 do orkey label F5 do orkey label F6 do
orkey label F7 do orkey label F8 do orkey label F9 do orkey label F10 do orkey
label F11 do orkey label F12 do orkey label Ctrl-h do orkey label
Ctrl-leftarrow do orkey label Ctrl-rightarrow do oripr on fam to ifamfile
ifam.idx to ifamcopy.idxfile ipr.dbf to iprcopy.dbffile ipr.fpt to
iprcopy.fptipr index ifamwind screen from 1,0 to 0,25 titl 'IPR v 3.1' icon
file 'C:\Dutch\ipr v 3.1\ico\ipr.ico' NOGROW noclose nozooipr.prgeven
Меню
*modi wind screen from 48,2 to 47,1 titl 'Пароль' NOGROW noclose nozoo
*do form passwordSYSMENU SAVESYSMENU TOPAD База OF _MSYSMENU PROMPT 'База' COLOR SCHEME 3 PAD Отчет OF _MSYSMENU PROMPT 'Отчет' COLOR SCHEME 3 PAD Выход OF _MSYSMENU PROMPT 'Выход'COLOR SCHEME 3
*DEFINE PAD Справка
OF _MSYSMENU PROMPT 'Справка'COLOR SCHEME 3
PAD База OF _MSYSMENU ACTIVATE
POPUP базаPAD Отчет OF _MSYSMENU ACTIVATE POPUP отчетPAD Выход OF _MSYSMENU ACTIVATE POPUP ex
*ON PAD Справка
OF _MSYSMENU ACTIVATE POPUP справка
POPUP база MARGIN RELATIVE SHADOW
COLOR SCHEME 4BAR 1 OF база PROMPT 'Дополнение'BAR 2 OF база PROMPT 'Поиск' BAR 3 OF база PROMPT 'Редактирование' BAR 4 OF база PROMPT 'Удаление' BAR 5 OF база PROMPT 'Корзина' sele bar 1 of база do form addglsele bar 2 of база do form findglsele bar 3 of база do form editsele bar 4 of база do form delsele bar 5 of база do recicled.prg
POPUP отчет MARGIN RELATIVE SHADOW
COLOR SCHEME 4BAR 1 OF отчет PROMPT 'Построение графика' BAR 2 OF отчет
PROMPT 'Просмотр' sele bar 1 of отчет do form graphsele bar 2 of отчет do view.prg
POPUP ex MARGIN RELATIVE SHADOW COLOR SCHEME 4BAR 1 OF ex
PROMPT 'Выйти' sele bar 1 of ex do form
exit
Файл просмотраfilt tokeykey label Enter do form
viewkey label RIGHTARROW do orkey label LEFTARROW do orkey label TAB do or
wind view from 5,30 to 35,70 title "Просмотр всвей базы данныйых"
font '',9 close nomini nozoom in desktopwind viewwind view nome noed noap node
field fam:h="Фамилия"
*brow wind view part 45 redit lpar nome noed noap node field
fam:h="Фамилия",;
*tab:h="Табель",;
*obr:h="Образование",;
*nuz:h="Учебное заведение",;
*nfk:h="Факультет",;
*spc:h="Специальность",;
*gpd:h="Год получения диплома по специальности",;
*ost:h="Общий стаж работы (на сентябрь 2001г.)",;
*pst:h="Педагогический стаж работы (на сентябрь 2001г.)",;
*lst:h="Стаж работы в лицее 105 (на сентябрь 2001г.)",;
*dbz:h="Выплняемые в лицее должносные обязанности",;
*kop:h="Результаты контроля образовательного процесса",;
*kus:h="Процент успеваемости",;
*kBE:h="Процент качества",;
*ind:h="Активно используемые методы и приемы обучения",;
*sro:h="Используемые средства обучения",;
*ofo:h="Предпоччитаемые организационные формы обучения",;
*vmk:h="Предпочитаемые виды и методы контроля",;
*ipp:h="Индивидуальный план педагога" ,;
*sme:h="Совмещение",;
*dkkur:h="Где закончен курс повышения квалификации",;
*dknak:h="Наименование курсов повышенния квалификации",;
*dknas:h="Наименование специализации",;
*dkdan:h="Дата начала курсов повышения кваллификации",;
*dkdak:h="Дата окончания курсов повышения кваллификации",;
*dkkat:h="Категория",;
*dkraz:h="Разряд категории",;
*dkdpk:h="Дата присвоения категории",;
*dkdpr:h="Дата присвоения разряда",;
*dkuch:h="Учреждение в котором присвоена категория",;
*dnnag:h="Наименование награды",;
*dnzva:h="Звание",;
*dngde:h="Место полуения награды",;
*dndat:h="Дата получения",;
*dakmo:h="Методические КМО",;
*daavs:h="Авторские статьи",;
*dauro:h="Уровень проведения",;
*ddnou:h="Наименование обр. учреждения (Доп. Обр.)",;
*ddcpe:h="Специализация (Доп. Обр.)",;
*dddna:h="Дата начала (Доп. Обр.)",;
*dddok:h="Дата окончания (Доп. Обр.)",;
*dipre:h="Преподаваемая дисциплина",;
*dingr:h="Номара групп",;
*dicvg:h="Часов в год",;
*dipuc:h="Часов в 1 полугодие",;
*divuc:h="Часов во 2 полугодие",;
*dpone:h="Часов в 1 полугодие (итог)",;
*dptwo:h="Часов во 2 полугодие (итог)",;
*dpito:h="Итог"keywind view
Корзинаrecrecdele
offkey label Enter do form recicledkey label RIGHTARROW do orkey label
LEFTARROW do orkey label TAB do orkey label F1 do form packwind view from 0,0
to 47,100 title "Восстановить запись - Enter; Очистка корзины - F1" foot "Корзина" color scheme 10 close nozoom
nofloat font'roman',9 in desktopwind viewwind view for dele()=.t. part 25 redit
lpar nome noed noap node field fam:h="Фамилия",;
tab:h="Табель",;:h="Образование",;:h="Учебное
заведение",;:h="Факультет",;:h="Специальность",; :h="Год
получения диплома по специальности",;:h="Общий стаж работы (на
сентябрь 2001г.)",;:h="Педагогический стаж работы (на сентябрь
2001г.)",;:h="Стаж работы в лицее 105 (на сентябрь
2001г.)",;:h="Выплняемые в лицее должносные
обязанности",;:h="Результаты контроля образовательного
процесса",;:h="Процент успеваемости",;:h="Процент качества",;:h="Активно
используемые методы и приемы обучения",;:h="Используемые средства
обучения",;:h="Предпоччитаемые организационные формы
обучения",;:h="Предпочитаемые виды и методы
контроля",;:h="Индивидуальный план педагога"
,;:h="Совмещение",;:h="Где закончен курс повышения
квалификации",;:h="Наименование курсов повышенния
квалификации",;:h="Наименование специализации",;:h="Дата
начала курсов повышения кваллификации",;:h="Дата окончания курсов
повышения кваллификации",;:h="Категория",;:h="Разряд категории",;:h="Дата
присвоения категории",;:h="Дата присвоения разряда",; :h="Учреждение
в котором присвоена категория",;:h="Наименование
награды",;:h="Звание",;:h="Место полуения
награды",;:h="Дата получения",;:h="Методические
КМО",;:h="Авторские статьи",; :h="Уровень
проведения",;:h="Наименование обр. учреждения (Доп.
Обр.)",;:h="Специализация (Доп. Обр.)",;:h="Дата начала
(Доп. Обр.)",;:h="Дата окончания (Доп.
Обр.)",;:h="Преподаваемая дисциплина",;:h="Номара
групп",;:h="Часов в год",;:h="Часов в 1
полугодие",;:h="Часов во 2 полугодие",;:h="Часов в 1
полугодие (итог)",;:h="Часов во 2 полугодие (итог)",;
dpito:h="Итог"wind viewkeydele on
*proc restor
*push key clea
*defi wind me from 10,10 to 16,60 titl "Восстановление записи" font'roman',9 close zoom
*acti wind me
*@1,5 say 'Вы действительно хотите восстановить'+' '+fam+' из корзины'
*@3,18 get a func "*ht Да хочу;Неочень" defa 1
*read
*if a=1
*reca
*wait wind 'Запись востановлена'
*rele wind me
*endi
*rele wind me
*do rec
Форма Добавленияgfam,gtab,gobr,gnuz,gnfk,gspc,ggpd,gost,gpst,glst,gdbz,gkop,gkus,gkbe,gind,gsro,gofo,gvmk,gipp,kkur,knak,knas,kdan,kdak,kkat,kraz,kdpk,kdpr,kuch,nnag,nzva,ngde,ndat,akmo,aavs,auro,dnou,dcpe,ddna,ddok,pone,ptwo,pito,ipre,ippr,ingr,icvg,ipuc,ivuc,gsme=spac(50)=0=spac(50)
=spac(1000) =spac(1000) =spac(1000) =0=0=0 =0=spac(50) =spac(1000)
=0=0=spac(150) =spac(1000)=spac(50) =spac(150) =spac(150)=spac(50)=spac(50)
*****кваификация=spac(1000)=spac(1000)=spac(1000)={}={}=spac(10)=0={}={}=spac(1000)
*****награды=spac(50)=spac(50)=spac(50)={}
*****автрские разрабтки=spac(1000)
aavs=spac(1000)=spac(20)
*****дополнительне бразование
dnou=spac(1000)=spac(1000)={}
ddok={}
*****итоговая педагогичческая нагрузка=0
ptwo=0=0
*****итог=spac(50)=spac(50)=spac(25)=0=0=0nButton,
nShift, nXCoord, nYCoord.pageframe1.page1.image1.picture='C:\Dutch\ipr v
3.1\ico\Button Studuo\next.bmp'.pageframe1.page1.image2.picture='C:\Dutch\ipr v
3.1\ico\Button Studuo\close.bmp' LPARAMETERS nButton, nShift, nXCoord,
nYCoord.pageframe1.page1.image1.picture='C:\Dutch\ipr v 3.1\ico\Button
Studuo\next.bmp'.pageframe1.page1.image2.picture='C:\Dutch\ipr v 3.1\ico\Button
Studuo\close.bmp'
cMessageTitle='Общие данные'='Ввода общей информации'
nDialogType=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)
cMessageTitle='Общие данные'='Ввода общей информации'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)for
fam=gfamempty(ggpd)=.f. .and. ggpd<1920
cMessageTitle='Ошибка ввода в поле "Год получения
диплома"'='Год должен записываться четырехзначным числом'
nDialogType=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)found()=.t.
or gfam=spac(30)
cMessageTitle='Ошибка ввода в поле "Фамилия"'='Поле фамилия не
заполнено,либо такая фамилия уже есть в базе данных'
nDialogType=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)
blanfam with gfamtab with gtabobr with gobrnuz with gnuznfk
with gnfkspc with gspcgpd with ggpdost with gostpst with gpstlst with glstdbz
with gdbzkop with gkopkus with gkuskbe with gkbeind with gindsro with gsroofo
with gofovmk with gvmkipp with gippthisform.pageframe1.page1.Embos.visible=.f.sme
with gsmesme with gsme1
*****кваификацияdkkur with kkurdknak with
knakdknas with knasdkdan with kdandkdak with kdakdkkat with kkatdkraz with
krazdkdpk with kdpkdkdpr with kdprdkuch with kuch
*****наградыdnnag with nnagdnzva with
nzvadngde with ngdedndat with ndat
*****автрские разрабткиdakmo with akmodaavs with aavs
repl dauro with auro
*****дополнительне бразование
repl ddnou with dnouddcpe with dcpedddna with ddnadddok with
ddok
*****итоговая педагогичческая нагрузкаdpone with ponedptwo with
ptwodpito with pito
*****итогdipre with ipredippr with
ipprdingr with ingrdicvg with icvgdipuc with ipucdivuc with ivuc
*****restore =spac(50)=0=spac(50) =spac(1000) =spac(1000)
=spac(1000) =0=0=0 =0=spac(50) =spac(1000) =0=0=spac(150) =spac(1000)=spac(50)
=spac(150) =spac(150)=spac(50)=spac(30)
*****кваификация=spac(1000)=spac(1000)=spac(1000)={}={}=spac(10)=0={}={}=spac(1000)
*****награды=spac(50)=spac(50)=spac(50)={}
*****автрские разрабтки=spac(1000)=spac(1000)
auro=spac(20)
*****дополнительне бразование=spac(1000)=spac(1000)={}={}
*****итоговая педагогичческая нагрузка
pone=0=0=0
*****итог=spac(50)=spac(50)=spac(25)=0=0=0
*****refresh.pageframe1.page1.Embos.visible=.f..pageframe1.page1.refresh.pageframe1.page2.refresh.pageframe1.page3.refresh.pageframe1.page4.refresh.pageframe1.page5.refresh.pageframe1.page6.refresh.pageframe1.page7.refreshempt(gfam)='Ошибка ввода'='Необходимо выбрать
фамилию из списка'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)for
fam=gfamfound()=.t.form del1='Ошибка ввода'='Ввод фамилии недопустим. Необходимо
выбрать ее из списка'=0+64+0
nAnswer=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle).releasekey
label ESC do or.prg
cMessageTitle='Внимание!'='Запись была удалена'
nDialogType=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key
Форма редактированияgfam,gtab,gobr,gnuz,gnfk,gspc,ggpd,gost,gpst,glst,gdbz,gkop,gkus,gkbe,gind,gsro,gofo,gvmk,gipp,kkur,knak,knas,kdan,kdak,kkat,kraz,kdpk,kdpr,kuch,nnag,nzva,ngde,ndat,akmo,aavs,auro,dnou,dcpe,ddna,ddok,pone,ptwo,pito,ipre,ippr,ingr,icvg,ipuc,ivuc,gsme=fam=tab=obr=nuz=nfk=spc=gpd=ost=pst
=lst=dbz=kop=kus=kbe=ind=sro=ofo=vmk=ipp=sme
*****кваификация=dkkur=dknak=dknas=dkdan=dkdak=dkkat=dkraz=dkdpk=dkdpr=dkuch
*****награды=dnnag=dnzva=dngde=dndat
*****автрские разрабтки=dakmo
aavs=daavs=dauro
*****дополнительне бразование
dnou=ddnou=ddcpe=dddna=dddok
*****итоговая педагогичческая нагрузка=dpone=dptwo=dpito
*****итог=dipre=dippr=dingr=dicvg=dipuc=divuc
for fam=allt(ggfam)empty(ggfam)=.t.='Ошибка ввода'='Выберите фамилию!'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)
form edit1 empty(ggpd)=.f. .and. ggpd<1920
cMessageTitle='Ошибка ввода в поле "Год получения
диплома"'='Год должен записываться четырехзначным числом'
nDialogType=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)gfam=spac(30)
cMessageTitle='Ошибка ввода в поле "Фамилия"'='Поле фамилия не
заполнено'=0+64+0
nAnswer=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)for
fam=ggfamblanfam with gfamtab with gtabobr with gobrnuz with gnuznfk with
gnfkspc with gspcgpd with ggpdost with gostpst with gpstlst with glstdbz with
gdbzkop with gkopkus with gkuskbe with gkbeind with gindsro with gsroofo with
gofovmk with gvmkipp with gippthisform.pageframe1.page1.Embos.visible=.f.sme
with gsmesme with gsme1
*****кваификацияdkkur with kkurdknak with
knakdknas with knasdkdan with kdandkdak with kdakdkkat with kkatdkraz with
krazdkdpk with kdpkdkdpr with kdprdkuch with kuch
*****наградыdnnag with nnagdnzva with
nzvadngde with ngdedndat with ndat
*****автрские разрабткиdakmo with akmodaavs with aavs
repl dauro with auro
*****дополнительне бразование
repl ddnou with dnouddcpe with dcpedddna with ddnadddok with
ddok
*****итоговая педагогичческая нагрузкаdpone with ponedptwo with
ptwodpito with pito
*****итогdipre with ipredippr with
ipprdingr with ingrdicvg with icvgdipuc with ipucdivuc with ivuc
*****refresh.pageframe1.refresh='Внимание'='Запись обновлена'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)=gfamgsme='Мастер ПО'
.or. gsme='Преподаватель' .or. gsme='Руководитель с/п' .or. gsme='Преподаватель ц.к.' .or. gsme='Зам. директора' .or. gsme='Куратор'
.pageframe1.page1.Embos.visible=.f.=spac(30).pageframe1.page1.Embos.visible=.t.=gsme='Другое'.pageframe1.width=650.pageframe1.height=398.width=648.height=385
casefsel=1.00a=1form findngr=a+1fsel=2.00form
finddbzfsel=3.00form findpnagfsel=4.00form findkbefsel=5.00form
findmetfsel=6.00form findofofsel=7.00form findobrfsel=8.00form
findstafsel=9.00form findkvafsel=10.00form findzvafsel=11.00form findurofsel=12.00form
findprefsel=13.00form findkon.releasekey label ENTER do view.prgipr inde ifam
casegkbe='50%-60%'for kbe>=50 and kbe<60found()=.t.topkey label ENTER do
view.prgkey label F1 do rap3.prg.visible=.f.wind itogfor kbe>=50 and kbe<60
fields kbe:h="% качества", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keygkbe='60%-70%'for
kbe>=60 and kbe<70found()=.t.topkey label ENTER do view.prgkey label F1
do rap3.prg.visible=.f.wind itogfor kbe>=60 and kbe<70 fields
kbe:h="% качества", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keygkbe='70%-80%'for
kbe>=70 and kbe<80found()=.t.topkey label ENTER do view.prgkey label F1
do rap3.prg.visible=.f.wind itogfor kbe>=70 and kbe<80 fields
kbe:h="% качества", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keygkbe='80%-90%'for
kbe>=80 and kbe<90found()=.t.topkey label ENTER do view.prgkey label F1
do rap3.prg.visible=.f.wind itogfor kbe>=80 and kbe<90 fields
kbe:h="% качества", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keygkbe='90%-100%'for
kbe>=90 and kbe<100found()=.t.topkey label ENTER do view.prgkey label F1
do rap3.prg.visible=.f.wind itogfor kbe>=90 and kbe<100 fields
kbe:h="% качества", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keygkbe='100%'for
kbe=100found()=.t.topkey label ENTER do view.prgkey label F1 do
rap3.prg.visible=.f.wind itogfor kbe=100 fields kbe:h="% качества", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)
pop key
Формы поиска
if empt(gdbz)='Ошибка
ввода'
cMessageText='Выберите критерий поиска'=0+64+0
nAnswer=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)for
dbz=allt(gdbz)found()=.t.topkey label ENTER do form viewkey label F1 do
rap2.prg.visible=.f.wind itogfor dbz=allt(gdbz) fields dbz:h="Должносные обязанности", fam:h="Фамиия" noed noap wind itogkeyempt(gdbz)='Ошибка ввода'
cMessageText='Для поиска необходимо сначала выбрать должностную
обязанность'
nDialogType=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key.releaseempty(kkat)='Ошибка ввода'='Выберите критерий поиска'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key
label ENTER do view.prgipr inde ifam for dkkat=allt(kkat)found()=.t.topkey
label ENTER do view.prgkey label F1 do rap5.prg.visible=.f.wind itog for
dkkat=allt(kkat) fields dkkat:h="Квалификационная категория", fam:h="Фамиия" noed noap wind itogkey='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keyempt(gobr)='Ошибка ввода'='Выберите критерий поиска'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key
label ENTER do view.prgipr inde ifam for obr=allt(gobr)found()=.t.topkey label
ENTER do view.prgkey label F1 do rap8.prg.visible=.f.wind itog for
obr=allt(gobr) fields obr:h="Образование", fam:h="Фамиия" noed noap wind itogkey='Ошибка ввода'='Такой записи не найдено'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)
keykey label ENTER do view.prgipr inde ifam sel=1for
dpone<=pone+100 .and. dpone>=pone-100found()=.t.filt to
dpone<=pone+100 .and. dpone>=pone-100key label ENTER do view.prgkey label
F1 do rap10.prg.visible=.f.wind itog fields dpone:h="1 Полугодие", fam:h="Фамиия" noed noap wind itogkeyfilt
to='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key
sel=2for dptwo<=ptwo+100 .and. dptwo>=ptwo-100found()=.t.filt
to dptwo<=ptwo+100 .and. dptwo>=ptwo-100key label ENTER do view.prgkey
label F1 do rap10.prg.visible=.f.wind itog fields dptwo:h="2 Полугодие", fam:h="Фамиия" noed noap wind itogkeyfilt
to='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key
sel=3for dpito<=pito+100 .and.
dpito>=pito-100found()=.t.filt to dpito<=pito+100 .and.
dpito>=pito-100key label ENTER do view.prgkey label F1 do
rap10.prg.visible=.f.wind itog fields dpito:h="Итог", fam:h="Фамиия" noed noap wind itogkeyfilt
to='Внимание'='Поиск неудачен'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)keyempt(auro)='Ошибка ввода'='Выберите критерий поиска'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)key
label ENTER do view.prgipr inde ifam for dauro=allt(auro)found()=.t.topkey
label ENTER do view.prgkey label F1 do rap13.prg.visible=.f.wind itog for
dauro=allt(auro) fields dauro:h="Уровень
проведения", fam:h="Фамиия" noed noap wind itogkey='Ошибка ввода'='Такой записи не найдено'=0+64+0=MeSSAGEBOX(cMessageText,nDialogType,cMessageTitle)
key.label13.visible=.f..refresh.image1.visible=.f..text1.visible=.f..label1.visible=.f..image2.visible=.f..text2.visible=.f..label2.visible=.f..image3.visible=.f..text3.visible=.f..label3.visible=.f..image4.visible=.f..text4.visible=.f..label4.visible=.f..image5.visible=.f..text5.visible=.f..label5.visible=.f..image6.visible=.f..text6.visible=.f..label6.visible=.f..image7.visible=.f..text7.visible=.f..label7.visible=.f..image8.visible=.f..text8.visible=.f..label8.visible=.f..image9.visible=.f..text9.visible=.f..label9.visible=.f..image10.visible=.f..text10.visible=.f..label10.visible=.f..image11.visible=.f..text11.visible=.f..label11.visible=.f..image12.visible=.f..text12.visible=.f..label12.visible=.f.=0=0=0=0=0=0=0=0=0=0=0=0=0
case
gr=1.label1.visible=.t..label1.caption='Высшее'.label2.visible=.t..label2.caption='Средне-техническое'.label3.visible=.t..label3.caption='Средне-специальное'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t.=0=0=0topwhile
eof()=.f.obr="Высшее"=a+1
elseobr="Средне-техническое"=b+1obr="Средне-специальное"
c=c+1=max(a,b,c)case
a=maxis=(b*340)/a=(c*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3b=maxis=(a*340)/b=(c*340)/b.image1.width=hi1.image2.width=328.image3.width=hi3c=maxis=(a*340)/с=(b*340)/с.image1.width=hi1.image2.width=hi2.image3.width=328.refresh
gr=2top.label1.visible=.t..label1.caption='с
1960 по 1970'.label2.visible=.t..label2.caption='с
1970 по 1980'.label3.visible=.t..label3.caption='с
1980 по 1990'.label4.visible=.t..label4.caption='с
1990 по 2000'.label5.visible=.t..label5.caption='2000 и позже'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t.=0=0=0=0=0while
eof()=.f.gpd>=1960 .and. gpd<1970=a+1gpd>=1970 .and.
gpd<1980=b+1gpd>=1980 .and. gpd<1990=c+1gpd>=1990 .and.
gpd<2000=d+1gpd>=2000=e+1
=max(a,b,c,d,e)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.refresh
gr=3top.label1.visible=.t..label1.caption='от 0 до 5 лет'.label2.visible=.t..label2.caption='от 5 до 10
лет'.label3.visible=.t..label3.caption='от 10
до 20 лет'.label4.visible=.t..label4.caption='от 20
до 30 лет'.label5.visible=.t..label5.caption='свыше
30 лет'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t.=0=0=0=0=0while
eof()=.f.ost>=0 .and. ost<5=a+1ost>=5 .and. ost<10=b+1ost>=10
.and. ost<20=c+1ost>=20 .and. ost<30=d+1ost>=30=e+1
=max(a,b,c,d,e)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.refresh
gr=4top.label1.visible=.t..label1.caption='1
год'.label2.visible=.t..label2.caption='2 года'.label3.visible=.t..label3.caption='3
года'.label4.visible=.t..label4.caption='4 года'.label5.visible=.t..label5.caption='5
лет'.label6.visible=.t..label6.caption='от 5 до 10
лет'.label7.visible=.t..label7.caption='свыше
10 лет'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t..image6.visible=.t..text6.visible=.t..image7.visible=.t..text7.visible=.t.=0=0=0=0=0=0=0
while eof()=.f.pst=1=a+1pst=2
=b+1pst=3=c+1pst=4=d+1pst=5=e+1pst>5 .and.
pst<10=f+1pst>=10=g+1=max(a,b,c,d,e,f,g)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a=(f*340)/a=(g*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b=(f*340)/b=(g*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c=(f*340)/c=(g*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d=(f*340)/d=(g*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5.image6.width=hi6.image7.width=hi7e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e=(f*340)/e=(g*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.image6.width=hi6.image7.width=hi7f=maxis=(a*340)/f=(b*340)/f=(c*340)/f=(d*340)/f=(e*340)/f=(g*340)/f.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=340.image7.width=hi7g=maxis=(a*340)/g=(b*340)/g=(c*340)/g=(d*340)/g=(e*340)/g=(f*340)/g.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=340.refresh
gr=5top.label1.visible=.t..label1.caption='1
год'.label2.visible=.t..label2.caption='2 года'.label3.visible=.t..label3.caption='3
года'.label4.visible=.t..label4.caption='4 года'.label5.visible=.t..label5.caption='5
лет'.label6.visible=.t..label6.caption='от 5 до 10
лет'.label7.visible=.t..label7.caption='свыше
10 лет'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t..image6.visible=.t..text6.visible=.t..image7.visible=.t..text7.visible=.t.=0=0=0=0=0=0=0while
eof()=.f.lst=1=a+1lst=2 =b+1lst=3=c+1lst=4=d+1lst=5=e+1lst>5 .and.
lst<10=f+1lst>=10=g+1=max(a,b,c,d,e,f,g)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a=(f*340)/a=(g*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b=(f*340)/b=(g*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c=(f*340)/c=(g*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d=(f*340)/d=(g*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5.image6.width=hi6.image7.width=hi7e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e=(f*340)/e=(g*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.image6.width=hi6.image7.width=hi7f=maxis=(a*340)/f=(b*340)/f=(c*340)/f=(d*340)/f=(e*340)/f=(g*340)/f.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=340.image7.width=hi7g=maxis=(a*340)/g=(b*340)/g=(c*340)/g=(d*340)/g=(e*340)/g=(f*340)/g.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=340.refresh
gr=6top.label1.visible=.t..label1.caption='2002
год'.label2.visible=.t..label2.caption='2001 год'.label3.visible=.t..label3.caption='2000
год'.label4.visible=.t..label4.caption='1999 год'.label5.visible=.t..label5.caption='1998
и ниже'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t.=0=0=0=0=0={}while
eof()=.f.=year(dkdak)dat=1902=a+1dat=1901=b+1dat=1900=c+1dat=1999=d+1dat<=1998
.and. dat#0=e+1=max(a,b,c,d,e)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.refresh
gr=7top.label1.visible=.t..label1.caption='Высшая'.label2.visible=.t..label2.caption='Первая'.label3.visible=.t..label3.caption='Вторая'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t.=0=0=0while
eof()=.f.dkkat="Высшая"=a+1dkkat="Первая"=b+1dkkat="Вторая"=c+1=max(a,b,c)case
a=maxis=(b*340)/a=(c*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3b=maxis=(a*340)/b=(c*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3c=maxis=(a*340)/c=(b*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.refresh
gr=8top.label1.visible=.t..label1.caption='Имеют звания'.label2.visible=.t..label2.caption='Имеют награды'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t.=0=0while
eof()=.f.dnzva#spac(30)=a+1dnnag#spac(30)=b+1=max(a,b)case
a=maxis=(b*340)/a=(c*340)/a.image1.width=340.image2.width=hi2b=maxis=(a*340)/b=(c*340)/b.image1.width=hi1.image2.width=340.refresh
gr=9top.label1.visible=.t..label1.caption='Лицей'.label2.visible=.t..label2.caption='Зона'.label3.visible=.t..label3.caption='Регион'.label4.visible=.t..label4.caption='Федерация'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t.=0=0=0=0while
eof()=.f.dauro="Лицей"=a+1dauro="Зона"=b+1dauro="Регион"=c+1dauro="Федерация"=d+1
=max(a,b,c,d)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4b=maxis=(a*340)/b=(c*340)/b=(d*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4c=maxis=(a*340)/c=(b*340)/c=(d*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4d=maxis=(a*340)/d=(b*340)/d=(c*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.refresh
gr=10top.label1.visible=.t..label1.caption='1
Предмет'.label2.visible=.t..label2.caption='2 Предмета'.label3.visible=.t..label3.caption='3
Предмета'.label4.visible=.t..label4.caption='4 Предмета'.label5.visible=.t..label5.caption='5
Предмета'.label6.visible=.t..label6.caption='6 Предмета'.label7.visible=.t..label7.caption='7
Предмета'.label8.visible=.t..label8.caption='8 Предмета'.label9.visible=.t..label9.caption='9
Предмета'.label10.visible=.t..label10.caption='10 Предмета'.label11.visible=.t..label11.caption='11
Предмета'.label12.visible=.t..label12.caption='12 Предмета'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t..image6.visible=.t..text6.visible=.t..image7.visible=.t..text7.visible=.t..image8.visible=.t..text8.visible=.t..image9.visible=.t..text9.visible=.t..image10.visible=.t..text10.visible=.t..image11.visible=.t..text11.visible=.t..image12.visible=.t..text12.visible=.t.=0=0=0=0=0=0=0=0=0=0=0=0=1i=2
to len(dipre)righ(left(allt(dipre),i),1)=','=kol+1
casekol=1=a+1kol=2=b+1kol=3=c+1kol=4=d+1kol=5=e+1kol=6=f+1kol=7=g+1kol=8=h+1kol=9=j+1kol=10=k+1kol=11=l+1kol=12=m+1
=max(a,b,c,d,e,f,g,h,j,k,l,m)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a=(f*340)/a=(g*340)/a=(h*340)/a=(j*340)/a=(k*340)/a=(l*340)/a=(m*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b=(f*340)/b=(g*340)/b=(h*340)/b=(j*340)/b=(k*340)/b=(l*340)/b=(m*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c=(f*340)/c=(g*340)/c=(h*340)/c=(j*340)/c=(k*340)/c=(l*340)/c=(m*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d=(f*340)/d=(g*340)/d=(h*340)/d=(j*340)/d=(k*340)/d=(l*340)/d=(m*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e=(f*340)/e=(g*340)/e=(h*340)/e=(j*340)/e=(k*340)/e=(l*340)/e=(m*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12f=maxis=(a*340)/f=(b*340)/f=(c*340)/f=(d*340)/f=(e*340)/f=(g*340)/f=(h*340)/f=(j*340)/f=(k*340)/f=(l*340)/f=(m*340)/f.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=340.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12g=maxis=(a*340)/g=(b*340)/g=(c*340)/g=(d*340)/g=(e*340)/g=(f*340)/g=(h*340)/g=(j*340)/g=(k*340)/g=(l*340)/g=(m*340)/g.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=340.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12h=maxis=(a*340)/h=(b*340)/h=(c*340)/h=(d*340)/h=(e*340)/h=(f*340)/h=(g*340)/h=(j*340)/h=(k*340)/h=(l*340)/h=(m*340)/h.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=340.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=hi12j=maxis=(a*340)/j=(b*340)/j=(c*340)/j=(d*340)/j=(e*340)/j=(f*340)/j=(g*340)/j=(h*340)/j=(k*340)/j=(l*340)/j=(m*340)/j.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=340.image10.width=hi10.image11.width=hi11.image12.width=hi12k=maxis=(a*340)/k=(b*340)/k=(c*340)/k=(d*340)/k=(e*340)/k=(f*340)/k=(g*340)/k=(h*340)/k=(j*340)/k=(l*340)/k=(m*340)/k.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=340.image11.width=hi11.image12.width=hi12l=maxis=(a*340)/l=(b*340)/l=(c*340)/l=(d*340)/l=(e*340)/l=(f*340)/l=(g*340)/l=(h*340)/l=(j*340)/l=(k*340)/l=(m*340)/l.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=340.image12.width=hi12m=maxis=(a*340)/m=(b*340)/m=(c*340)/m=(d*340)/m=(e*340)/m=(f*340)/m=(g*340)/m=(h*340)/m=(j*340)/m=(k*340)/m=(l*340)/m.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6.image7.width=hi7.image8.width=hi8.image9.width=hi9.image10.width=hi10.image11.width=hi11.image12.width=340.refresh
gr=11.label1.visible=.t..label1.caption='Мастеров'.label2.visible=.t..label2.caption='Преподавателей'.label3.visible=.t.
thisform.label3.caption='Руководитель
с/п'
thisform.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t.=0=0=0topwhile
eof()=.f.dbz="Мастер" =a+1sme="Мастер"=a+1
endidbz="Преподаватель"=b+1sme="Преподаватель"=b+1
endidbz="Рук"
=c+1sme="Рук"=c+1
=max(a,b,c)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3b=maxis=(a*340)/b=(c*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3c=maxis=(a*340)/c=(b*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.refresh
gr=12top.label1.visible=.t..label1.caption='100%'.label2.visible=.t..label2.caption='90%-100%'.label3.visible=.t..label3.caption='80%-90%'.label4.visible=.t..label4.caption='70%-80%'.label5.visible=.t..label5.caption='60%-70%'.label6.visible=.t..label6.caption='50%-60%'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t..image6.visible=.t..text6.visible=.t.=0=0=0=0=0=0
while
eof()=.f.kbe=100=a+1kbe>=90 .and. kbe<100 =b+1kbe>=80 .and.
kbe<90=c+1kbe>=70 .and. kbe<80=d+1kbe>=60 .and.
kbe<70=e+1kbe>=50 .and. kbe<60=f+1=max(a,b,c,d,e,f)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a=(f*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b=(f*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c=(f*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5.image6.width=hi6d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d=(f*340)/d=(g*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5.image6.width=hi6e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e=(f*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.image6.width=hi6f=maxis=(a*340)/f=(b*340)/f=(c*340)/f=(d*340)/f=(e*340)/f.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=340.refresh
gr=13top.label1.visible=.t..label1.caption='100%'.label2.visible=.t..label2.caption='90%-100%'.label3.visible=.t..label3.caption='80%-90%'.label4.visible=.t..label4.caption='70%-80%'.label5.visible=.t..label5.caption='60%-70%'.label6.visible=.t..label6.caption='50%-60%'.image1.visible=.t..text1.visible=.t..image2.visible=.t..text2.visible=.t..image3.visible=.t..text3.visible=.t..image4.visible=.t..text4.visible=.t..image5.visible=.t..text5.visible=.t..image6.visible=.t..text6.visible=.t.=0=0=0=0=0=0
while eof()=.f.kus=100=a+1kus>=90
.and. kus<100 =b+1kus>=80 .and. kus<90=c+1kus>=70 .and.
kus<80=d+1kus>=60 .and. kus<70=e+1kus>=50 .and.
kus<60=f+1=max(a,b,c,d,e,f)case
a=maxis=(b*340)/a=(c*340)/a=(d*340)/a=(e*340)/a=(f*340)/a.image1.width=340.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6b=maxis=(a*340)/b=(c*340)/b=(d*340)/b=(e*340)/b=(f*340)/b.image1.width=hi1.image2.width=340.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=hi6c=maxis=(a*340)/c=(b*340)/c=(d*340)/c=(e*340)/c=(f*340)/c.image1.width=hi1.image2.width=hi2.image3.width=340.image4.width=hi4.image5.width=hi5.image6.width=hi6d=maxis=(a*340)/d=(b*340)/d=(c*340)/d=(e*340)/d=(f*340)/d=(g*340)/d.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=340.image5.width=hi5.image6.width=hi6e=maxis=(a*340)/e=(b*340)/e=(c*340)/e=(d*340)/e=(f*340)/e.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=340.image6.width=hi6f=maxis=(a*340)/f=(b*340)/f=(c*340)/f=(d*340)/f=(e*340)/f.image1.width=hi1.image2.width=hi2.image3.width=hi3.image4.width=hi4.image5.width=hi5.image6.width=340.refresh
endc