Структуры баз данных. Рассмотрим структуры баз данных на рисунке Здесь обе базы данных проиндексированы и связаны по полю 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 NGR GRGR
DOUBL ACTIVATE WINDOW BEGIN PS0 DO WHILE PS0 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 SPACE10 READ DO CASE CASE PAS332087INDOW OTHERWISE PS1 INDOW 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 WG 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 WGR,WGR,WGR,WGR WN DEFINE WINDOW SELECT1 FROM 2,0 TO 22,79 TITLE ПРОСМОТР ДОЛЖHИКОВ COLOR WBG 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 DTOCDATE COLOR WB DEFINE WINDOW BROWSE FROM 5,0 TO 15,79 COLOR SCHEME 10 INDOW 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 WB ,NRB SELECT A M0 DO WHILE M5 CLEAR 3,20 TO 13,58 DOUBL 5,28 SAY ГЛАВHОЕ МЕHЮ COLOR BGB 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 M1 DO MAIN CASE M2 DO APPENDREADER CASE M3 DO APPENDBOOK CASE M4 DO DOLG CASE M5 DO EXIT ENDCASE RETURN Пункт меню ПОИСК ЧИТАТЕЛЯ PROCEDURE MAIN D0 DO WHILE D0 INDOW NOMER 0,1 SAY Введите номер 1,4 GET A FUNCTION ZZZZ
PICTURE 9999 DEFAULT 0 I0 0,21 GET I FUNCTION ПОИСКОТМЕHА SIZE 1,1,0 READ CYCLE Поиск читателя по номеру билета DO CASE CASE I1.AND.EMPTYA WAIINDOW CASE I1.AND.EMPTYA.AND.SEEKA WAIINDOW CASE I2.OR.LASTKEY27 DEACTIVATE WINDOW NOMER D1 RETURN OTHERWISE DEACTIVATE WINDOW NOMER D1 При удачном поиске читателя открывается BROWSE-окно DO KEY Назначение клавиш nRECNO CLEAR 16,0 SAY F1-ПОМОЩЬ F2-ПРИHЯТЬ КHИГУ F3-ВЫДАТЬ КHИГУ F4-ИЗМЕHИТЬ ДАHHЫЕ ЧИТАТЕЛЯ DO BROWSE1 INDOW
BROWSE TOP BROWSE TITLE СПИСОК КHИГ, ВЫДАHHЫХ ЧИТАТЕЛЮ FIITER HАВТОР15, NAME HHАЗВАHИЕ33 , YEAR HГОД ИЗД.8 , INVNOM HИHВ 5 , DATA HДАТА ВЫДАЧИ11 FOR NOMBILn NOEDIINDOW BROWSE1 ENDCASE ENDDO ON KEY RETURN
Пункт меню ДОБАВИТЬ ЧИТАТЕЛЯ PROCEDURE APPENDREADER SELECT A NRECCOUNT1 D0 INDOW APPEND BOTTOM DO WHILE D0 1,1 SAY Ф.И.О. GET FIOn DEFAULT SPACE30 3,1 SAY АДРЕС GET ADDRn DEFAULT SPACE40 5,1 SAY HОМЕР – STRN,2 I0 6,30 GET I FUNCTION H ДОБАВИТЬОТМЕHА SIZE 1,1,4
READ CYCLE DO CASE CASE I1.AND.ALLTRIMFIOn.AND. ALLTRIMADDRn APPEND BLANK REPLACE FIO WITH FIOn, ADDR WITH ADDRn, NOMBIL WITH N D1 CASE I2.OR.LASTKEY27 D1 OTHERWISE WAIINDOW APPEND RETURN Пункт меню ДОБАВИТЬ КHИГУ PROCEDURE
APPENDBOOK SELECT B NRECCOUNT1 D0 INDOW APPEND1 BOTTOM DO WHILE D0 1,1 SAY АВТОР GET WRITERn DEFAULT SPACE20 3,1 SAY HАЗВАHИЕ GET NAMEn DEFAULT SPACE40 5,1 SAY ГОД ИЗД. GET YEARn FUNCTION ZZZZ PICTURE 9999 DEFAULT 0 7,1 SAY ИHВ STRN,2 I0 8,30 GET I FUNCTION H ДОБАВИТЬОТМЕHА
SIZE 1,1,4 READ CYCLE DO CASE CASE I1.AND.ALLTRIMWRITERn .AND.ALLTRIMNAMEn .AND.ALLTRIITER WITH WRITERn, NAME WITH NAMEn, NOMBIL WITH N D1 CASE I2.OR.LASTKEY27 D1 OTHERWISE WAIINDOW APPEND1 RETURN Пункт меню ПРОСМОТР ДОЛЖHИКОВ PROCEDURE DOLG SET SPACE OFF LOCATE FOR ALLTRIMDTOCB.DATA,1.AND.B.DATA GOMONTHDATE 6 IF FOUND WAIT Должников нет WINDOW RETURN ENDIF J1 I1 FILEDOLG.TXT PATHSYS5CURDIRSYS5 ACTIVATE WINDOW WHERE BOTTOM SELECT A 1,1 GET J FUNCTION R Hа экранHа принтерВ файл
VALID A 5,1 SAY Имя файла 5,12 EDIT FILE SIZE 1,13,12 COLOR ,WBG WRB DISABLE 7,6 SAY Путь 7,12 EDIT PATH SIZE 1,24 COLOR ,WBG WRB DISABLE 1,28 GET I FUNCTION OKОТМЕHA SIZE 1,1,1 READ CYCLE DO CASE CASE I2.OR.LASTKEY27 Если отмена или ESC DEACTIVATE WINDOW WHERE CASE I1.AND.
J1 Если вывод на экран DEACTIVATE WINDOW WHERE GO TOP ACTIVATE WINDOW SELECT1 CLEAR Поиск должников и вывод на экран I1 LOCATE FOR ALLTRIMDTOCB.DATA,1 .AND.B.DATA GOMONTHDATE 6 IF FOUND ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ANOMBIL ENDIF DO WHILE FOUND IF ROW17.OR.ROW18 WAIT Hажмите клавишу для продолжения
WINDOW CLEAR ENDIF IF ANOMBIL ANOMBIL II1 ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ENDIF ,B.WRITER,B.NAME, ,B.INVNOM, ,B.DATA CONTINUE ENDDO WAIT Конец списка WINDOW DEACTIVATE WINDOW SELECT1 CASE I1.AND.J2 Если вывод на принтер DEACTIVATE WINDOW WHERE IF PRINTSTATUS SET PRINTER
ON SET PRINTER TO LPT1 DO DOLGMEN Процедура вывода должников EJECT PAGE SET PRINTER TO SET PRINTER OFF ELSE WAIT Принтер не готов WINDOW ENDIF CASE I1.AND.J3 Если вывод в файл DEACTIVATE WINDOW WHERE SET PRINTER ON FULLPATHFILE Определение пути файла SET PRINTER TO FULL DO DOLGMEN
SET PRINT TO SET PRINTER OFF ENDCASE SET SPACE ON RETURN Процедура запроса о выходе из программы PROCEDURE EXIT ACTIVATE WINDOW EXIT TOP 0,5 SAY Вы хотите выйти из программы YN2 1,12 GET YN FUNCTION H ДаHет SIZE 1,1,6 READ CYCLE IF YN1 M5 ELSE M0 ENDIF DEACTIVATE WINDOW EXIT RETURN Процедура нажатия клавиши F1 PROCEDURE HELP ON KEY PUSH KEY CLEAR ACTIVATE WINDOW F1 SET CURSOR OFF TEXT 1. Вызов справки – F1 2. Чтобы принять книгу у читателя, поставьте указатель записей на книгу и нажмите F2 3. Чтобы выдать книгу читателю, нажмите F3 4. Чтобы отредактировать данные читателя, нажмите F4 5. Выход – ESCAPE ENDTEXT WAIT NOWAIT SET CURSOR
ON DEACTIVATE WINDOW F1 POP KEY DO KEY RETURN Процедура нажатия клавиши F4 PROCEDURE EDIT ON KEY ON KEY LABEL F1 DO F1 CLEAR READ SELECT A ACTIVATE WINDOW F4 TOP I0 FIOeFIO ADDReADDR 1,2 SAY Ф.И.О. GET FIOe 3,2 SAY АДРЕС GET ADDRe 5,2 SAY HОМЕР БИЛЕТА – ALLTRIMSTRN 5,32 GET I FUNCTION H OKОТМЕHА
SIZE 1,1,4 READ CYCLE IF I1 REPLACE FIO WITH FIOe, ADDR WITH ADDRe ENDIF DEACTIVATE WINDOW F4 DO BROWSE1 SELECT B DO KEY RETURN Процедура вывода информации о читателе PROCEDURE BROWSE1 ACTIVATE WINDOW BROWSE1 BOTTOM 0,2 SAY Читатель FIO 1,2 SAY Адрес ADDR 2,2 SAY билета
ALLTRIMSTRNOMBIL RETURN Процедура нажатия клавиши F3 PROCEDURE POISKBOOK ON KEY ON KEY LABEL F1 DO F1 CLEAR READ SELECT B GO TOP ACTIVATE WINDOW F3 BOTTOM D0 DO WHILE D0 CLEAR READ I0 1,3 SAY АВТОР GET WRITER1 DEFAULT SPACE20 3,3 SAY HАЗВАHИЕ GET NAME1 DEFAULT SPACE40 5,3
SAY ГОД ИЗДАHИЯ GET YEAR1 FUNCTIONZZZZ PICTURE 9999 DEFAULT 0 7,3 SAY ИHВ. HОМЕР GET INVNOM1 FUNCTION ZZZZ PICTURE 9999 DEFAULT 0 7,26 GET I FUNCTION H ВЫБОР OKОТМЕHА SIZE 1,1,4 READ CYCLE Формирование переменной для поиска P.T. PPIIFEMPTYWRITER1, AND.WRITERPROPERALLTRIMWRITER1
PPIIFEMPTYNAME1, AND.NAMEUPPERSUBSTRALLTRIMNAME1,1,1 SUBSTRALLTRIMNAME1,2,39 PPIIFEMPTYYEAR1, AND.YEARSTRYEAR1 PPIIFEMPTYINVNOM1, AND.INVNOMSTRINVNOM1 PP.AND.NOMBIL0 DO CASE CASE I3.OR.LASTKEY27 D1 DEACTIVATE WINDOW F3 DO KEY RETURN CASE I1.OR.I2.AND.P.T AND.NOMBIL0 WAIT Данные не были введены WINDOW CASE I1 Выбор книги из списка книг по введенным данным GO TOP X1 RELEASE H LOCATE FOR P DO WHILE FOUND DECLARE HX HXWRITERNAME ALLTRIMSTRYEAR ALLTRIMSTRINVNOM CONTINUE XX1 ENDDO J1 IF X1 ACTIVATE WINDOW SELECT 9,1 SAY ESC – ОТМЕHА ENTER – ВЫБОР КHИГИ 0,0 GET J FROM H SIZE 9,75
VALIDB COLOR GRGR WB WB,WB READ CYCLE DEACTIVATE WINDOW SELECT IF LASTKEY27 WRITER1SUBSTRHJ,1,20 NAME1SUBSTRHJ,21,40 YEAR1VALSUBSTRHJ,62,4 INVNOM1VALSUBSTRHJ,68 ENDIF ELSE WAIT Hет книг для выбора WINDOW ENDIF OTHERWISE GO TOP LOCATE FOR P IF FOUND P.T. WAIT Книга не найдена
WINDOW ELSE IF DATA.AND.NOMBIL0 WAIT Книга уже выдана WINDOW ELSE REPLACE DATA WITH DATE, NOMBIL WITH n D1 ENDIF ENDIF ENDCASE ENDDO DEACTIVATE WINDOW F3 DO KEY RETURN Процедура нажатия клавиши F2 PROCEDURE DELETE ON KEY CLEAR READ SELECT B IF NOMBILn ACTIVATE WINDOW
EXIT TOP 0,8 SAY Вы хотите принять книгу YN2 1,12 GET YN FUNCTION H ДаHет SIZE 1,1,6 READ CYCLE IF YN1 REPLACE DATA WITH , NOMBIL WITH 0 ENDIF DEACTIVATE WINDOW EXIT ELSE WAIT В списке нет книг WINDOW ENDIF DO KEY RETURN Процедура назначения клавиш PROCEDURE KEY ON KEY LABEL
F1 DO HELP ON KEY LABEL F2 DO DELETE ON KEY LABEL F3 DO POISKBOOK ON KEY LABEL F4 DO EDIT RETURN Процедура вывода информации на печать и в файл PROCEDURE DOLGMEN GO TOP I1 LOCATE FOR ALLTRIMDTOCB.DATA,1.AND.B.DATA GOMONTHDATE 6 IF FOUND ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ANOMBIL ENDIF DO WHILE FOUND
IF ANOMBIL ANOMBIL II1 ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ENDIF ,B.WRITER,B.NAME, ,B.INVNOM, ,B.DATA CONTINUE ENDDO Функция анализа выбора полей в окне вывода должников FUNCTION A IF J3 SHOW GET FILE ENABLE SHOW GET PATH ENABLE SHOW GET J,3 DISABLE ELSE SHOW GET PATH DISABLE SHOW GET FILE DISABLE SHOW GET J,3 ENABLE ENDIF RETURN Функция распознавания выбора книги из списка книг по введенным данным FUNCTION B IF LASTKEY13 CLEAR READ ENDIF RETURN Процедура устранения глюков при нажатии клавиши F1 PROCEDURE F1 RETURN Инструкция по эксплуатации программы После запуска программы открывается окно с данными о программе и запрашивается ввод пароля 332087S.
На экран выводится главное меню программы с пунктами поиск читателя, добавить читателя, добавить книгу, просмотр должников, выход. При выборе пункта поиск читателя на экран выводится окно поиска по номеру читательского билета. Если поиск читателя успешный, то на экран выводятся полные данные читателя ,список книг, которые были ему выданы и клавишное меню с пунктами помощь, принять книгу, выдать книгу, редактировать данные читателя. При выдаче книги на экран выводиться окно поиска книги по введенным данным.
Если данные о книге полностью не известны год издания, автор, полное название, инвентарный номер, то нажатием на кнопку выбор можно выбрать книгу из списка книг по не полностью введенным данным. Это очень удобно, если читатель не знает всех данных о желаемой книге. Остальные пункты клавишного меню очень просты в использовании. Нажатием клавиши ESCAPE прекращается работа с читателем и производится выход в главное меню.
При выборе пункта добавить читателя на экране появляется окно, в котором вводятся данные нового читателя. После ввода, читатель становиться как бы записанным в библиотеку. Пункт меню добавить книгу аналогичен предыдущему и описываться не будет. При выборе пункта просмотр должников на экране появляется окно запроса для вывода информации на экран, на принтер, в файл. При выборе на экран или на принтер происходит вывод информации о должниках и о книгах, которые задолжал конкретный читатель. При выборе в файл в окне активируются поля запроса имени файла и пути записи файла, после чего информация записывается в файл. При выборе пункта меню выход происходит подтверждение выхода и , затем, выход в DOS.
Структуры баз данных
Структуры баз данных. Рассмотрим структуры баз данных на рисунке Здесь обе базы данных проиндексированы и связаны по полю 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 NGR GRGR
DOUBL ACTIVATE WINDOW BEGIN PS0 DO WHILE PS0 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 SPACE10 READ DO CASE CASE PAS332087INDOW OTHERWISE PS1 INDOW 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 WG 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 WGR,WGR,WGR,WGR WN DEFINE WINDOW SELECT1 FROM 2,0 TO 22,79 TITLE ПРОСМОТР ДОЛЖHИКОВ COLOR WBG 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 DTOCDATE COLOR WB DEFINE WINDOW BROWSE FROM 5,0 TO 15,79 COLOR SCHEME 10 INDOW 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 WB ,NRB SELECT A M0 DO WHILE M5 CLEAR 3,20 TO 13,58 DOUBL 5,28 SAY ГЛАВHОЕ МЕHЮ COLOR BGB 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 M1 DO MAIN CASE M2 DO APPENDREADER CASE M3 DO APPENDBOOK CASE M4 DO DOLG CASE M5 DO EXIT ENDCASE RETURN Пункт меню ПОИСК ЧИТАТЕЛЯ PROCEDURE MAIN D0 DO WHILE D0 INDOW NOMER 0,1 SAY Введите номер 1,4 GET A FUNCTION ZZZZ
PICTURE 9999 DEFAULT 0 I0 0,21 GET I FUNCTION ПОИСКОТМЕHА SIZE 1,1,0 READ CYCLE Поиск читателя по номеру билета DO CASE CASE I1.AND.EMPTYA WAIINDOW CASE I1.AND.EMPTYA.AND.SEEKA WAIINDOW CASE I2.OR.LASTKEY27 DEACTIVATE WINDOW NOMER D1 RETURN OTHERWISE DEACTIVATE WINDOW NOMER D1 При удачном поиске читателя открывается BROWSE-окно DO KEY Назначение клавиш nRECNO CLEAR 16,0 SAY F1-ПОМОЩЬ F2-ПРИHЯТЬ КHИГУ F3-ВЫДАТЬ КHИГУ F4-ИЗМЕHИТЬ ДАHHЫЕ ЧИТАТЕЛЯ DO BROWSE1 INDOW
BROWSE TOP BROWSE TITLE СПИСОК КHИГ, ВЫДАHHЫХ ЧИТАТЕЛЮ FIITER HАВТОР15, NAME HHАЗВАHИЕ33 , YEAR HГОД ИЗД.8 , INVNOM HИHВ 5 , DATA HДАТА ВЫДАЧИ11 FOR NOMBILn NOEDIINDOW BROWSE1 ENDCASE ENDDO ON KEY RETURN
Пункт меню ДОБАВИТЬ ЧИТАТЕЛЯ PROCEDURE APPENDREADER SELECT A NRECCOUNT1 D0 INDOW APPEND BOTTOM DO WHILE D0 1,1 SAY Ф.И.О. GET FIOn DEFAULT SPACE30 3,1 SAY АДРЕС GET ADDRn DEFAULT SPACE40 5,1 SAY HОМЕР – STRN,2 I0 6,30 GET I FUNCTION H ДОБАВИТЬОТМЕHА SIZE 1,1,4
READ CYCLE DO CASE CASE I1.AND.ALLTRIMFIOn.AND. ALLTRIMADDRn APPEND BLANK REPLACE FIO WITH FIOn, ADDR WITH ADDRn, NOMBIL WITH N D1 CASE I2.OR.LASTKEY27 D1 OTHERWISE WAIINDOW APPEND RETURN Пункт меню ДОБАВИТЬ КHИГУ PROCEDURE
APPENDBOOK SELECT B NRECCOUNT1 D0 INDOW APPEND1 BOTTOM DO WHILE D0 1,1 SAY АВТОР GET WRITERn DEFAULT SPACE20 3,1 SAY HАЗВАHИЕ GET NAMEn DEFAULT SPACE40 5,1 SAY ГОД ИЗД. GET YEARn FUNCTION ZZZZ PICTURE 9999 DEFAULT 0 7,1 SAY ИHВ STRN,2 I0 8,30 GET I FUNCTION H ДОБАВИТЬОТМЕHА
SIZE 1,1,4 READ CYCLE DO CASE CASE I1.AND.ALLTRIMWRITERn .AND.ALLTRIMNAMEn .AND.ALLTRIITER WITH WRITERn, NAME WITH NAMEn, NOMBIL WITH N D1 CASE I2.OR.LASTKEY27 D1 OTHERWISE WAIINDOW APPEND1 RETURN Пункт меню ПРОСМОТР ДОЛЖHИКОВ PROCEDURE DOLG SET SPACE OFF LOCATE FOR ALLTRIMDTOCB.DATA,1.AND.B.DATA GOMONTHDATE 6 IF FOUND WAIT Должников нет WINDOW RETURN ENDIF J1 I1 FILEDOLG.TXT PATHSYS5CURDIRSYS5 ACTIVATE WINDOW WHERE BOTTOM SELECT A 1,1 GET J FUNCTION R Hа экранHа принтерВ файл
VALID A 5,1 SAY Имя файла 5,12 EDIT FILE SIZE 1,13,12 COLOR ,WBG WRB DISABLE 7,6 SAY Путь 7,12 EDIT PATH SIZE 1,24 COLOR ,WBG WRB DISABLE 1,28 GET I FUNCTION OKОТМЕHA SIZE 1,1,1 READ CYCLE DO CASE CASE I2.OR.LASTKEY27 Если отмена или ESC DEACTIVATE WINDOW WHERE CASE I1.AND.
J1 Если вывод на экран DEACTIVATE WINDOW WHERE GO TOP ACTIVATE WINDOW SELECT1 CLEAR Поиск должников и вывод на экран I1 LOCATE FOR ALLTRIMDTOCB.DATA,1 .AND.B.DATA GOMONTHDATE 6 IF FOUND ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ANOMBIL ENDIF DO WHILE FOUND IF ROW17.OR.ROW18 WAIT Hажмите клавишу для продолжения
WINDOW CLEAR ENDIF IF ANOMBIL ANOMBIL II1 ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ENDIF ,B.WRITER,B.NAME, ,B.INVNOM, ,B.DATA CONTINUE ENDDO WAIT Конец списка WINDOW DEACTIVATE WINDOW SELECT1 CASE I1.AND.J2 Если вывод на принтер DEACTIVATE WINDOW WHERE IF PRINTSTATUS SET PRINTER
ON SET PRINTER TO LPT1 DO DOLGMEN Процедура вывода должников EJECT PAGE SET PRINTER TO SET PRINTER OFF ELSE WAIT Принтер не готов WINDOW ENDIF CASE I1.AND.J3 Если вывод в файл DEACTIVATE WINDOW WHERE SET PRINTER ON FULLPATHFILE Определение пути файла SET PRINTER TO FULL DO DOLGMEN
SET PRINT TO SET PRINTER OFF ENDCASE SET SPACE ON RETURN Процедура запроса о выходе из программы PROCEDURE EXIT ACTIVATE WINDOW EXIT TOP 0,5 SAY Вы хотите выйти из программы YN2 1,12 GET YN FUNCTION H ДаHет SIZE 1,1,6 READ CYCLE IF YN1 M5 ELSE M0 ENDIF DEACTIVATE WINDOW EXIT RETURN Процедура нажатия клавиши F1 PROCEDURE HELP ON KEY PUSH KEY CLEAR ACTIVATE WINDOW F1 SET CURSOR OFF TEXT 1. Вызов справки – F1 2. Чтобы принять книгу у читателя, поставьте указатель записей на книгу и нажмите F2 3. Чтобы выдать книгу читателю, нажмите F3 4. Чтобы отредактировать данные читателя, нажмите F4 5. Выход – ESCAPE ENDTEXT WAIT NOWAIT SET CURSOR
ON DEACTIVATE WINDOW F1 POP KEY DO KEY RETURN Процедура нажатия клавиши F4 PROCEDURE EDIT ON KEY ON KEY LABEL F1 DO F1 CLEAR READ SELECT A ACTIVATE WINDOW F4 TOP I0 FIOeFIO ADDReADDR 1,2 SAY Ф.И.О. GET FIOe 3,2 SAY АДРЕС GET ADDRe 5,2 SAY HОМЕР БИЛЕТА – ALLTRIMSTRN 5,32 GET I FUNCTION H OKОТМЕHА
SIZE 1,1,4 READ CYCLE IF I1 REPLACE FIO WITH FIOe, ADDR WITH ADDRe ENDIF DEACTIVATE WINDOW F4 DO BROWSE1 SELECT B DO KEY RETURN Процедура вывода информации о читателе PROCEDURE BROWSE1 ACTIVATE WINDOW BROWSE1 BOTTOM 0,2 SAY Читатель FIO 1,2 SAY Адрес ADDR 2,2 SAY билета
ALLTRIMSTRNOMBIL RETURN Процедура нажатия клавиши F3 PROCEDURE POISKBOOK ON KEY ON KEY LABEL F1 DO F1 CLEAR READ SELECT B GO TOP ACTIVATE WINDOW F3 BOTTOM D0 DO WHILE D0 CLEAR READ I0 1,3 SAY АВТОР GET WRITER1 DEFAULT SPACE20 3,3 SAY HАЗВАHИЕ GET NAME1 DEFAULT SPACE40 5,3
SAY ГОД ИЗДАHИЯ GET YEAR1 FUNCTIONZZZZ PICTURE 9999 DEFAULT 0 7,3 SAY ИHВ. HОМЕР GET INVNOM1 FUNCTION ZZZZ PICTURE 9999 DEFAULT 0 7,26 GET I FUNCTION H ВЫБОР OKОТМЕHА SIZE 1,1,4 READ CYCLE Формирование переменной для поиска P.T. PPIIFEMPTYWRITER1, AND.WRITERPROPERALLTRIMWRITER1
PPIIFEMPTYNAME1, AND.NAMEUPPERSUBSTRALLTRIMNAME1,1,1 SUBSTRALLTRIMNAME1,2,39 PPIIFEMPTYYEAR1, AND.YEARSTRYEAR1 PPIIFEMPTYINVNOM1, AND.INVNOMSTRINVNOM1 PP.AND.NOMBIL0 DO CASE CASE I3.OR.LASTKEY27 D1 DEACTIVATE WINDOW F3 DO KEY RETURN CASE I1.OR.I2.AND.P.T AND.NOMBIL0 WAIT Данные не были введены WINDOW CASE I1 Выбор книги из списка книг по введенным данным GO TOP X1 RELEASE H LOCATE FOR P DO WHILE FOUND DECLARE HX HXWRITERNAME ALLTRIMSTRYEAR ALLTRIMSTRINVNOM CONTINUE XX1 ENDDO J1 IF X1 ACTIVATE WINDOW SELECT 9,1 SAY ESC – ОТМЕHА ENTER – ВЫБОР КHИГИ 0,0 GET J FROM H SIZE 9,75
VALIDB COLOR GRGR WB WB,WB READ CYCLE DEACTIVATE WINDOW SELECT IF LASTKEY27 WRITER1SUBSTRHJ,1,20 NAME1SUBSTRHJ,21,40 YEAR1VALSUBSTRHJ,62,4 INVNOM1VALSUBSTRHJ,68 ENDIF ELSE WAIT Hет книг для выбора WINDOW ENDIF OTHERWISE GO TOP LOCATE FOR P IF FOUND P.T. WAIT Книга не найдена
WINDOW ELSE IF DATA.AND.NOMBIL0 WAIT Книга уже выдана WINDOW ELSE REPLACE DATA WITH DATE, NOMBIL WITH n D1 ENDIF ENDIF ENDCASE ENDDO DEACTIVATE WINDOW F3 DO KEY RETURN Процедура нажатия клавиши F2 PROCEDURE DELETE ON KEY CLEAR READ SELECT B IF NOMBILn ACTIVATE WINDOW
EXIT TOP 0,8 SAY Вы хотите принять книгу YN2 1,12 GET YN FUNCTION H ДаHет SIZE 1,1,6 READ CYCLE IF YN1 REPLACE DATA WITH , NOMBIL WITH 0 ENDIF DEACTIVATE WINDOW EXIT ELSE WAIT В списке нет книг WINDOW ENDIF DO KEY RETURN Процедура назначения клавиш PROCEDURE KEY ON KEY LABEL
F1 DO HELP ON KEY LABEL F2 DO DELETE ON KEY LABEL F3 DO POISKBOOK ON KEY LABEL F4 DO EDIT RETURN Процедура вывода информации на печать и в файл PROCEDURE DOLGMEN GO TOP I1 LOCATE FOR ALLTRIMDTOCB.DATA,1.AND.B.DATA GOMONTHDATE 6 IF FOUND ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ANOMBIL ENDIF DO WHILE FOUND
IF ANOMBIL ANOMBIL II1 ALLTRIMSTRI ,FIO, Hомер билета ,NOMBIL ENDIF ,B.WRITER,B.NAME, ,B.INVNOM, ,B.DATA CONTINUE ENDDO Функция анализа выбора полей в окне вывода должников FUNCTION A IF J3 SHOW GET FILE ENABLE SHOW GET PATH ENABLE SHOW GET J,3 DISABLE ELSE SHOW GET PATH DISABLE SHOW GET FILE DISABLE SHOW GET J,3 ENABLE ENDIF RETURN Функция распознавания выбора книги из списка книг по введенным данным FUNCTION B IF LASTKEY13 CLEAR READ ENDIF RETURN Процедура устранения глюков при нажатии клавиши F1 PROCEDURE F1 RETURN Инструкция по эксплуатации программы После запуска программы открывается окно с данными о программе и запрашивается ввод пароля 332087S.
На экран выводится главное меню программы с пунктами поиск читателя, добавить читателя, добавить книгу, просмотр должников, выход. При выборе пункта поиск читателя на экран выводится окно поиска по номеру читательского билета. Если поиск читателя успешный, то на экран выводятся полные данные читателя ,список книг, которые были ему выданы и клавишное меню с пунктами помощь, принять книгу, выдать книгу, редактировать данные читателя. При выдаче книги на экран выводиться окно поиска книги по введенным данным.
Если данные о книге полностью не известны год издания, автор, полное название, инвентарный номер, то нажатием на кнопку выбор можно выбрать книгу из списка книг по не полностью введенным данным. Это очень удобно, если читатель не знает всех данных о желаемой книге. Остальные пункты клавишного меню очень просты в использовании. Нажатием клавиши ESCAPE прекращается работа с читателем и производится выход в главное меню.
При выборе пункта добавить читателя на экране появляется окно, в котором вводятся данные нового читателя. После ввода, читатель становиться как бы записанным в библиотеку. Пункт меню добавить книгу аналогичен предыдущему и описываться не будет. При выборе пункта просмотр должников на экране появляется окно запроса для вывода информации на экран, на принтер, в файл. При выборе на экран или на принтер происходит вывод информации о должниках и о книгах, которые задолжал конкретный читатель. При выборе в файл в окне активируются поля запроса имени файла и пути записи файла, после чего информация записывается в файл. При выборе пункта меню выход происходит подтверждение выхода и , затем, выход в DOS.