Ведение реляционной БД на яз. CLIPPER 5.02
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: зимой сочинение, безопасность доклад
| Добавил(а) на сайт: Jablochkin.
Предыдущая страница реферата | 12 13 14 15 16 17 18 19 20 21 22 | Следующая страница реферата
15) п.п. просмотра файла aa.dbf с обработкой нажимаемых клавиш и вызовом соответствующих методов или пользовательских функций:
FUNCTION aaEd(brws)
LOCAL ret_fl,sel,otb , w
LOCAL cc,rr,nrc:=0,i
LOCAL ret:=NIL
LOCAL t := brws:nTop , l := brws:nLeft , b := brws:nBottom , r := brws:nRight
LOCAL t_ := 5 , l_ := 6 , b_ := 15 , r_ := 74 s_scr() s_r_s()
SETCOLOR( "N/W" )
CLS
SETCOLOR( "gr+/b,w+/gr") hlp("AAED")
SELECT aa
SET ORDER TO 2
@ t-2 , l-1 CLEAR TO b+2 , r+1
@ b+1, l TO b+1, r ret_fl := .F.
DO WHILE .NOT. ret_fl
** оптимизированная с использованием буфера клавиатуры стабилизация
DO WHILE ( NEXTKEY() == 0 ) .AND. ( .NOT. brws:stabilize() )
ENDDO
IF ( NEXTKEY() == 0 ) .AND. ( RECNO() nrc) nrc := RECNO() rr := ROW() cc := COL()
SETCOLOR("bg+/b")
@ t-2 , l+1 SAY " Нормативы профилактики оборудования:"
@ b+2 , l+1 SAY " Тип станка: "
@ b+2 , COL()+1 SAY aa->namest COLOR "w+/b"
SETPOS(rr,cc)
ENDIF
SETCOLOR("gr+/rb")
** ожидаем нажатия клавиши nkey := Inkey(0)
// если нажата клавиша типового метода - вызовем его blk := basemet( nKey )
IF blk NIL
EVAL( blk , brws )
ELSE
DO CASE
CASE ( bHotkey := SETKEY( nKey ) ) NIL
EVAL( bHotkey , PROCNAME() , PROCLINE() , READVAR() )
CASE ( nKey = K_F8 )
DELETE
// потрогаем файловый указатель, если
// возвращаетя EOF() - .T. после Down-Up,
// значит файл пуст
SKIP
SKIP -1
IF RECNO() = RECCOUNT()+1 ret_fl := .T. // завершение просмотра
ENDIF brws:RefreshAll() nrc := 0
CASE nKey = K_ESC ret_fl := .T. // завершение просмотра
CASE ( nKey = K_ENTER )
// Редактирование текущего элемента данных aaGet(brws ;
, " Редактирование файла aa.dbf" ) nrc := 0 // обновить верхнюю строку
CASE nKey == K_F3
APPEND BLANK brws:RefreshAll()
ENDCASE
ENDIF
ENDDO
SET RELAT TO s_r_s(.T.) r_scr()
RETURN ret
16) п.п. выполнения GET в текущей колонке файла aa.dbf:
PROCEDURE aaGet( brws , z0 )
LOCAL r , c , w , w2 , otb
LOCAL retcurs,retexit // форма курсора и режим выхода из READ
LOCAL retins, retcol // режим вставка-замена в READ
LOCAL indch := .F. // флаг изменений значений полей, входящих в
// индекснове выражение (тогда нужно REFRESHALL(),
// а не REFRESHCURRENT() )
LOCAL col r := ROW() c := COL()
// Проверка обновления экрана, корректности базы и т.д.
ForceStable(brws)
// Установка клавиш Up-Arrow и Down-Arrow как клавиш выхода из
// команды READ retexit := READEXIT(.T.)
// Установка клавиши INS для переключения
// режима вставка/замена
// и соответствующего изменения вида курсора retins := SetKey( K_INS, Repl_Ins() )
// эквивалентно Set Key K_INS To Procedure
Repl_Ins
// Установка вида курсора по текущему состоянию режима retcurs := SetCursor( IF(ReadInsert(), SC_NORMAL, SC_INSERT ) ) s_scr() retcol := SETCOLOR("w+/g")
@ brws:nTop-3,0
@ brws:nTop-3,0 SAY z0 hlp("GET")
SETCOLOR("gr+/n,w+/g") indch := .F.
DO CASE
CASE brws:colpos = 1 w := aa->idst
@ r,c+2 GET w
READ
IF .NOT.( LASTKEY() = K_ESC ).OR.( aa->idst == w )
Рекомендуем скачать другие рефераты по теме: доклад, контрольные работы 2 класс.
Категории:
Предыдущая страница реферата | 12 13 14 15 16 17 18 19 20 21 22 | Следующая страница реферата