OTCH_CL (Ведение реляционной БД на яз. CLIPPER 5.02), страница 2

2016-07-31СтудИзба

Описание файла

Документ из архива "Ведение реляционной БД на яз. CLIPPER 5.02", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "OTCH_CL"

Текст 2 страницы из документа "OTCH_CL"

Экранный кадр № 6:

Московская государственная текстильная академия ( МГТА )

БАЗА ДАННЫХ Нарушение норм техобслуживания:

Курсовая работа по курсу :

"Алгоритмические языки обработки данных и технология программирования"

----------------------------------------------------------------------------------а А.Н.

¦ Сохранить все внесенные изменения и продолжить ¦*****

¦ работу с Базой данных - т.е. сделать промежуточный SAVE ¦

¦ или ¦

¦ Завершить работу с базой данных с сохранением всех ¦.А.

¦ изменений ¦.

¦ Сохранить и продолжить Завершить работу ¦

----------------------------------------------------------------------------------

Выберите одну из следующих задач

Ведение файла "Нормативы профилактики оборудования"

Ведение файла "Профилактика"

Получение ведомости нарушение норм техобслуживания

Выход из Базы Данных


б) Пункты меню, что в них делается ?

Меню № 1:

1) Сразу приступить к работе с Базой Данных

2) Заново построить все индексы Базы Данных

3) Провести компрессию Базы Данных

4) Выход из Базы Данных

При выборе п.1, если индексы уже имеются мы попадаем в меню № 2.

При выборе п.2 заново происходит построение всех индексов Б.Д .

При выборе п.3 производится компрессия (уплотнение) Б.Д .

При выборе п.4 появляется горизонтальное подменю:

а) Сохранить и продолжить б) Завершить работу

П.а) Сохранить все внесенные изменения и продолжить

П.б) Завершить работу с базой данных с сохранением всех изменений

Меню № 2:

1) Ведение файла "Нормативы профилактики оборудования"

2) Ведение файла "Профилактика" 3) Получение ведомости нарушение норм техобслуживания

4) Выход из Базы Данных

При выборе п.1 мы попадаем в редактор файла aa.dbf - (“Нормативы профилактики оборудования”), где мы можем его просматривать и редактировать.

При выборе п.2 мы попадаем в редактор файла bb.dbf - (“Профилактика”), где мы можем его просматривать и редактировать.

При выборе п.3 происходит выявление всех случаев превышения нормативных интервалов между профилактиками, вывод их в выводной файл “DD”, а также выдача ведомости на принтер.

При выборе п.4 выполняются действия аналогичные п.4 в меню № 1.

.................................................................................................................................

8. Ведение БД .

Какими табл. представлено ведение БД, по какой табл. указывается текущая рабочая область, её слуги, колонки таблицы, набор клавиш на которые предусмотрена реакция системы.

Клавиши на которые реагирует система:

­/ ¯ / ® / ¬ /; PgUp / PgDn; Home / End - Перемещение курсора

Enter - Выбор задачи в меню и редактирование полей в редакторе

Esc - Возврат на шаг назад. Отмена редактирования (без сохранения изменненого значения)

F8 - Удалить строку

F3 - Вставить строку

F10 - Выход из задачи с сохранением всей информации или выход без сохранения информации

Таблицы ведения Б.Д.:

Табл. №1

Нормативы профилактики оборудования:

Идент. типа станка Наименование типа станка Норма, дней

-----------------------------------------------------------------------------------------------

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

------------------------------------------------------------------------------------------------

Тип станка:

Табл. №2

Профилактики:

Инв.№ станка Вид профилактики Дата профилактики

----------------------------------------------------------------------------------------------

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

¦ ¦

------------------------------------------------------------------------------------------------

Инв.№ станка:

Вид профилактики:

Дата профилактики:

.................................................................................................................................

9. Структура программы :

а) Содержимое rmk-файла “kursv.rmk”:

objs = main2,aa,util,bb

.prg.obj:

CLIPPER $< /a/m/n

.obj.exe:

RTLINK OUTPUT $* FI $(objs) /PLL:base52

main2.obj : main2.prg

aa.obj : aa.prg

util.obj : util.prg

bb.obj : bb.prg

kurs_ok.exe : main2.obj aa.obj util.obj bb.obj

б) Имена и содержание prg-файлов. По каждой функции: имя, назначение, параметры, тип данных и смысл, возвращенное значение, рабочие перемен-ные и их назначение.

Программные файлы:

1) aa.prg

В этой программе реализовано:

1. Создание TBrowse-объекта для просмотра-редактирования файла aa.dbf в окне.

2) bb.prg

В этой программе реализовано:

1. Создание TBrowse-объекта для просмотра-редактирования файла bb.dbf в окне.

3) main2.prg

В этой программе реализовано:

1.Организация меню.

2. Индексирование файлов.

3. Уплотнение файла .

4. Выявление всех случаев превышения нормативных интервалов между профилактиками, вывод их в выводной файл “DD”, а также выдача ведомости на принтер.

5. Вывод на экран информации о “горячих” клавишах.

4) util.prg

Эта программа содержит набор стандартных утилит:

1. Сохранение экрана, восстановление экрана.

2. Перевод в верхний регистр как латиницы, так и кириллицы.

3. Координаты, сообщение, цвет.

4. Выход из задачи с сохранением всей информации - реакция на клавишу F10.

5. Подача звукового сигнала для сигнализации успешного выполнения

поставленной задачи:

Описание основных подпрограмм:

1) п.п. постоения индексов:

func db_index(prm)

s_scr(24,0,25,79)

CLOSE ALL

SETCOLOR ("w/n")

@ 24,0 CLEAR TO 25,79

@ 24,6 SAY "Ждите идет индексирование! " COLOR "w+*/n"

use bb

index on bb->invnom + dtoc(bb->dateprof) to bb0001

use aa

index on aa->idst to aa0002

use cc

index on cc->invnom to cc0003

use dd

index on dd->(norma-fkdn) to dd0004

close all

r_scr()

return nil

2) п.п. открытия индексов:

func db_open

close all

use aa index aa0002

use bb index bb0001 new

use cc index cc0003 new

use dd index dd0004 new

return nil

3) п.п. уплотнения Б.Д. :

FUNCTION db_compress()

s_scr(24,0,25,79)

CLOSE ALL

SETCOLOR("w/n")

@ 24,0 CLEAR TO 25,79

@ 24,6 SAY "Ждите идет уплотнение !" COLOR ("w+*/n")

USE aa // уплотнение файла aa.dbf

COPY TO work

IF ERRORLEVEL() = 0

USE

DELETE FILE aa.dbf

RENAME work.dbf TO aa.dbf

ENDIF

USE bb // уплотнение файла bb.dbf

COPY TO work

IF ERRORLEVEL() = 0

USE

DELETE FILE bb.dbf

RENAME work.dbf TO bb.dbf

ENDIF

USE cc // уплотнение файла cc.dbf

COPY TO work

IF ERRORLEVEL() = 0

USE

DELETE FILE cc.dbf

RENAME work.dbf TO cc.dbf

ENDIF

USE dd // уплотнение файла dd.dbf

COPY TO work

IF ERRORLEVEL() = 0

USE

DELETE FILE dd.dbf

RENAME work.dbf TO dd.dbf

ENDIF

CLOSE ALL

r_scr()

RETURN NIL

4) п.п. выдачи информации о клавишах, на которые реагирует система ”Help”:

PROCEDURE hlp(callpnt,prm)

LOCAL retcol,crow,ccol

IF prm = NIL

prm := .F.

ENDIF

crow = ROW()

ccol = COL()

retcol = SETCOLOR("w/n")

@ 22,0 CLEAR TO 24,79

IF callpnt = "GET"

// исправленный HLP для GET 26.09.96

@ 22,0 SAY "Enter/" + CHR(24) + '/' + CHR(25) + '/PgUp/PgDn' ;

+ " -Завершить редактирование с сохранением измененного значения"

@ 22,0 SAY "Enter/"+ CHR(24) + '/' + CHR(25) + '/PgUp/PgDn' COLOR "r+/n"

@ 23,1 SAY CHR(26) + ' / ' + CHR(27) + ' / ^' + CHR(26) ;

+ ' / ^' + CHR(27) + ' / Home / End - Перемещение курсора'

@ 23,1 SAY CHR(26) + ' / ' + CHR(27) + ' / ^' + CHR(26) ;

+ ' / ^' + CHR(27) + ' / Home / End' COLOR "r+/n"

@ 24,1 SAY 'Esc - Отменить редактирование ' ;

+ '( без сохранения измененного значения )'

@ 24,1 SAY "Esc" COLOR "r+/n"

ENDIF

IF callpnt="AAED" .OR. callpnt="BBED"

SET COLOR TO ("w/n")

@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;

+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;

+ ' / ^' + CHR(27) + '/ Home / End - Перемещение курсора'

@ 24,0 SAY 'Enter - Редактирование '

@ 23,23 TO 24,23 DOUBLE

@ 23,25 SAY 'Esc - Возврат на шаг назад ' COLOR "w/n"

@ 23,25 SAY 'Esc' COLOR "r+/n"

@ 23,54 TO 24,54 DOUBLE

@ 23,55 SAY 'F8 - Удалить строку '

@ 24,55 SAY 'F3 - Вставить строку '

SET COLOR TO ("r+/n")

@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;

+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;

+ ' / ^' + CHR(27) + '/ Home / End '

@ 24,0 SAY 'Enter'

@ 23,55 SAY 'F8'

@ 24,55 SAY 'F3'

ENDIF

IF callpnt="CCED" .OR. callpnt="DDED"

SET COLOR TO ("w/n")

@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;

+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;

+ ' / ^' + CHR(27) + '/ Home / End - Перемещение курсора'

@ 24,0 SAY 'Enter - Редактирование '

@ 23,23 TO 24,23 DOUBLE

@ 23,25 SAY 'Esc - Возврат на шаг назад ' COLOR "w/n"

@ 23,25 SAY 'Esc' COLOR "r+/n"

@ 24,25 SAY '^Enter - Выбор значения ' COLOR "w/n"

@ 24,25 SAY '^Enter' COLOR "r+/n"

@ 23,54 TO 24,54 DOUBLE

@ 23,55 SAY 'F8 - Удалить строку '

@ 24,55 SAY 'F3 - Вставить строку '

SET COLOR TO ("r+/n")

@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;

+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;

+ ' / ^' + CHR(27) + '/ Home / End '

@ 24,0 SAY 'Enter'

@ 23,55 SAY 'F8'

@ 24,55 SAY 'F3'

ENDIF

SET COLOR TO (retcol)

SETPOS(crow,ccol)

RETURN

5) п.п. выявления всех случаев превышения нормативных интервалов между профилактиками, вывода их в выводной файл “DD”, а также выдачи ведомости на принтер:

func vedom

local tinvnom,sitog,tdata,tidzap,tidst,idpop

set printer on

select dd

zap

lin:=space(17)+"Таблица нарушение норм техобслуживания:"

? lin

select bb

set relat to bb->invnom into cc

set relat to cc->idst into aa additive

go top

sitog:=0

do while .not. eof()

tinvnom:=bb->invnom

tdata:=bb->dateprof

tidzap:=bb->idzap

tidst:=cc->idst

skip

if(bb->invnom=tinvnom).and.(bb->dateprof-tdata>aa->norma)

select dd

append blank

replace dd->invnom with tinvnom

replace dd->fkdn with bb->dateprof-tdata

replace dd->norma with aa->norma

replace dd->idzappp with tidzap

replace dd->idzapsp with bb->idzap

sitog:=sitog+(dd->fkdn-dd->norma)

select bb

endif

enddo

lin:="+-----------------------------------------------------------------------------+"

? lin

lin:="¦ Инв.¦ Наименование ¦ Дата ¦ Вид предвор. ¦ Дата ¦ вид след. ¦Просроч.¦"

? lin

lin:="¦номер¦ типа станка ¦ ¦ профилактики ¦ ¦ профилактики ¦ дней ¦"

? lin

lin:="¦-----+--------------+--------+--------------+--------+--------------+--------¦"

? lin

select dd

set relat to dd->invnom into cc additive

go top

do while .not. eof()

tinvnom:=dd->invnom

idpop:=dd->idzappp

lin:="¦ "+dd->invnom+" ¦ "

select bb

go top

do while .not. eof()

if(tinvnom=bb->invnom).and.(idpop=bb->idzap)

lin:=lin+aa->namest+" ¦"+dtoc(bb->dateprof)+"¦ "+bb->vidprof

endif

skip

enddo

select dd

idpop:=dd->idzapsp

select bb

go top

do while .not. eof()

if(tinvnom=bb->invnom).and.(idpop=bb->idzap)

lin:=lin+" ¦"+dtoc(bb->dateprof)+"¦ "+bb->vidprof+"¦ "

endif

skip

enddo

select dd

lin:=lin+str(dd->fkdn-dd->norma,4)+" ¦"

? lin

skip

enddo

lin:="+-----------------------------------------------------------------------------+"

? lin

set color to w+/b

lin:=" Всего просроченно дней -"+str(sitog,5)

? lin

set printer off

sound()

inkey(0)

return nil

6) п.п. подачи звукового сигнала для сигнализации успешного выполнения

поставленной задачи:

func sound

tone(300,1)

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее