Ведение реляционной БД на яз. CLIPPER 5.02
Информация - Компьютеры, программирование
Другие материалы по предмету Компьютеры, программирование
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) п.п. выявления всех случаев превышения нормативных интервалов между пр?/p>