Oрганизация баз данных "Паспортный стол"

МІНІСТЕРСТВО ОСВІТИ УРАЇНИ
КРИВОРІЗСЬКИЙ ТЕХНІЧНИЙ УНІВЕРСІТЕТ
КАФЕДРА МОДЕЛЮВАННЯ ПРОГРАМНОГО ЗАБЕСПЕЧЕННЯ
КУРСОВІЙ ПРОЕКТ
НА ТЕМУ
«ОБЛІК ПЕДАГОГІЧНОГО СКЛАДУ В ПОЗАШКІЛЬНІХ
ЗАКЛАДАХ»
ВИКОНАВ: СТУДЕНТ ГРУПИ ПЗОТ-97-1
БАШТА П.Л.
ПЕРЕВІРИВ:СТАРШИЙ ПРЕПОДАВАТЛЬ
СМОЛЯНСКИЙ П.С.
2000 Г.
Содержание
1.Техническое задание
1.1.Краткое описание объекта
1.2.Требования к программе
1.3.Описание входной информации и входных документов
2.Технический проект
2.1.Описание структуры базы данных и их используемые индексы,
назначение и типы всех полей базы.
2.2.Назначение глобальных переменных
2.3.Функциональная блок-схема
2.4.Текст исходников программы на CLIPPER-5.1
2.5.Описание текстовых примеров
3.Документация
3.1.Инструкция пользователю
3.2.Инструкция системному программисту
Использованная литература
1.Техническое задание
1.1.Краткое описание объекта
Целью работы является создание программы облегчающей работу
отделу кадров учебного заведения по контролю за преподавательским
составом .Объект представляет собой продукт который можно будет
использоваться во внешкольных учебных учреждениях ,которые
имеют небольшой штат преподавательского состава ( до 50 человек )
и которые обеспечены слабыми компьютерами (286,386,486 ) с
весьма ограниченным количеством памяти как оперативной ( от 512
килобайт до 2х мегабайт) так и внешней (емкость винчестера в
районе 20 – 120 мегабайт) .
Объект представляет собой запускающиеся файл с именем
«start.exe»,базы данных «baza.dbf» и трех индексных файлов с
расширением «*.ntx» используемых для сортировки базы данных.
1.2.Требования к программе
Программа должна обеспечивать запись вновь нанятых
преподавателей и исключение из списков уволенных .Однако ,
должна быть предусмотрена возможность восстановления удаленных
данных .Для облегчения поиска необходимых данных следует
предусмотреть сортировку имеющихся данных по именам
преподавателей и по порядку найма .Так же для облегчения поиска
предусмотреть несколько режимов работы с базой – для поиска по
личным данным преподавателя и по профессиональным данным
(стаж . образование , должность и так далее).
1.3.Описание входной информации и входных документов
Входной информацией в программе является файл «baza.dbf» .
В нем содержится вся нужная информация о педагогическом составе
начиная от фамилии и заканчивая графой «Примечание» в которой
хранится вспомогательные данные на попадающие ни в одну из
предоставленных граф. Файлы «*.ntx» являются вспомогательными и
необходимы только при работе программы .В случае их отсутствия
они будут созданы автоматически.
2.Технический проект
2.1.Описание структуры базы данных и их используемые
индексы ,назначение и типы всех полей базы.
Структура базы данных представлена одним файлом и поэтому
является поэтому является поэтому является весьма простой
.Индексные файлы связаны с dbf –файлом следующим образом:
файл najm.ntx связан с полем najm;
файл name.ntx связан с полем name ;
файл num.ntx связан с полем number.
Назначение и типы всех полей базы предоставлены в таблице 1.
Таблица 1
Имя поля
тип и длина
Назначение
Number
name
character 30
Ф.И.О
no
numeric 12
Индификационный номер
posada
character 40
Занимаемая должность
addr
character 40
Адрес проживания
pasport
character 40
Паспортные данные
osvita
character 20
Образование
diplom
character 40
Дипломные данные
fah
character 30
Специальность
data_ nar
date 8
Дата рождения
stag
date 8
Стаж в месяцах и годах
ped_stag
date 8
Педагогический стаж
najm
date 8
Время найма
zvilnenja
date 8
Время увольнения
dodatkovo
character 100
Примечания
2.2.Назначение глобальных переменных
В программе присутствуют следующие глобальные переменные:
«reg» - отвечает за то, какой режим панелей включен:
1- стандартный набор;
2- набор для проверки стажа;
3- набор для проверки личных данных;
«priznak» - логическая переменная отвечающая за то следует
ли входить в brows-объект или не нужно и является входным
параметром для подпрограммы obnovka;
«k_obnovka» - логическая переменная отвечающая за то
следует ли выйти из brows-объекта или не нужно и является
выходным параметром для подпрограммы obnovka.
2.3.Функциональная блок-схема
2.4.Текст исходников программы на CLIPPER-5.1
Файл «start.prg»
#include "inkey.ch"
#include "browse.ch"
proc start
memvar reg,k_obnovka,priznak
use baza.dbf new // открываем базу данных
reg:=1 // выбираем
//стандартный набор панелей
set delete off //делаем невидимыми
//удаленные записи
menu() //вызываем подпрограмму
return
proc obnovka(priznak,k_obnovka)
memvar reg
local k,verh,niz,levo,pravo,nkey
local ob
local i
GO TOP // устанавливаем указатель
// на начало базы
verh=2
levo=1
pravo=maxcol()-1
niz= maxrow()-2
// устанавливаем границы окна
@ verh-1,levo-1 clear to niz+1,pravo+1
// очищаем окно
@ verh-1,levo-1,niz+1,pravo+1 box "ЙН»єјНИє"
// рисуем рамку вокруг окна
ob=tbrowsedb(verh,levo,niz,pravo)
ob:colsep="і"
ob:headsep="СН"
ob:footsep="ПН"
ob:colorspec="b/bg,n/w"
//создаем brows-объект
do case
case reg=1
regone(ob)
case reg=2
regtwo(ob)
case reg=3
regthree(ob)
endcase
// заполняем обьект согласно
//режиму панели
WHILE(!OB:stabilize());end
// стабилизируем объект
while priznak
nkey=0
while !ob:stable.and.nkey=0
ob:stabilize()
nkey=inkey()
enddo
if ob:stable
nkey=inkey(0)
endif
// опрос клавиатуры
DO CASE
CASE NKEY=K_DOWN
OB:DOWN()
CASE NKEY=K_UP
OB:UP()
CASE NKEY=K_RIGHT
ob:right()
CASE NKEY=K_LEFT
ob:left()
//управление курсорными клавишами
case nkey=K_F8
delete
k_obnovka=.t.
priznak=.f.
//если F8 то удалить запись выйти
//из обьекта
case nkey=K_F9
recall
k_obnovka=.t.
priznak=.f.
//если F9 то восстановить запись выйти
//из обьекта
case nkey=K_ESC
clear typeahead
priznak=.f.
k_obnovka=.f.
//если ESC то выйти
case nkey=K_ENTER
redakt(recno())
k_obnovka=.t.
priznak=.f.
//если ENTER отредактировать
//запись и выйти из объекта
endcase
enddo
GO TOP
return k_obnovka
Файл «menu.prg»
#INCLUDE "INKEY.CH"
#INCLUDE "BOX.CH"
PROC menu()
Local K,i,n1,n2,n3,a,NKEY,new:="W/N,+W/B"
LOCAL cScreen,TMP,cColor
LOCAL TEXT_MENU
MEMVAR REG,k_obnovka,priznak
INDEX ON BAZA->NAME TO NAME
INDEX ON BAZA->NAJM TO NAJM
INDEX ON BAZA->NUMBER TO NUM
//создаем индексные файлы
SET INDEX TO NAME,NAJM,NUM
//устанавливаем порядок индексов
A:=1
//переменная А указывает на каком пункте
//меню сейчас находится указатель
cScreen := SAVESCREEN()//сохраняем экран
setmode(43,80)//устанавливаем режим
//43*80
cColor := SETCOLOR("b/bG")
CLEAR SCREEN
setcolor("n/bw,n/g")
//устанавливаем цвета иочищаем экран
@ 0,0 SAY " " ©« ђҐ¤ ЄвЁа®ў ­ЁҐ Џ ­Ґ«Ё
ђҐ¦Ё '®авЁа®ўЄ ‡ ЇЁбм "
//изображаем главное меню
i=maxrow()
@ i,0 SAY " ENTER - ўлЎ®а ESC - ®вҐ­ F8 -
г¤ «Ёвм § ЇЁбм F9 -ў®бв ­®ўЁвм § ЇЁбм"
//изображаем горячие клавиши
// setcolor("b/bg")
TMP:=SAVESCREEN()//сохраняем екран
setmode(25,80)//изменяем режим экрана на
//25*80
WHILE .T.
//открываем бесконечный цикл опроса меню
setcolor("n/g")
DO CASE
CASE A=1
@0,1 say " " ©« "
SETCOLOR("N/N")
@ 2, 1 CLEAR TO 7,24
setcolor("n/w,n/g")
TEXT_MENU:={}
aadd(TEXT_MENU,"гЇ«®в­Ёвм Ў §г")
aadd(TEXT_MENU,"б®еа ­Ёвм Ў §г")
aadd(TEXT_MENU,"§ Ї®«­Ёвм Ў §г § ­®ў®")
aadd(TEXT_MENU,"ўл室")
@1,0,6,22 BOX B_DOUBLE_SINGLE
K:=ACHOICE(2,1,6,21,TEXT_MENU)
DO CASE
CASE K=1
pack
set order to 3
//уплотняем базу
go top
for i:=1 to lastrec()
baza->number=i
skip(1)
next
CASE K=2
case k=3
go top
for i:=1 to lastrec()
delete
skip(1)
next
pack
append blank
//обнуляем базу
CASE K=4
CLS
QUIT
// завершаем работу программы
ENDCASE
CASE A=2
@0,10 say " ђҐ¤ ЄвЁа®ў ­ЁҐ "
SETCOLOR("N/N")
@ 2, 10 CLEAR TO 5,33
setcolor("n/w,n/g")
@1,9,4,31 BOX B_DOUBLE_SINGLE
text_menu:={}
aadd(text_menu,"C г¤ «Ґ­­лЁ § ЇЁбпЁ")
aadd(text_menu,"ЃҐ§ г¤ «Ґ­­ле § ЇЁбҐ©")
K:=ACHOICE(2,10,3,30,TEXT_MENU)
DO CASE
CASE K=1
set delete off
k_obnovka=.t.
do while k_obnovka
k_obnovka=obnovka(.t.,k_obnovka)
enddo
//входим в обьект с удаленными записями
CASE K=2
set delete on
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//входим в объект без удаленных записей
ENDCASE
CASE A=3
@0,28 say " Џ ­Ґ«Ё "
SETCOLOR("N/N")
@ 2, 28 CLEAR TO 6,61
setcolor("n/w,n/g")
@1,27,5,60 BOX B_DOUBLE_SINGLE
TEXT_MENU:={}
aadd(TEXT_MENU,"бв ­¤ ав­л© ­ Ў®а Ја д")
aadd(TEXT_MENU,"­ Ў®а ­ Їа®ўҐаЄг бв ¦ ")
aadd(TEXT_MENU,"­ Ў®а ­ Їа®ўҐаЄг «Ёз­ле ¤ ­­ле")
K:=ACHOICE(2,28,4,59,TEXT_MENU)
do case
case k=1
reg:=1
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//устанавливаем режим панелей 1
case k=2
reg:=2
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//устанавливаем режим панелей 2
case k=3
reg:=3
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//устанавливаем режим панелей 3
endcase
CASE A=4
@0,37 say " ђҐ¦Ё "
SETCOLOR("N/N")
@ 2, 37 CLEAR TO 5,62
setcolor("n/w,n/g")
@1,36,4,61 BOX B_DOUBLE_SINGLE
text_menu={}
aadd(text_menu,"80*25")
aadd(text_menu,"80*50")
K:=ACHOICE(2,37,3,60,TEXT_MENU)
do case
case k=1
setmode(25,80)
cls
//устанавливаем режим экрана 25*80
case k=2
setmode(43,80)
cls
//устанавливаем режим экрана 43*80
endcase
CASE A=5
@0,45 say " '®авЁа®ўЄ "
SETCOLOR("N/N")
@ 2, 45 CLEAR TO 6,70
setcolor("n/w,n/g")
@1,44,5,69 BOX B_DOUBLE_SINGLE
text_menu:={}
aadd(text_menu,"Ї® ЁҐ­Ё")
aadd(text_menu,"Ї® Ї®ап¤Єг ¤®Ў ў«Ґ­Ёп")
aadd(text_menu,"Ї® Ї®ап¤Єг ­ © ")
K:=ACHOICE(2,45,4,68,TEXT_MENU)
DO CASE
CASE K=1
SET ORDER TO 1
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//сортируем базу по имени
CASE K=2
SET ORDER TO 3
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//сортируем базу по времени найма
CASE K=3
SET ORDER TO 2
k_obnovka=.t.
do while k_obnovka
k_obnovka= obnovka(.t.,.t.)
enddo
//сортируем базу по порядку добавления
ENDCASE
GO TOP
CASE A=6
@0,60 say " ‡ ЇЁбм "
SETCOLOR("N/N")
@ 2, 60 CLEAR TO 4,48
setcolor("n/w,n/g")
@1,59,3,79 BOX B_DOUBLE_SINGLE
text_menu:={}
aadd(text_menu,"¤®Ў ўЁвм")
K:=ACHOICE(2,60,2,78,TEXT_MENU)
DO CASE
CASE K=1
APPEND BLANK
GO LASTREC()
baza->number=lastrec()
REDAKT(RECNO())
k_obnovka=.t.
do while k_obnovka
k_obnovka=obnovka(.t.,k_obnovka)
enddo
// добавляем новую запись
ENDCASE
ENDCASE //конец обработки содержимого
//выбранного пункта меню
NKEY:=LASTKEY()
DO CASE
CASE NKEY=K_LEFT
IF A>1
A--
ELSE
A:=6
ENDIF
//двигаем указатель меню влево
CASE NKEY=K_RIGHT
IF A<6
A++
ELSE
A:=1
ENDIF
//двигаем указатель меню вправо
ENDCASE
RESTSCREEN(,,,,TMP)
//восстанавливаем экран
ENDDO
SETCOLOR(cColor)
// @ MAXROW(), 0
setmode(25,80)
RESTSCREEN(,,,,cScreen)
//восстанавливаем экран и прекращаем
//работу
Return
Файл «regi.prg»
proc regone(ob)
local s
s=tbcolumnnew("ьЏ.Џ",{||baza->number})
ob:addcolumn(s)
s=tbcolumnnew(""ЂЊ€‹€џ €. Ћ.",{||baza->name})
ob:addcolumn(s)
s=tbcolumnnew("€Ќ„€".ЌЋЊ…ђ",{||baza->no})
ob:addcolumn(s)
s=tbcolumnnew("„Ћ‹†ЌЋ''њ",{||baza->posada})
ob:addcolumn(s)
s=tbcolumnnew("Ђ„ђ…'",{||baza->addr})
ob:addcolumn(s)
s=tbcolumnnew("ЏЂ'ЏЋђ'",{||baza->pasport})
ob:addcolumn(s)
s=tbcolumnnew("ЋЃђЂ‡Ћ‚ЂЌ€…",{||baza->osvita})
ob:addcolumn(s)
s=tbcolumnnew("„€Џ‹ЋЊЌ›… „ЂЌ›…",{||baza->diplom})
ob:addcolumn(s)
s=tbcolumnnew("'Џ…–€Ђ‹њЌЋ''њ",{||baza->fah})
ob:addcolumn(s)
s=tbcolumnnew("„Ђ'Ђ ђЋ†„…Ќ€џ",{||baza->data_nar})
ob:addcolumn(s)
s=tbcolumnnew("''Ђ†",{||baza->stag})
ob:addcolumn(s)
s=tbcolumnnew("Џ…„.''Ђ†",{||baza->ped_stag})
ob:addcolumn(s)
s=tbcolumnnew("ЌЂ‰Ќџ'",{||baza->najm})
ob:addcolumn(s)
s=tbcolumnnew(""‚Ћ‹…Ќ",{||baza->zvilnenja})
ob:addcolumn(s)
s=tbcolumnnew("Џђ€Њ…—ЂЌ€…",{||baza->dodatkovo})
ob:addcolumn(s)
//заполняем brows-обьект
return ob
proc regtwo(ob)
local s
s=tbcolumnnew("ьЏ.Џ",{||baza->number})
ob:addcolumn(s)
s=tbcolumnnew(""ЂЊ€‹€џ €. Ћ.",{||baza->name})
ob:addcolumn(s)
s=tbcolumnnew("„Ћ‹†ЌЋ''њ",{||baza->posada})
ob:addcolumn(s)
s=tbcolumnnew("''Ђ†",{||baza->stag})
ob:addcolumn(s)
s=tbcolumnnew("Џ…„.''Ђ†",{||baza->ped_stag})
ob:addcolumn(s)
s=tbcolumnnew("ЌЂ‰Ќџ'",{||baza->najm})
ob:addcolumn(s)
s=tbcolumnnew(""‚Ћ‹…Ќ",{||baza->zvilnenja})
ob:addcolumn(s)
s=tbcolumnnew("ЋЃђЂ‡Ћ‚ЂЌ€…",{||baza->osvita})
ob:addcolumn(s)
s=tbcolumnnew("„€Џ‹ЋЊЌ›… „ЂЌ›…",{||baza->diplom})
ob:addcolumn(s)
s=tbcolumnnew("'Џ…–€Ђ‹њЌЋ''њ",{||baza->fah})
ob:addcolumn(s)
s=tbcolumnnew("Ђ„ђ…'",{||baza->addr})
ob:addcolumn(s)
s=tbcolumnnew("ЏЂ'ЏЋђ'",{||baza->pasport})
ob:addcolumn(s)
s=tbcolumnnew("€Ќ„€".ЌЋЊ…ђ",{||baza->no})
ob:addcolumn(s)
s=tbcolumnnew("„Ђ'Ђ ђЋ†„…Ќ€џ",{||baza->data_nar})
ob:addcolumn(s)
s=tbcolumnnew("Џђ€Њ…—ЂЌ€…",{||baza->dodatkovo})
ob:addcolumn(s)
//заполняем brows-обьект
proc regthree(ob)
local s
s=tbcolumnnew("ьЏ.Џ",{||baza->number})
ob:addcolumn(s)
s=tbcolumnnew(""ЂЊ€‹€џ €. Ћ.",{||baza->name})
ob:addcolumn(s)
s=tbcolumnnew("Ђ„ђ…'",{||baza->addr})
ob:addcolumn(s)
s=tbcolumnnew("ЏЂ'ЏЋђ'",{||baza->pasport})
ob:addcolumn(s)
s=tbcolumnnew("€Ќ„€".ЌЋЊ…ђ",{||baza->no})
ob:addcolumn(s)
s=tbcolumnnew("„Ђ'Ђ ђЋ†„…Ќ€џ",{||baza->data_nar})
ob:addcolumn(s)
s=tbcolumnnew("„Ћ‹†ЌЋ''њ",{||baza->posada})
ob:addcolumn(s)
s=tbcolumnnew("''Ђ†",{||baza->stag})
ob:addcolumn(s)
s=tbcolumnnew("Џ…„.''Ђ†",{||baza->ped_stag})
ob:addcolumn(s)
s=tbcolumnnew("ЌЂ‰Ќџ'",{||baza->najm})
ob:addcolumn(s)
s=tbcolumnnew(""‚Ћ‹…Ќ",{||baza->zvilnenja})
ob:addcolumn(s)
s=tbcolumnnew("ЋЃђЂ‡Ћ‚ЂЌ€…",{||baza->osvita})
ob:addcolumn(s)
s=tbcolumnnew("„€Џ‹ЋЊЌ›… „ЂЌ›…",{||baza->diplom})
ob:addcolumn(s)
s=tbcolumnnew("'Џ…–€Ђ‹њЌЋ''њ",{||baza->fah})
ob:addcolumn(s)
s=tbcolumnnew("Џђ€Њ…—ЂЌ€…",{||baza->dodatkovo})
ob:addcolumn(s)
//заполняем brows-обьект
return ob
proc redakt(polenom)
local ekran
local a,buf,k
ekran:=savescreen()
a:={}
aadd(a,baza->name)
aadd(a,baza->no)
aadd(a,baza->posada)
aadd(a,baza->addr)
aadd(a,baza->osvita)
aadd(a,baza->diplom)
aadd(a,baza->fah)
aadd(a,baza->data_nar)
aadd(a,baza->stag)
aadd(a,baza->ped_stag)
aadd(a,baza->najm)
aadd(a,baza->zvilnenja)
aadd(a,baza->dodatkovo)
//заполняем массив а содержимым записи
@5,5 clear to 20,75
@5,5,20,75 box"ЙН»єјНИє"
@6,20 say "€п:" get a[1]
@7,6 say "€­¤ЁдЁЄ жЁ®­­л© ­®Ґа: " get a[2]
@8,6 say "‡ ­Ё Ґ п ¤®«¦­®бвм: " get a[3]
@9,6 say "Ђ¤аҐб: " get a[4]
@10,6 say "ЋЎа §®ў ­ЁҐ: " get a[5]
@11,6 say "„ЁЇ«®­лҐ ¤ ­­лҐ: " get a[6]
@12,6 say "CЇҐжЁ «м­®бвм: " get a[7]
@13,6 say "„ в ஦¤Ґ­Ёп: " get a[8]
@14,6 say "'в ¦:" get a[9]
@14,20 say "ЏҐ¤ Ј®ЈЁзҐбЄЁ© бв ¦: " get a[10]
@15,6 say "Ќ ­пв:" get a[11]
@16,6 say ""ў®«Ґ­:" get a[12]
@17,6 say "ЏаЁҐз ­Ёп:" get a[13]
read
//изображаем выбранную запись на экране
//и производим редактирование
if updated()
@10,30 clear to 10,55
@9,29,11,56 box"ЙН»єјНИє"
@10,31 say "‡ ЇЁб вм Ё§Ґ­Ґ­Ёп?(enter/esc)"
k=inkey(0)
do case
case k=13
baza->name=a[1]
baza->no=a[2]
baza->posada=a[3]
baza->addr=a[4]
baza->osvita=a[5]
baza->diplom=a[6]
baza->fah=a[7]
baza->data_nar=a[8]
baza->stag=a[9]
baza->ped_stag=a[10]
baza->najm=a[11]
baza->zvilnenja=a[12]
baza->dodatkovo=a[13]
//если ENTER то запомнить изменения
endcase
endif
restscreen(,,,,ekran)
//восстанавливаем экран
return
2.5.Описание текстовых примеров
3.Документация
3.1.Инструкция пользователю
Программный продукт «Учет педагогического состава во
внешкольном учреждении» был разработан Баштой Павлом
Леонидовичем весной-летом 2000 года для клуба юного техника
«Смена» в рамках курсового проекта по предмету «Основы баз
данных и информации».
Стартовым файлом программы является файл «start.exe». После
запуска программы вы сразу попадаете в главное меню. Оно
содержит следующие пункты:
-файл ;
-редактирование ;
-панель;
-режим;
-сортировка;
-запись.
Пункт «файл» позволяет производить операции с диском:
-уплотнить базу – уплотняет базу путем физического удаления
из нее удаленных логически записей;
-сохранить базу – функция не была реализована в рамках
курсового проекта, предусматривалось что она позволит сохранять
базу данных под другим именем;
-заполнить базу заново – функция удаляет все записи базы и
создает пустую запись;
-выход – прекращение работы программы.
Пункт «Редактирование» позволяет выбрать доступ к записям:
-с удаленными записями – позволяет редактировать физически
существующие записи независимо от их логического состояния;
-без удаленных записей – позволяет редактировать только
логически существующие записи без отображения логически
удаленных записей.
Пункт «Панели» позволяет выбрать необходимый порядок полей
записей:
-стандартный набор – поля записей расположены так как они
были расположены в книге чета педагогического состава;
-набор для проверки стажа – поля отвечающие за информацию о
стаже и профессиональную принадлежность располагаются ближе к
полю имени педагога для удобного поиска по данным стажа;
-набор для проверки личных данных – возле поля имени
педагога расположены поля отвечающие за личные данные человека.
Поле «Режим» позволяет выбрать режим просмотра:
-43*80 – 43 строки и 80 столбцов;
-25*80 – 25 строк и 80 столбцов.
Поле «Сортировка» позволяет отсортировать записи в следующих
порядках:
-по имени – в алфавитном порядке о графе «Ф.И.О»;
-по порядку добавления – по графе «№П.П.»;
-по порядку найма – по графе «Нанят».
Поле «Запись» позволяет создать новую запись.
При редактировании базы действуют следующие горячие
клавиши:
-F8 – удалить запись на которую наведен курсор;
-F9 – восстановить удаленную запись на которую наведен
курсор;
-ESC – отказаться от выбора, изменения или редактирования;
-ENTER – выбрать пункт меню или выбор записи для
редактирования.
Перемещние по базе данных и меню производится курсорными
клавишами.
Внимание!!! Программа работает только с одной базой данных
которая расположена в файле «baza.dbf».В случае удаления или порчи
этого файла программа престает быть работоспособной. Будте
осторожны и предусмотрительны – не постесняйтесь сделать его
резервную копию в другом каталоге.
3.2.Инструкция системному программисту
Программный продукт «Учет педагогического состава во
внешкольных учреждениях» написан на языке программирования
«Clipper 5.1».Исходник представляет собой пять файлов с
расширением «.prg».При компиляции необходимо файл start.prg
распологать в начале компилируемого файла.
В порядке усовершенствования программы можно посоветовать
добавить функцию создания копии базы создав для этого удобный
интерфейс выбора директории в которой необходимо сохранить
копию,
Использованая литература