Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая ТРПП Захаркин (Восстановлен).docx
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
794.71 Кб
Скачать

2.4.2 Алгоритм и тексты (виды форм) программы ввода данных

2.4.2.1 Программа ввода должностей в «Справочник должностей»

Алгоритм:

Риснок 10 – Алгоритм работы программы ввода должностей

Текст:

CLOSE DATABASES

CLOSE ALL

CLEAR

SET BELL OFF

SET TALK OFF

DELETE FILE 'D:\ТРПП курсовой\Программа\koddol.idx'

SELECT b

USE 'D:\ТРПП курсовой\Программа\dolzhn.DBF'

INDEX on kodd TO 'D:\ТРПП курсовой\Программа\koddol.idx'

defi wind qw from 1,1 to 20,90;

title 'Ввод должностей';

close float font 'Times New Roman'

ACTIVATE WINDOW qw

DECLARE ST(2)

STORE SPACE(3) TO ST(1)

STORE SPACE(50) TO ST(2)

STORE ' ' TO z

DO WHILE z<>'*'

@ 1,1 SAY 'Код должности ' get ST(1) Picture'999'

READ

dst=ST(1)

SEEK dst

IF FOUND()

MESSAGEBOX( "Такой код уже существует" ,48,"Ошибка",0)

@ 1,1 SAY 'Код должности ' get ST(1) Picture'999'

ELSE

@ 2,1 say 'Должность ' get ST(2)

@ 3,1 say 'конец ввода?*' get z

READ

APPEND BLANK

GATHER FROM ST

IF z='*'

EXIT

ENDIF

ENDIF

ENDDO

BROWSE

PACK

CLEAR

CLOSE DATABASES

DEACTIVATE WINDOW qw

Вид формы ввода:

Рисунок 11 – Форма ввода в справочник должностей

2.4.2.2 Программа ввода ученой степени в «Справочник ученых степеней»

Алгоритм:

Рисунок 12 – Алгоритм работы программы ввода ученых степеней

Текст:

CLOSE DATABASES

CLOSE ALL

CLEAR

SET BELL OFF

SET TALK OFF

DELETE FILE 'D:\ТРПП курсовой\Программа\kust.idx'

SELECT b

USE 'D:\ТРПП курсовой\Программа\uchstep.DBF'

INDEX on kodus TO 'D:\ТРПП курсовой\Программа\kust.idx'

defi wind qw from 1,1 to 20,90;

title 'Ввод учёной степени';

close float font 'Times New Roman'

ACTIVATE WINDOW qw

DECLARE ST(2)

STORE SPACE(3) TO ST(1)

STORE SPACE(50) TO ST(2)

STORE ' ' TO z

DO WHILE z<>'*'

@ 1,1 SAY 'Код ученой степени ' get ST(1) Picture'999'

READ

kust=ST(1)

SEEK kust

IF FOUND()

MESSAGEBOX( "Такой код уже существует" ,48,"Ошибка",0)

@ 1,1 SAY 'Код ученой степени ' get ST(1) Picture'999'

ELSE

@ 2,1 say 'Учёная степень ' get ST(2)

@ 3,1 say 'конец ввода?*' get z

READ

APPEND BLANK

GATHER FROM ST

IF z='*'

EXIT

ENDIF

ENDIF

ENDDO

BROWSE

PACK

CLEAR

CLOSE DATABASES

DEACTIVATE WINDOW qw

Вид формы ввода:

Рисунок 13 – Форма ввода ученой степени в «Справочник ученых степеней»

2.4.2.3 Программа ввода сотрудников в таблицу сотрудники

Алгоритм:

Рисунок 14 – Алгоритм работы программы ввода сотрудников

Текст:

CLOSE DATABASES

CLOSE ALL

SET BELL OFF

SET TALK OFF

DELETE FILE 'D:\ТРПП курсовой\Программа\kods.idx'

DELETE FILE 'D:\ТРПП курсовой\Программа\kodd.idx'

DELETE FILE 'D:\ТРПП курсовой\Программа\kodus.idx'

SELECT e

USE 'D:\ТРПП курсовой\Программа\sotrud.DBF'

INDEX on kods TO 'D:\ТРПП курсовой\Программа\kods.idx'

SELECT b

USE 'D:\ТРПП курсовой\Программа\dolzhn.DBF'

INDEX on kodd TO 'D:\ТРПП курсовой\Программа\kodd.idx'

SELECT c

USE 'D:\ТРПП курсовой\Программа\uchstep.DBF'

INDEX on kodus TO 'D:\ТРПП курсовой\Программа\kodus.idx'

select e

defi wind qw from 1,1 to 20,90;

title 'Ввод сотрудников';

close float font 'Times New Roman'

ACTIVATE WINDOW qw

DECLARE ST(8)

STORE SPACE(3) TO ST(1),ST(7),ST(8)

STORE SPACE(15) TO ST(2),ST(3),ST(4)

STORE SPACE(1) TO ST(5)

STORE 0 TO ST(6),v

STORE ' ' TO z

DO WHILE z<>'*'

@ 1,1 SAY 'Код сотрудника ' get ST(1) Picture'999'

READ

s=ST(1)

SEEK s

IF FOUND()

MESSAGEBOX( "Такой код сотрудника уже имеется, для изменения информации о сотрудниках зайдите в меню редактирование таблиц" ,48,"Ошибка",0)

@ 1,1 SAY 'Код сотрудника ' get ST(1) Picture'999'

ELSE

@ 2,1 say 'Фамилия ' get ST(2)

@ 3,1 say 'Имя ' get ST(3)

@ 4,1 say 'Отчество ' get st(4)

@ 5,1 say 'Пол ' get ST(5) function'm м,ж'

@ 6,1 say 'Возраст ' get ST(6) Picture'99'

err=1

DO WHILE err=1

@ 7,1 say 'Код должности ' get ST(7) Picture'999'

READ

d=ST(7)

SELECT b

SEEK d

IF FOUND()

err=0

SELECT e

@ 8,1 say 'Код учёной степени ' get ST(8) function 'm 001,002,003,004,005,-'

@ 9,1 say 'конец ввода?*' get z

READ

APPEND BLANK

GATHER FROM ST

IF z='*'

EXIT

ENDIF

ELSE

ST(7)=' '

MESSAGEBOX( "Код должности не найден в справочнике должностей, введите верный код должности" ,48,"Ошибка",0)

@ 7,1 say 'Код должности ' get ST(7) Picture'999'

ENDIF

ENDDO

ENDIF

ENDDO

BROWSE

PACK

CLEAR

CLOSE DATABASES

CLOSE ALL

DEACTIVATE WINDOW qw

Вид формы:

Рисунок 15 – Форма ввода сотрудников в таблицу сотрудники