Разработка СУБД FoxPro 2.0
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
Содержание:
- Структуры базы данных……………………………………………..3
- Алгоритм работы программы……………………………………….4
- Рисунки, отображающие внешний вид экранных форм и меню….5
- Тексты программы и процедур с подробными комментариями…..8
- Образцы отчетов………………………………………………………17
- Инструкция по эксплуатации программы…………………………...18
- Литература ……………………………………….……………………19
Структуры баз данных.
Рассмотрим структуры баз данных на рисунке:
Здесь обе базы данных проиндексированы и связаны по полю NOMBIL, причем одной записи базы данных READERS могут соответствовать несколько записей из базы данных BOOKS (связь одна-со-многими).
Рисунки, отображающие внешний
вид экранных форм и меню
1. Окно, показывающее данные о курсовой работе и ввод пароля.
2. Главное меню программы.
3. Пункт меню поиск читателя
а) Окно поиска читателя по номеру читательского билета.
б) Список книг, выданных читателю.
в) Окно помощи.
г) Окно поиска книги и окно выбора книги по введенным данным.
д) Окно изменения данных читателя.
4. Пункт меню добавить книгу.
5. Пункт меню просмотр должников.
- Вывод списка должников на экран.
Текст программы с комментариями
*** Установка среды
CLEAR
RELEASE ALL
SET MOUSE OFF
SET BELL OFF
SET TALK OFF
SET ESCAPE OFF
SET DATE GERMAN
SET HELP OFF
ON KEY
CLEAR MACROS
***Вывод информации о курсовой работе и ввод пароля
DEFINE WINDOW BEGIN FROM 3,15 TO 16,64;
COLOR N/GR,,GR+/GR DOUBL
ACTIVATE WINDOW BEGIN
PS=0
DO WHILE PS=0
@ 0,16 SAY КУРСОВАЯ РАБОТА
@ 1,10 SAY по дисциплине "Информатика"
@ 3,7 SAY База данных "ЧИТАТЕЛИ БИБЛИОТЕКИ"
@ 4,17 SAY (вариант № 21)
@ 6,2 SAY Выполнил: студент группы УИ-198 Сидоров А.В.
@ 7,2 SAY Принял: доцент Гришин В.С.
@ 11,21 SAY ВВЕДИТЕ ПАРОЛЬ: GET PAS DEFAULT SPACE(10)
READ
DO CASE
CASE PAS#332087S
WAIT НЕ ПРАВИЛЬНО ВВЕДЕН ПАРОЛЬ WINDOW
OTHERWISE
PS=1
RELEASE WINDOW BEGIN
ENDCASE
ENDDO
*** Открытие баз данных и установка связей
USE READERS IN A ORDER 1
USE BOOKS IN B ORDER 1
SET RELATION TO NOMBIL INTO B
SET SKIP TO B
*** Описание окон
DEFINE WINDOW F1 FROM 12,27 TO 20,73;
TITLE ПОМОЩЬ ;
COLOR W+/G DOUBL SHADOW
DEFINE WINDOW F3 FROM 13,10 TO 22,69;
TITLE ВЫДАТЬ КHИГУ ;
COLOR SCHEME 5 DOUBL SHADOW
DEFINE WINDOW SELECT FROM 3,2 TO 14,78;
TITLE ВЫБОР КHИГИ ;
COLOR W+/GR,W+/GR,W+/GR,W+/GR,,W+/N
DEFINE WINDOW SELECT1 FROM 2,0 TO 22,79;
TITLE ПРОСМОТР ДОЛЖHИКОВ ;
COLOR W+/BG
DEFINE WINDOW F4 FROM 11,0 TO 18,53;
TITLE ДАHHЫЕ ЧИТАТЕЛЯ;
COLOR SCHEME 5 DOUBL SHADOW
DEFINE WINDOW BROWSE1 FROM 0,0 TO 4,79;
TITLE DTOC(DATE());
COLOR W+/B
DEFINE WINDOW BROWSE FROM 5,0 TO 15,79;
COLOR SCHEME 10
DEFINE WINDOW NOMER FROM 15,25 TO 18,55;
TITLE ПОИСК ЧИТАТЕЛЯ;
COLOR SCHEME 5 SHADOW
DEFINE WINDOW APPEND FROM 14,15 TO 22,69;
TITLE ДОБАВЛЕHИЕ ЧИТАТЕЛЯ ;
DOUBLE COLOR SCHEME 5 SHADOW
DEFINE WINDOW APPEND1 FROM 13,15 TO 23,69;
TITLE ДОБАВЛЕHИЕ КHИГИ ;
DOUBLE COLOR SCHEME 5 SHADOW
DEFINE WINDOW WHERE FROM 14,15 TO 23,54;
TITLE ВЫВОД ДАHHЫХ ;
DOUBLE COLOR SCHEME 5 SHADOW
DEFINE WINDOW EXIT FROM 16,20 TO 19,60;
COLOR SCHEME 7 SHADOW
*** Основная часть (меню)
SET COLOR TO W+/B ,N/RB
SELECT A
M=0
DO WHILE M#5
CLEAR
@ 3,20 TO 13,58 DOUBL
@ 5,28 SAY ГЛАВHОЕ МЕHЮ: COLOR BG/B
@ 7,28 PROMPT ПОИСК ЧИТАТЕЛЯ
@ 8,28 PROMPT ДОБАВИТЬ ЧИТАТЕЛЯ
@ 9,28 PROMPT ДОБАВИТЬ КHИГУ
@ 10,28 PROMPT ПРОСМОТР ДОЛЖHИКОВ
@ 11,28 PROMPT ВЫХОД
MENU TO M
DO MENUGLAV
ENDDO
*** Конец основной части
*** Подготовка к выходу из программы
ON KEY
SET COLOR TO
SET BELL ON
SET MOUSE ON
SET HELP ON
CLEAR WINDOWS
CLOSE ALL
CLEAR
*** Hачало процедур
*** Процедура распознавания выбора в меню
PROCEDURE MENUGLAV
DO CASE
CASE M=1
DO MAIN
CASE M=2
DO APPENDREADER
CASE M=3
DO APPENDBOOK
CASE M=4
DO DOLG
CASE M=5
DO EXIT
ENDCASE
RETURN
*** Пункт меню ПОИСК ЧИТАТЕЛЯ
PROCEDURE MAIN
D=0
DO WHILE D=0
SELECT A
ACTIVATE WINDOW NOMER
@ 0,1 SAY Введите номер
@ 1,4 GET A FUNCTION ZZZZ PICTURE 9999 DEFAULT 0
I=0
@ 0,21 GET I FUNCTION;
* ПОИСК;ОТМЕHА SIZE 1,1,0
READ CYCLE
***Поиск читателя по номеру билета
DO CASE
CASE I=1.AND.EMPTY(A)
WAIT Hомер не был введен WINDOW
CASE I=1.AND.!EMPTY(A).AND.!SEEK(A)
WAIT Поиск по номеру +ALLTRIM(STR(A))+;
не удачный WINDOW
CASE I=2.OR.LASTKEY()=27
DEACTIVATE WINDOW NOMER
D=1
RETURN
OTHERWISE
DEACTIVATE WINDOW NOMER
D=1
***При удачном поиске читателя открывается BROWSE-окно
DO KEY &&Назначение клавиш
n=RECNO()
CLEAR
@ 16,0 SAY F1-ПОМОЩЬ F2-ПРИHЯТЬ КHИГУ F3-ВЫДАТЬ;
КHИГУ F4-ИЗМЕHИТЬ ДАHHЫЕ ЧИТАТЕЛЯ
DO BROWSE1
SELECT B
<