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

3. Основні діалогові команди

3.1. Команди створення БД:

CREATE <ім’я БД> — створення нової БД. Ім’я БД може мати до восьми символів (букв або цифр) і починатися з букви.

Після введення команди на екрані з’являється інформація, яка визначає необхідні дані для створення структури БД:

ІМ’Я ПОЛЯ

ТИП, ДОВЖИНА

ТОЧНІСТЬ

(FIELD NAME)

(TYPE) (WIDTH)

(DEC)

де ім’я поля — рядок не більший восьми символів;

тип поля — С — символьний; N — числовий; довжина — ширина поля, яка дорівнює максимальній кількості символів значення поля.

Якщо поле числове, то ширина поля — кількість цифр цілої частини числа + 1 (на знак розділення) + кількість десяткових цифр (після коми).

Приклад: 1) ширина поля «КНЕУ» дорівнює 4;

2) ширина поля 25,786 дорівнює 6 = (2 + 1 + 3).

Але взагалі в ширину числового поля треба включати ще один символ на знак числа. Точність — кількість цифр після коми.

Тип поля задається натисканням однієї з букв C, N, D або клавіші «пробіл».

Створивши структуру БД, необхідно натиснути 2 рази на клавішу <ENTER>, після чого з’явиться запис

INPUT DATE ? (Y/N)

Для введення даних треба натиснути Y, для виходу з команди — N.

Після натискання Y і після введення всіх даних для виходу з команди треба натиснути клавішу <ENTER>, після чого виконати команду:

USE — закриття БД і запис створеної БД на магнітний диск.

Для відкриття БД і для роботи в нею, необхідно виконати команду:

USE <ім’я БД>,

після чого можна переглянути або вивести на друкування вміст БД чи її структуру:

LIST [<список полів>] [FOR <умова>] — виведення вмісту БД на екран.

DISPLAY [<зона дії>] [<список полів>1 [FOR<умова>] — виведення одного активного запису на екран.

LIST STRU — виведення структури БД на екран.

LIST ТО PRINT — виведення вмісту БД на друкування.

LIST STRU TO PRINT — виведення структури БД на друкування.

3.2. Команди коригування БД:

APPEND — додавання нових записів у кінець БД. Для виходу з команди треба натиснути клавішу <ENTER>, а для запису на магнітний носій — виконати команду USE.

EDIT [RECORD <номер запису>] — редагування одного запису. Для виходу з команди треба натиснути одночасно дві клавіші: CTRL </ W.

BROWSE — повноекранний редактор дає змогу редагувати всі записи, вміщені на екрані. Для виходу з команди треба натиснути одночасно дві клавіші: CTRL / W.

Вилучення записів з БД:

DELETE [<зона дії>] [FOR <умова>]

PACK;

команда

RECAL [<зона дїї>] [FОR <умова>]

знімає помітку вилучення після виконання команди DELETE,

ZAP — вилучення всіх записів БД;

команда

REPLACE [<зона дії>] <поле-1> WITH <вираз1>[, <поле-2> WІТН <вираз 2>... J [FОR<умова>]

змінює значення <поле-1>, <поле-2> значенням виразів після ключового слова WITH.

Команда

LОСАТЕ FOR <умова>

проводить пошук першого запису, для якого виконується УМОВА. Виконуючи команду DISPLAY можна вивести знайдений запис на екран. Для продовження пошуку використовується команда CONTINUE.

GO TOP — переміщення показника запису на початок БД;

GO BOTTOM — переміщення показника запису в кінець БД;

GO <номер запису> — перехід на заданий запис;

SKIP [<± числовий вираз>] — переміщує вперед або назад показник запису від значення <числового виразу> та його знака («+» — уперед, «–» — назад);

? <список виразів> — виведення на екран обчислених значень виразів, або полів;

QUIT — закриває всі бази даних і передає управління операційній системі (вихід з FOXBASE у WINDOWS).

Робота з базами даних: MODIFAY STRUCTURE — оновлення структури існуючої БД.

Для виходу з команди — <CTRL> + W;

команда

SORT ON < ім’я поля-1> [, <ім’я поля-2>,... J ТО <ім’я нової БД>

здійснює сортування активної БД за зростанням полів <поле-1>, <поле-2> і запису нової БД під ім’ям <ім’я нової БД>;

команда

INDEX ON <ключ>-TO <ім’я ключового файла>

створює індексний (ключовий) файл, який відповідає відкритій БД. Для того щоб БД була упорядкована за ключами індексного файла, треба її відкрити за командою:

USE <ім’я БД>, INDEX <ім’я ключового файла>

Для індексованих файлів є дуже швидка команда пошуку:

SEEK <вираз>;

вираз має відповідати значенню ключа, за яким проіндексовано БД. При внесенні змін в БД, необхідно оновлювати індексні файли, які стосуються даної БД. Для цього існують команди:

REINDEX,

яка оновлює всі індексні файли, вказані у попередньо заданій команді, та команда

SET INDEX to <індексний файл-1> [, <індексний файл-2>...],

у списку першим повинен бути той індексний файл, який вказаний у команді БД.

Команда

SELECT <робоча область>

вибирає одну з 10 робочих областей для розміщення одночасно кількох БД: <робоча область> може бути 1÷10, або A÷J.

Кожній робочій області відповідає свій показник запису. Одна БД не може бути відкрита з двох робочих областей одночасно. Дані для поточного запису будь-якої робочої області можуть бути прочитані з якої завгодно робочої області, де відкрито файл. При цьому, використовуючи синтаксис

<псевдонім> ® <ім’я поля>,

можна одержати доступ до поля з другої робочої області.

Команда оновлення БД другої робочої області задається таким чином:

UPDATE ON <ключове cлово> FROM <ALIAS>

REPLACE <ім’я поля> WITH <вираз>

[,<ім’я поля> WITH <вираз>...] [RANDOM]

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

БД, у якій проводитимуться зміни, має бути активною в поточній робочій області, редагуючий файл — відкритим в одній із незайнятих робочих областей. Обидві БД мають бути проіндексовані за значенням ключового поля.

Якщо значення ключа змінюваної БД не є унікальним для кожного запису, то тільки перший запис з таким значенням підлягає зміні.

Об’єднання двох БД

Команда

JOIN WITH <ALIAS> TO <ім’я об’єднаної БД>, FOR <умова>, [FIELDS <список полів, які увійдуть до об’єднаної БД>],

об’єднує дві відкриті БД у третю, вказану за ключовим словом to. Активною повинна бути область, де відкрито файл, у записах якого значення ключових полів (за якими об’єднуються дві БД) не повторюються.

Приклад:

SELE 1

USE PRIMDET

SELE 2

USE PLAN

JOIN WITH A TO PLANPRIM FOR KP = = A.KP FIELDS KP EІZH KD PRІМ PLANPGOD

Виконання арифметичних операцій над записами

Команда

TOTAL ON <ключ> ТО <ім’я БД> [<область дії>] [FIELDS <список полів> [FOR <умова>]

обчислює проміжні підсумки полів вказаних в FIELDS з однаковими значеннями ключа.

Команда

SUM <вираз 1> [,<вираз 2>... J [<область дії>] [ТО <список тимчасових змінних>] [FOR <умова>]

підсумовує числові поля (1/або побудовані на їх основі вирази) тих записів відкритої БД, для яких значення <умова> у виразі FOR є «істина» і які помічені виразом <область дії>.

У команді можна задати до п’яти виразів для підсумовування.

Команда

COUNT [<облaсть дії>] [FOR <умова>] [ТО <тимчасова змінна>]

підраховує кількість записів відкритої БД і розміщує в <тимчасову змінну>.

Убудований генератор звітів

СУБД VISUAL FoxPro включає в себе підсистему видавання вмісту БД у вигляді звіту і реалізується в вигляді команди

CREATE REPORT <ім’я звітної форми>,

що створює структуру звітної форми на основі відкритої БД, для якої потрібен звіт визначеної форми; створений цією командою форматний файл звітів має розширення FRM.

Для того щоб записати створений форматний файл звіту, треба перейти до екрану, з яким-небудь полем звіту і натиснути

<CTRL> + W.

Команда

REPORT FORM <ім’я звітної форми> [PLAIN] [NOEJECT][HEADING <символьний вираз>] [ТО PRINT][ТО FILE <ім’я файла>] [SUMMARY]

видає на екран або на друкування звіт, за вмістом активної БД відповідно до підготовленої раніше команди CREATE REPORT форми звіту.

Робота з БД у програмному режимі

Для того щоб працювати з БД у програмному режимі, треба записати послідовність команд (не діалогових) роботи з БД у командний (програмний) файл, який має розширення PRG.

Команда

MODIFY COMMAND <ім’я командного файла>

створює і редагує командний файл з розширенням PRG.

Команда

MODIFY FILE <ім’я текстового файла>

створює текстовий файл з будь-яким розширенням.

У кінці кожного командного файла треба записати команду, яка завершує його роботу. Після створення або редагування командного будь-якого файла, необхідно записати йо-го на МД натисненням клавіш <CTRL> + W. Щоб викликати і запустити на виконання командний файл, треба виконати команду

DO <ім’я командного файла>

Деякі команди, використовувані у програмному режимі:

* — коментарі (не виконувані команди);

STORE <вираз> ТО <список тимчасових змінних> — створює та ініціює одну або декілька тимчасових змінних.

Для означення змінної можна використати альтернативний синтаксис

<тимчасова змінна> = <вираз>.

Для того щоб указати вищий пріоритет тимчасової змінної перед аналогічним іменем поля, треба вдатися до уточненого подання за допомогою символу М. <тимчасова змінна>.

Команда

WAIT [«<деяке повідомлення, яке виводиться на екран»][ТО <тимчасова змінна>]

призупиняє роботу командного файла. Для продовження роботи необхідно натиснути будь-яку клавішу і значення натиснутої клавіші, якщо є ключове слово ТО, передається у <тимчасову змінну>.

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

Команду

PUBLIC <список тимчасових змінних>

використовують для надання змінним статусу загальних. Ця команда має передувати всім командам, які означують змінні:

STORE <—>.

Команди

DO WHILE <умова>

<команда>

[LOOP] [EXIT]

<команди>

ENDDO

організують повторювання виконання послідовності команд (цикл), які містяться між DO WHILE та ENDDO, допоки значення <умова> — «істина»; LOOP дає змогу перервати виконання і передати управління команді DO WHILE (до початку циклу); EXIT — передає управління наступній за ENDDO команді (вихід з циклу).

Приклад:

* командний файл виведення даних

USE PRIM

GО TOP

SET PRINT ON

DO WHILE .NOT. EOF( )

? FAM + NAM

? «телефон:», TELEF

?

SKIP

ENDDO

SET PRINT OFF

RETURN — кінець командного файла.

Команди

IF <умова>

<команди>

ELSE

<команди>

ENDIF

дають змогу організувати виконання команд залежно від умови: якщо <умова> — «істина», виконуються ті команди, які слідують за IF, потім виконується перехід до команд після ENDIF. Якщо <умова> — «фальш», то виконуються тільки ті команди, які слідують за ELSE.

Команди

DO CASE

CASE <умова 1>

<команди>

CASE <умова 2>

<команди>

[OTHERW ISE]

ENDCASE

використовуються для виконання тільки однієї з кількох послідовностей команд, розміщених після CASE.

Виконуються тільки ті команди, для яких <умова> — «істина», а потім здійснюється перехід до тих команд, які слідують за ключовим словом ENDCASE.

Команди

TEXT

<блок тексту>

ENDTEXT

вміщують у програмний файл уведення тексту, який виводиться на пристрій виведення (екран або друк) залежно від параметра PRINT (SET PRINT OFF/ON).

Команди

?/?? <вираз 1>, <вираз 2>,...

обчислюють список виразів і виводять їх значення на екран;

?? — не переводить курсор на початок наступного рядка.

Команда

<рядок, стовпчик [[SAY <вираз> [PICTURE <шаблон>]]][GET <змінна> PICTURE <шаблон>][RANGE.<вираз N>, <вираз М>] / [CLEAR]

використовується для створення форм користувача для уведення та виведення даних. Ця команда видає інформацію в указаному форматі та у заданих позиціях.

0<= <рядок> <=23

0<= <стовпець> <=79

Для встановлення напрямку видання інформації на принтер необхідно поставити перед цією командою команду

SET DEVICE TO PRINT,

а на екран — команду

SET DEVICE TO SCREEN.

Ключове слово GET видає інформацію з уже існуючої змінної або з якого-небудь поля активної БД.

Команда READ, застосована сумісно з однією або кількома заданими раніше командами ... GET..., активізує режим повно-екранного редагування й всі раніше визначені поля введення можуть бути змінені.

Ключове слово CLEAR витирає частину екрану, починаючи із заданого рядка донизу та із заданого стовпчика праворуч.

Приклад:

команда

7,2 CLEAR

— це вичистити вікно правої нижньої частини екрану, починаючи з 7-го рядка 2-го стовпця.

Ключове слово

PICTURE

дає змогу визначить формат виведення та введення.

Шаблони ключового слова PICTURE

Шаблон формується шляхом завдання поодиноких масок-шаблонів для кожного вивідного або ввідного символу.

Символи шаблону:

9 — дозволяється використовувати тільки цифри в символьних даних;

цифри і знаки (+, –) — для цифрових даних;

# — тільки цифри, пробіли, знаки;

А — тільки букви;

N — букви і цифри;

Х — які завгодно символи;

! — переводити малі букви у великі;

$ — знак долара замість лідируючого нуля;

* — зірочка замість — лідируючого нуля;

— місце десяткової крапки.

Символ $ та * мають сенс тільки за використання SAY.

Символ ! може бути використаний і з SAY і з GET.

Решта символів використовуються тільки з GET.

Приклад:

STORE « » ТО KОD

10.5 SAY «уведіть код» GET KОD РІСТ «AA9999»

READ

Підпрограми

Підпрограма може бути окремим командним файлом, при цьому виклик такої підпрограми здійснюється з викликальної програми оператором DO <ім’я файла>. Повернення управління до викликальної програми здійснюється, коли досягнуто кінець файла підпрограми або виконання команди RETURN.

Підпрограми можна розміщувати у процедурному файлі (розширення PRG). У такому разі їх називають процедурами.

Процедура має таку структуру:

PROCEDURE <ім’я процедури>

[parametrs <список параметрів>]

<команди>

RETURN

Виклику процедури має передувати команда

SET PROCEDURE TO <ім’я процедурного файла>,

з допомогою якої стають допустимими процедури, записані у вказаний файл.

Подальший виклик виконується командою:

DO <ім’я процедури [WHIT <список аргументів>]

Установлення параметрів системи

У VISUAL FoxPro існує низка команд, які встановлюють значення параметрів системи. Їхній синтаксис:

SET <параметр> [ON або OFF]

або

SET <параметр> ТО <значення>

Значення параметрів ON/OFF, прийнятих за замовчанням, вказується першим.

Команда

SET FILTER TO [<умова>]

встановляє умову відбору записів з активної БД. Дія команди поширюється тільки на відкриту БД тієї робочої області, де команду видано. Якщо умова не задана, то команда знімає (або анулює) поставлену раніше умову і поширює дію наступних команд на всю активну БД.

Команда

SET INDEX ТО [«список файлів IDX»]

відкриває індексні файли для відповідних БД, які будуть автоматично оновлюватися. Перший за списком індексний файл є головним, тобто тільки він використовується для команд перегляду, пошуку. Якщо <список файлів> не існує, то закриваються всі індексні файли.

Команда

SET PRINT OFF/ON,

де ON — уся інформація виводиться на друкувальний пристрій;

OFF — інформація на друк не виводиться,

поширюється на всі вивідні на екран команди, окрім команд

... SAYSET TALK ON/OFF,

де ON — результат виконання команд виводиться на екран;

OFF — результат виконання команд не виводиться на екран.

Команда

SET DEFAULT TO <DUCK>

дає змогу вибрати пристрій (активну папку), в якому проводяться всі операції з файлами.

Команда

SET STEP OFF/ON

переводить роботу програми в інтерактивний режим, якщо обрано ключове слово ON;

ON — після завершення виконання кожної команди файла її дія переривається.

Команда

SET BELL OFF

виключає подачу звукового сигналу.

Команда

SET FORMAT TO <ім’я .FМT файла>

активізує додатково створені формати, а команди

... SAY ... GET, APPEND, READ —

уведення та виведення даних.

Команда без параметра <ТО> закриває всі відкриті .FMT файли.

Команда

SET FUNCTION <F2> / ... / <F10> TO <символьний вираз>

дає змогу перепрограмувати функціональні клавіші F2—F10 «;» у складі <символьного виразу> перетворюється на дію клавіші <введення>.

Команда

SET PATH TO [PATH список]

використовується для задання списку шляхів (маршрутів), по яких FoxPro буде виконувати пошук файлів.

Команда

SET PRINTER TO [<DEVICE>/PRN/<ім’я файла>]

дає змогу призначити для виведення інформації або файл, або пристрій.

Команда

SET RELATION ТО [<ключовий вираз> INTO<ALIAS>] [ADDITIVE]

зв’язує два відкритих файли БД з допомогою <ключового виразу>, сумісного з обома базами даних. Одна БД є активною, а інша — відкритою БД в іншій робочій області. Друга БД вказується опцією INTO <ALIAS> і повинна бути проіндексована за <ключовим виразом>, ADDITIVE залишає раніше створені зв’язки без змін.

Приклад:

SELE 1

USE F1

SELE 2

USE F2 INDEX KOD 2

SELE 3

USE F3 INDEX KOD3

SELE 1

SET RELA TO KOD2 INTO B

SET RELA TO KOD3 INTO C ADDI

Команда

SET SAFETY ON/OFF

установлює видачу попередження про запис БД на місці існуючої або пише нову БД на місце старої без попередження;

Команда

SET STATUS ON/OFF

визначає видання або подавлення рядка стану в рядку 22;

Команда

TYPE <ім’я файла з розширенням> [ТО PRINT]

виводить вміст текстового файла (який вимагає тільки символи ASCII) на екран або на друкування.

Функції VISUAL Fox Pro

вбудовані функції:

& <ім’я символьної змінної> — заміна на місце змінної її значення.

Приклад:

STORE «PRIXОD» TO F1

USE &F1

АSС (<символьний вираз>) — повертає значення коду самого лівого символу виразу.

CHR(<двозначне число) — виводить символ, який відповідає значенню аргументу (коду).

COL ( ) — повертає номер стовпця поточного положення курсору на екрані.

EOF ( [<числовий вираз>] ) — перевіряє виконання умови «кінець файла».

Функція повертає логічне значення «істина» (.Т.), якщо показник запису знаходиться після останнього запису або якщо попередні команди SEEK чи FIND не були виконані. У противному разі повертається логічне значення «фальш» (. F.). ERROR ( ) — повертає число, яке відповідає номеру помилки, викликаної виконанням умовного оператоpa ON ERROR.

FILE [<ім’я файла з розширенням>] — повертає логічне значення «істина» (.Т.), якщо існує ім’я файла, вказане як аргумент, і «фальш» (.F.), якщо такого файла не існує.

FOND (<номер робочої області>) — повертає логічне значення «істина», якщо остання команда CONTINUE, FIND, LOCATE, SEEK виконана успішно.

У кожній робочій області може існувати своє значення функції:

ІNКЕY ([<кількість секунд очікування натиснення клавіші>]) — повертає ціле число, яке відповідає коду ASCII для клавіші, натисненої користувачем. Якщо не натиснено на жодну клавішу, то повертається нульове значення;

INKEY (0) — функція чекає натиснення клавіші нескінченно, доки її не буде натиснено;

ІNКЕY ( ) — зразу ж повертає код натисненої клавіші або призупиняє роботу програми, якщо натиснення не було.

ІNТ(<число>) — перетворює будь-яке число (можливо дріб) на ціле число шляхом відкидання десяткової частини після крапки;

LEN (<символьний вираз>) — повертає довжину символьного рядка;

LTRIM (<символьний вираз>) — вилучає пробіли, які мають місце на початку вказаного <символьного виразу>;

MESSAGE ([1]) — функція без apгументу повертає текст поточного повідомлення про помилку. Якщо задається аргумент [1], то повертається вихідний код рядка програми, де виникла помилка.

Приклад:

ON ERROR. DO OBRPOM

***

PROC OBRPOM

APPE BLANK

REPL KОDPOM WITH ERRO ( )

REPL KPOM WITH MESS ()

REPL NRPOM WITH MESS (1)

REPL PROG WITH SYS (16) — ім’я програми, в якій сталася помилка;

PCOL ( ) — повертає поточний номер стовпця для принтера;

PROW ( ) — повертає поточний номер рядка для принтера;

RECCOUNT (<N робочої області>] — повертає кількість записів активного файла (без аргументу) або тієї робочої області, яка вказана як аргумент;

RECNO ([<N робочої області>]) — повертає номер поточного запису активного файла (без аргументу) або файла з робочої області, номер якого задається аргументом;

REPLICATE (<символьний вираз>, <кількість повторень>) — повторює <символьний вираз> стільки разів, скільки вказано в <кількість повторень>;

ROW ( ) — повертає поточний номер рядка в позиції курсора;

RTRIM (<cимвольний вираз>) — повертає значення <символьного виразу> без хвостових пробілів;

SELECT ( ) — повертає номер поточної активної робочої області;

SPACE (<N>) — повертає рядок символів з N пробілами (N<266);

STR (<N>[,<довжина>][,<кількість десяткових знаків>] — перетворює числовий вираз у символьний <довжина> — кількість цілих + 1 + кількість десяткових знаків;

STUFF (<символьний вираз-1>, <пп>, <квc>, <cимволи для заміни>) — заміняє в <символьний вираз-1>, починаючи з <пп>, кількість символів, які задані в <символі для заміни>.

Якщо <символ для заміни> є нульовим рядком (довжина = 0), то <кзс> буде вилучено з <символьного виразу>, починаючи з <пп>.

SUBSTR (<символьний рядок>, <nn>, <кс>) — повертає вказану кількість символів <кс> з <символьного рядка>, починаючи з позиції <пп>.

TIME ( ) — повертає поточний системний час у вигляді символьного рядка, формат: ГГ: ХХ: СС;

TYPE (<символьний вираз) — повертає тип <символьний вираз>.

VAL (<символьний вираз з цифровим символом>) — перетворює <символьний вираз з цифровим символом> у числовий вираз.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]