Реферат: Курсовик по FoxPro

* ----Использование страхового копирования данных

SET CLEAR OFF

SET SAFETY OFF

* Если файл NORM.MEM есть...

IF FILE('C:\MY_WORKS\TRANSF~1\MYPROJ~1\norm.mem')

* ...он загружается в память.

RESTORE FROM('C:\MY_WORKS\TRANSF~1\MYPROJ~1\norm.mem')

* Если переменная завершения истинна...

IF normz

* ...копируем все файлы таблиц в страховую директорию

!COPY C:\MY_WORKS\TRANSF~1\MYPROJ~1\*.dbf C:\MY_WORKS\TRANSF~1\MYPROJ~1\Insure\*.dbf>NUL

* иначе сообщение.

ELSE

WAIT normd+' было аварийное завершение .'+;

'Восстановить (ENTER) данные?' WINDOW

* В случае нажатия Enter, файлы восстанавливаются из страховой директории.

IF LASTKEY()=13

!COPY C:\MY_WORKS\TRANSF~1\MYPROJ~1\Insure\*.dbf C:\MY_WORKS\TRANSF~1\MYPROJ~1\*.dbf>NUL

ENDIF

ENDIF

ENDIF

* Устанавливается переменная завершения, переменная текущей даты и обе запоминаются в файл.

normz= .T.

normd=DTOC( DATE( ))

SAVE ALL LIKE norm? TO C:\MY_WORKS\TRANSF~1\MYPROJ~1\norm

Здесь сначала выясняется, есть ли файл NORM.MEM в текущей директории. Если есть, файл загружается и выясняется значение переменной NORM. При NORMZ=.T. все файлы таблиц копируются в страховую поддиректорию внутри рабочей директории.

Поскольку файлов в системе обычно довольно много, проще использовать не собственные команды копирования FoxPro, а выполнить (через знак !) соответствующие команды DOS, для которых можно указать маску. Чтобы системные сообщения команд не выводились на экран, они переадресованы на пустое устройство ДОС - NUL. Если NORMZ=.F., значит, предыдущий сеанс работы завершился аварийно. На экран выдаются сообщение и запрос о необходимости восстановления данных из страховой директории (нажатием клавиши Enter). Такой запрос нужен для того, чтобы отказаться от копирования данных, если завершение программы было ненормальным, но данные, как знает пользователь, не пострадали. После завершения анализа переменной NORMZ она получает значение .F. и запоминается в файле NORM.MEM вместе с переменной NORMD. Далее идет тело собственно прикладной системы. Если при этом произойдет сбой, переменная NORMZ сохранит свое значение. При нормальном завершении программы этой переменной присваивается значение .Т. и она сохраняется в файле.

Кроме того, необходимо организовать систему контекстно-зависимой справки, вызываемой по F1. Текст помощи предварительно заносится в файл Table_Help.dbf, структура которого показана ниже.

К-во Просмотров: 1841
Бесплатно скачать Реферат: Курсовик по FoxPro