Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Мова FoxPro.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
80 Кб
Скачать
☆

Команди присвоювання

Для створення змінних і присвоювання їм певних значень використовуються команди:

<змінна> =<вираз>

або

STORE <вираз> TO <список змінних>

Приклад:

A=C*(B+D) і STORE C*(B+D) TO A

В обох випадках змінній А присвоюється одне й теж число, але другу форму краще обирати тоді, коли треба одне й теж значення присвоїти зразу ж декілька змінним.

Приклад:

STORE 0 TO A, B, C, D

Тип змінної визначається типом останнього присвою ванного їй виразу. Символьні константи треба брати в лапки, апостроф або [ ].

Приклад: Х = '45' Х – символьна константа;

У = 45 У – числова константа.

Команда очистки екрану

CLEAR

Команди введення - виведення

@ … SAY… GET

Команда являє собою універсальну команду такого типу. Вона застосовується для форматованного введення – виведення даних на екран або принтер. Формат команди:

@ <Y X>

[SAY<>

[PICTURE

Команди керування

Для зміни порядку виконання команд використовуються команди передачі керування:

IF < умова >

< команди >

[ELSE

< команди >]

ENDIF

Якщо умова істинна, то виконуються усі команди, які йдуть від IF до ELSE.

Якщо умова ложна, то виконуються усі команди, які йдуть від ELSE до ENDIF.

Якщо необов’язкова фраза ELSE відсутня і умова ложна, то всі внутрішні <команди> пропускаються і виконуються ті команди, що йдуть за ENDIF.

Можна також використовувати вкладені один в один команди IF… ENDIF.

Приклад. Обчислити значення величини р, якщо:

A= 0.2

INPUT ' введіть X ' то X

IF X<=100

P = 0

ELSE

P = A*(X – 100)/ 2

ENDIF

? "P = ", P

Командою INPUT вводится спочатку поточне значення Х, а потім командою IF реалізується розгалуження і обчислення значення змінної Р в залежності від воконання умови X<=100. Якщо умова виконується, змінна P = 0, інакше - P = A*(X – 100)/ 2. Завершується фрагмент виведенням одержаного значення змінної Р на екран дисплею.

Приклад: Дано два числа a і b. Вивести найбільше з цих двох чисел, а якщо вони рівні, то вивести повідомлення "числа рівні".

INPUT ' введіть a ' то a

INPUT ' введіть b ' то b

IF a=b

? 'числа рівні'

ELSE

IF a>b

? a

ELSE

? b

ENDIF

ENDIF

В цьому прикладі використано вкладені один в один команди IF… ENDIF.

Команда вибору dо case

Команда вирішує задачі аналогічно команді IF, але в цій команді можна використовувати зразу ж декілька умов, які послідовно перевіряються в усіх фразах CASE.

Формат команди:

DO CASE

CASE <умова 1>

<команди>

CASE <умова 2>

<команди>

. . .

[OTHERWISE

<команди>]

ENDCASE

Якщо зустрілась умова істина, то виконуються команди, які йдуть до наступної фрази CASE, або OTHERWISE, або ENDCASE і конструкція завершується. Якщо ні жодна CASE - умова не істина, то виконуються команди, які йдуть за OTHERWISE до ENDCASE. Якщо фраза OTHERWISE відсутня, то не виконується ні жодна команда

Приклад для умови попередньої задачі:

DO CASE

CASE a=b

? 'числа рівні'

CASE a>b

? 'a= ' , a

CASE a<b

? 'b= ' , b

ENDCASE

Якщо знайдена істина CASE- умова, то інші умови не перевіряються і виконуються команди, які стоять за ENDCASE.

Є також у FoxPro дуже зручна функція аналіза умов – IF( ).

Приклад:

Розглянемо фрагмент програми для організації простого меню роботи з БД.

vibir = 1

CLEAR

@ 6,26 TO 17,52 DOUBLE

@ 8,28 SAY ''Меню для роботи з БД''

@ 10,30 SAY ''1. Доповнення БД''

@ 11,30 SAY ''2. Редагування БД''

@ 12,30 SAY ''3. Перегляд БД''

@ 13,30 SAY ''4. Вихід з меню''

@ 15,30 SAY ''Ваш вибір: '' GET vibir

DO CASE

CASE vibir = 1 && Доповнення БД

APPEND

CASE vibir = 2 &&Редагування БД

GO TOP

EDIT

CASE vibir = 3 &&Перегляд БД

GO TOP

BROWSE NOEDIT

CASE vibir = 4 &&Вихід з меню

Poki = . F . && (Буде використовуватись далі)

ENDCASE