Главная страница

СУБД. 1Цель работы 1Изучение основных понятий и правил языка FoxPro


Скачать 66.5 Kb.
Название1Цель работы 1Изучение основных понятий и правил языка FoxPro
Дата22.06.2022
Размер66.5 Kb.
Формат файлаdoc
Имя файлаKR1-6.doc
ТипДокументы
#609636

1Цель работы

1.1Изучение основных понятий и правил языка FoxPro.

1.2Изучение принципов определения окон и меню в FoxPro.



2Индивидуальное задание


Написать две процедуры в отдельных файлах (файлы с расширением PRG): первая создает окно для ввода значений элементов массива, после выхода из процедуры окно удаляется из памяти; вторая находит максимальное, минимальное и среднее значение массива и выводит эти значения в отдельном окне (окно также создается и

уничтожается внутри процедуры).

В основной программе создать окно со строкой меню, содержащей два пункта: «Файл» и «Выполнить». При активации пункта меню «Файл» активируется Popup-меню, содержащее опцию «Выход» – выход из программы. При активации пункта меню «Выполнить» активизируется Popup-меню, содержащее имена программ, написанных ранее.



Ход выполнения работы



Для выполнения лабораторной работы напишем основной модуль (work1), с помощью которого будут вызываться подпрограммы: введение элементов массива (buildArray) и работа с массивом (dowork).

Далее будут приведены листинги программ, а также скриншоты запущенных приложений:
work1.prg
DEFINE WINDOW MainWindow FROM 5, 20 TO 20, 65 IN SCREEN;

FONT "Courier", 14;

TITLE "Контрольная работа №1";

DOUBLE CLOSE FLOAT NOGROW MINIMIZE;

LOCAL lcPath

IF _VFP.STARTMODE = 0 && running inside the Visual FoxPro IDE

lcPath = LEFT(SYS(16,0), RAT("\", SYS(16,0), 1))

SET DEFAULT TO (lcPath) && Specifies the default drive and directory

ELSE

lcPath = JUSTPATH(SYS(16,0))

SET DEFAULT TO (lcPath) && Specifies the default drive and directory

ENDIF


DEFINE MENU MainMenu IN WINDOW MainWindow;
DEFINE PAD menuFile OF MainMenu PROMPT "\<Файл"

DEFINE PAD menuWork OF MainMenu PROMPT "\<Выполнить"
DEFINE POPUP popupMenuFile

DEFINE BAR 1 OF popupMenuFile PROMPT "\<Выход"

DEFINE POPUP popupMenuWork

DEFINE BAR 1 OF popupMenuWork PROMPT "Введите массив"

DEFINE BAR 2 OF popupMenuWork PROMPT "Результат"
ON PAD menuFile OF MainMenu ACTIVATE POPUP popupMenuFile

ON PAD menuWork OF MainMenu ACTIVATE POPUP popupMenuWork
ON SELECTION BAR 1 OF popupMenuWork DO buildArray IN "buildArray.prg"

ON SELECTION BAR 2 OF popupMenuWork DO processArray IN "processArray.prg"
ON SELECTION BAR 1 OF popupMenuFile RELEASE WINDOW MainWindow
ON KEY LABEL ESC RELEASE WINDOWS
ACTIVATE WINDOW MainWindow

ACTIVATE MENU MainMenu NOWAIT
@ 2, 3 SAY "Контрольная работа 1"

Результатом выполнения является следующее окно (рис. 1):


Рисунок 1
bldarray.prg
PROCEDURE buildArray
DEFINE WINDOW buildArrayWnd FROM 1, 10 TO 15, 80 IN SCREEN ;

FONT "Courier" , 14 ;

TITLE "Ввод массива:";

ICON FILE "icon\app.ico";

DOUBLE CLOSE FLOAT GROW MINIMIZE;
ACTIVATE WINDOW buildArrayWnd

ON KEY LABEL ESC RELEASE WINDOW buildArrayWnd
PUBLIC arrLen
INPUT "Введите длину массива: " TO arrLen
PUBLIC a[arrLen]
FOR i = 1 TO arrLen

INPUT "Введите элемент: " TO a[i]

ENDFOR
RELEASE WINDOW buildArrayWnd
ENDPROC
Результатом выполнения является следующее окно (рис. 2):


Рисунок 2
processarray.prg
PROCEDURE processArray
DEFINE WINDOW processArrayWnd FROM 1, 30 TO 10, 90 IN SCREEN;

FONT "Courier", 9;

TITLE "Результаты вычислений";

ICON FILE "icon\math.ico";

DOUBLE CLOSE FLOAT GROW MINIMIZE;
ACTIVATE WINDOW processArrayWnd
_min = a[1]

_max = a[1]

_avg = 0

_sum = 0
FOR i=1 TO arrLen

_sum = _sum + a[i]

ENDFOR
_avg = _sum / arrLen
FOR i = 2 TO arrLen

IF a[i] > _max THEN

_max = a[i]

ENDIF

IF a[i] < _min THEN

_min = a[i]

ENDIF

ENDFOR
@ 1, 1 SAY "Максимальное значение массива:"

@ $, 40 SAY _max
@ $+1, 1 SAY "Минимальное значение массива:"

@ $, 40 SAY _min
@ $+1, 1 SAY "Среднее значение массива:"

@ $, 40 SAY _avg
ON KEY RELEASE WINDOW
WAIT "Для выхода нажмите любую клавишу"
RELEASE WINDOW processArrayWnd
ENDPROC
Результатом выполнения является следующее окно (рис. 3):



Рисунок 3

3Выводы

В ходе данной лабораторной работы были изучены основные понятия и правила языка FoxPro, изучены принципы определения окон, меню и вычислений в среде Visual FoxPro 9.



написать администратору сайта