Ведение реляционной БД на яз. 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>