Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Среднее профессиональное образование 8 страница



SAVE — опция используется только в программах и сохраняет на экране образ окна редактирования после его закрытия.

Пример:

MODI COMM f* && открывает все файлы с расширением.ргд, имена которых начинаются с буквы f

MODI COMM * && открывает все программные файлы

с расширением.ргд.


В том и другом случае каждый программный файл открывает­ся в отдельном окне. Ненужные окна закрываются либо клави­шей Esc, либо щелчком мыши на кнопке в правом верхнем углу окна.

Встроенный редактор FoxPro предназначен также для вывода на экран и редактирования Memo-полей, которые открываются с помощью команды Ctrl + Home, и текстовых файлов, имена ко­торых указаны в тексте программного файла с целью их дальней­шего вывода на печать.

б. Для создания нового программного файла из Главного ме­ню надо подать команду':

File —► Ne%v -> выбрать расширение.prg (или Program).

Для открытия уже существующего программного файла надо подать команду:

File -> Open -> указать имя нужного программного файла.

В том и другом случае написание и редактирование текста программного файла производится по правилам текстовых редак­торов.

6.2. ЗАПУСК ПРОГРАММНОГО ФАЙЛА

Выполнить программный файл можно либо из окна Command с помощью команды DO <имя программного файла>, либо с помощью команды Главного меню:

PROGRAM -> DO -> указать в списке имя программного файла,

либо нажав в графическом меню кнопку, на которой изображен восклицательный знак.

Остановить выполнение программного файла можно нажати­ем клавиши Esc, если в тексте программного файла указа!» команда SET ESCAPE ON.

Во многих версиях FoxPro эта команда указана по умолчанию- В Visual FoxPro после нажатия клавиши Esc, на экран выво­дится диалоговая панель с тремя кнопками:

Caned — выполнение программы прерывается.

Suspend — выполнение программы приостанавливается до под­ачи команды RESUME.

Ignore — продолжить выполнение программы.

В уже отлаженных и хорошо работающих программах можно заблокировать нажатие клавиши Escape с помощью команды SET ESCAPE OFF.

6.3. МОДУЛЬНОСТЬ ПРОГРАММ

Программный продукт включает в себя внешние и внутренние процедуры, которые оформляются как отдельные модули. Мо­дульное построение программного продукта позволяет повысить его наглядность и унифицировать часто повторяющиеся опера­ции, сокращает время написашш и отладки программ. При вы­полнении программных кодов, если FoxPro встречает обращение к подпрограмме (модулю), то он ищет текст модуля в следующей последовательности:



• в текущей процедуре;

• в процедурном файле;

• снизу вверх в старших процедурах;

• на диске в виде отдельной программы.

6.3.1. Внешние процедуры

Внешней процедурой называется некоторая последовательность Команд, которые выполняют определсшюе и законченное дейст­вие по обработке данных. Внешняя процедура (или несколько Процедур) хранятся в отдельном файле на диске. Приложение мо- *ет содержать несколько процедурных файлов, но подключен (активен) всегда только один процедурный файл. Подключение Процедурного файла производится командой:

SET PROCEDURE ТО [<имя процедурного файла>]

Команда без опции закрывает процедурный файл.


I

 

6.3.1.1. Вызов внешней процедуры Формат команды:

DO <нмя программного файла внешней процсдуры>

[ WITH <снисок параметров> 1 [ IN <нмя файла>)

Назначение опций WITH Ссписок параметров — содержит список входных и выходных параметров. В качестве входных и выходных нарамет-1 ров допускается использование переменных, констант и выраже­ний.

IN <имя файла> — явно указывает место хранения программно­го файла и используется вместо предварительно подаваемой ко­манды SET PROCEDURE.

Команда DO выполняет указанную программу. Если указан­ная программа не откомпилирована или в нее были внесены изменения, то она автоматически компилирует указанную про-1 грамму, а затем се выполняет.

Если в <имени программного файла> опущено расширение, то расширения будут просматриваться в следующем порядке:.ехе..арр,.£хр,.prg.

6.3.1.2. Команда описания заголовка процедуры Формат команды:

PROCEDURE <нмя процелуры>

В качестве имени процедуры используется уникальный набор букв латинского алфавита. Допускается использование цифр, но первым символом должна быть буква.

6.3.1.3. Команда восприятия параметров Формат команды:

PARAMETERS Ссписок параметров

Эта команда позволяет передать процедуре значения перемен­ных из командной строки или из вызывающей программы. Она пишется сразу после заголовка процедуры и содержит такое Ж®

количество параметров и того же типа, что и в команде DO, вы­зывающей данную процедуру.

6.3.1.6. Команда окончания процедуры формат команды:

RETURN [ТО MASTER | ТО <имяпроцедуры> | <выр>]

Команда RETURN без опций завершает выполнение процедуры и передает управление следующему по порядку опера­тору

Команда RETURN ТО MASTER завершает выполнение про­цедуры и выполняет переход к самому верхнему уровню вызыва­ющих процедур, передавая управление следующему по порядку оператору.

Команда RETURN ТО <имя процедуры> завершает выполне­ние процедуры и выполняет переход к процедуре с указанным именем, передавая управление следующему по порядку опера­тору.

<выр> содержит последний выполняемый оператор в теле процедуры. Такой способ окончания процедуры используется в процедурах-функциях для передачи последнего вычисленного значения.

6.3.1.6. Команда возврата RENTRY

Команда позволяет вернуться на ту команду, которая вызвала текущую процедуру, т. е. циклическая ссылка Иногда работой алгоритма предусмотрен многократный вызов одной и той же процедуры, но всегда надо предусмотреть принудительный выход из такой ситуации.

6-3.1.7. Команда выхода на командный уровень cancel

Команда прекращает выполнение программы, освобождает из Памяти переменные, созданные пользователем и возвращает уп­равление окну Command.


6.3.1.8. Команда выхода из среды Visual FoxPro QUIT

Осуществляет выход из среды Visual FoxPro в операционную систему. Рекомендуется использовать эту' команду перед вы­ключением компьютера, с целью предотвращения потери дан­ных.

6.3.2. Внутренние процедуры

Внутренние процедуры хранятся вместе с текстом основной про­граммы и размещаются в конце основной программы.

Для создания внутренних процедур используются те же ко­манды, что и при создании внешних процедур.

6.3.3. Процедура-функция

Если результатом работы процедуры является единственное вы численное значение, то удобнее использовать процедуру-функ­цию. Процедура-функция может быть оформлена как внешняя или как внутренняя процедура. Пронелура-функция вызывает по своему имени, которое допускается указывать в командах. По еле имени процедуры-функции обязательно указываются или пу­стые круглые скобки, или круглые скобки с именами передавае­мых аргументов.

6.3.3.1. Команда описания заголовка процедуры-функции

FUNCTION(<HMfl процедуры-функини>)

Имя процедуры-функции пишется по правилам имен проце­дур (см. п. 6.3.1.2).

Передача входных параметров (аргументов) и написание тела процедуры-функции производится аналогично процедурам, но запрещено использование команды RETURN в любом варианте- Единственный результат вычисления, определенный последним исполняемым оператором, передается под именем самой функции Вызов процедуры-функции производится командой

1)0 <нмя происдуры-функцнн>.


6.4. ОБЛАСТЬ ДЕЙСТВИЯ ПЕРЕМЕННЫХ

Переменные могут передаваться в процедуры не только через фиктивные параметры, но и напрямую. Псремеш<ые, определен­ные в старших модулях, действуют также и в подчиненных моду­лях.

6.4.1. Глобальные переменные

Переменные и массивы, объявленные как глобальные, действуют во всей среде Visual FoxPro. Глобальную переменную можно оп­ределить либо в окне Command, либо с помощью оператора

PUBLIC <список имен переменных в масснвов>

Элементы списка отделяются друг от друга запятой. Глобальная переменная продолжает существовать даже тогда, когда процедура, ее определившая, закончила свою работу и осво­бодила оперативную память.

»

6.4.2. Локальные переменные

Локальные переменные существуют только внутри процедуры, в которой они определены, и во всех подчиненных ей процедурах. Для описания локальных переменных используют оператор PRIVATE <спнсок имен переменных>

Допускается объявление группы локальных переменных по шаблону:

PRIVATE ALL LIKE <шаблои> | EXCEPT <шаблон>

Назначение опций:

LIKE <шаблон> — задает множество имен, соответствующих ус­ловию шаблона.

EXCEPT <шаблон> — задает множество имен, не соответствую­щих условию шаблона

Оператор PRIVATE описывает только переменные. Локаль­ные массивы описываются командами DECLARE и DIMEN­SION.


 

6.5. ПРОСТЕЙШИЕ ВЫЧИСЛЕНИЯ

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

6.5.1. Вычисление суммы по столбцу

Команда SUM без опций производит вычисление суммы по всем числовым полям всех столбцов и всех записей активной таб­лицы.

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

SUM

[ Ссиисок выряжсний> ]

[ FOR <выр. Ll> 1 I WHILE <Bi.ip.L2>]

[ТО < список имен переменных памятн> | ТО ARRAY <имя массива> ]

[ NOOPTIMIZEI

Назначение опций-

<список выражении> — задает имена физических нолей или вы­ражения (виртуальные поля), которые должны быть просуммиро­ваны. Количество элементов списка должно соответствовать ко­личеству элементов массива, если результат вычислений будет сохраняться в массиве (опция ТО ARRAY <имя массива>).

FOR <выр. Ll> — задает диапазон строк, для которых надо вы­полнить операцию суммирования.

WHILE <выр. L2> — задает диапазон строк, для которых надо выполнить операцию суммирования.

ТО Ссписок имен переменных памяти> — задает имена перемен­ных памяти, в которых будут сохранены результаты вычисления сумм. При необходимости соответствующие переменные будУ1 созданы автоматически.

ТО ARRAY <имя масснва> — содержит имя массива, который предназначен для хранения результатов вычисления сумм. СЛ массив должен быть создан заранее.

NOOPTIMIZE — отключает технологию ускоренного доступ3 к данным, если в опцию FOR включены поля текущего ИИ- декса.

6.5.2. Вычисление среднего значения по столбцу

Команда AVERAGE осуществляет вычисление среднего арифме­тического значения для выражения. Формат команды:

average

(<спнсок Bbip.N> ]

[ FOR <выр. LI>]

(WHILE <выр. L2> J

[ ТО <спис(ж имен переменных памятн> | ТО ARRAY <имя чассим> ]

| NOOPTIM1ZE ]

Назначение опций аналогично команде SIJM. В <списке Bbip.N> могут содержаться как имена физических нолей, так и выражения для виртуальных полей.

6.5.3. Вычисление математических операций над физическими и виртуальными полями

Команда CALCULATE позволяет выполнять любые допустимые математические операции над полями и выражениями. Формат команды:

CALCULATE [ Сспнсок Bbip.N> ]

(FOR <выр. Ll> ]

I WHILE <выр. L2> ]

[ TO <спнсок имен переменных пачятн> | ТО ARRAY <ичя масснва> ]

INOOPTIMIZE]

При написании выражений допускается использование функ­ций:

АУС(<выр. N>) — вычисляет среднее арифметическое значение Для числового поля (столбца) или выражения, содержащего поле

(столбец).

CNT0 — вычисляет общее количество записей.

^1АХ(<выр.>) — находит максимальное значение для поля (стол­бца) или выражения, содержащего поле (столбец).

XlL\(<Bup.>) — находит минимальное значение для поля (стол­бца) или выражения, содержащего поле (столбец).


NPV(<w»ip. Nl>, <выр> [, <выр. N2> J) — рассчитывает значение,

представленное в сети, для серии платежей при некотором фиксиЛ рованном проценте. Процент указывается в <выр. N1 > в десят^И чной форме. В <выр.> указывается серия платежей либо именем поля, либо выражением поля, либо численным выражением.

В <выр. N2> может быть указано начальное инвестирование.

STD(<Bbip. N>) — вычисляет стандартное отклонение для зна-1 чений в числовом поле или в выражении, содержащем числовое I поле.

SUM(<Bbip. N>) — вычисляет сумму значений в числовом поле или в выражении, содержащем числовое поле.

VAR(<Bbip. N>) — вычисляет дисперсию от среднего для число­вого поля или выражения, содержащего числовое поле.

Записи, помеченные к удалению, включаются к вычислению, если ранее не была использована команда SET DELETED ON, которая игнорирует помеченные к удалению записи.

6.5.4. Вычисление общего количества записей в таблице

Команда COUNT подсчитывает общее количество записей в ак­тивной таблице и сохраняет результат в переменной памяти. Фо(^И мат команды:

COUNT [ FOR <выр. Ll> ]

[WHILE <выр. L2> ]

[ТО <персмсннойпамяггн>]

[ NOOPTIMIZE j

Для аналогичных целей может бьггь использована функция: J RECCOUNT([ <выр. N> | <выр. О ])

которая возвращает количество записей таблицы. Желаемая таб-Я лица задастся либо номером рабочей области <выр. N>, либоЯ алиасом рабочей области <выр. С>.

6.6. ПРИМЕРЫ

Пример 1. Создать программный файл по условиям примерЯ 1 гл. 5.

USE Customer.dbf *

in

 

alias

cus

*

JSE Order.dbf

in

 

alias

ord

USE Salesman.dbf

in

 

alias

smn

USE Sale.dbf

in

 

alias

sal

USE Account.dbf

in

 

alias

acnt

USE Catalog.dbf in INDEX catalog;

ORDER TAG Fam

 

alias

Ctl;

USE Author.dbf

in

 

alias

atr

USE Town.dbf

in

 

alias

twn

USE Street.dbf

in

 

alias

str

USE Fam.dbf in NDEX fam;

ORDER TAG Name

 

alias

fam;

USE Im.dbf INDEX im;

ORDER TAG Im

in

 

alias

im;

USE Ot.dbf

in

 

alias

Ot;

INDEX ot;

ORDER TAG Ot


 

Запустите встроенный текстовый редактор, введите текст про­граммы и поставьте ее на выполнение кнопкой графического ме­ню. При первом запуске надо задать имя созданному программ­ному файлу.

CLOSE ALL && Закрытие всех файлов

S3T DEFAULT ТО E:\PRIMER && Задание рабочего каталога

&& Далее открытие двенадцати таблиц

SELE ctl

SET RELATION TO Key_im INTO im, key_ot INTO ot SELECT fam

SET RELATION TO Key_fam INTO ctl SET SKIP TO ctl

Browse FIELDS «Автор» = ALLTRIM(fam.narne_fam) + ' + ALLTRIM(im.name_im) ■*■''+ ALLTRIM(ot.name_ot), ctl.name_book:Н=«Наименование»:4 0

6.7. КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Укажите назначение программного файла.

2. Укажите несколько способов создания программного файла.

3. Как открыть программный файл?

4. Как поставить на выполнение открытый программный файл?


ОСНОВЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ

В FoxPro каждый оператор должен начинаться с новой строки. Переход на новую строку позволяет распознать начало и конец отдельной команды. Для облегчения чтения длинйую команду можно разделить на две (и более) строки. Чтобы указать, что сле­дующая строка является продолжением данной строки, в конце данной строки помешают символ «;*. Запреп ается использовать символ «;» внутри строковых констант. Если строковую кон­станту надо разместить в двух строках тот каждую часть строко­вой константы помешают в кавычки и соединяют между собой знаком «+*. Если по смыслу строковая константа должна содер­жать символ «;*, то его размещают внутри кавычек.

FoxPro игнорирует лишние пробелы, поэтому их можно ис­пользовать для удобного расположения команд FoxPro.

При написании текста программ удобно вставлять коммента­рии для пояснения работы конкретного блока команд. В FoxPro предусмотрены два типа комментариев.

Если символ «** или NOTE установлены в начале строки, то это означает, что комментарий занимает всю строку. Можно по­сле символа «*» указать несколько символов «-» длялучшего вы­деления комментария.

Если в любом месте строки текста программы встречаются символы «&& *, то после них следует комментарий. То есть сче- ва от этих символов пишется исполняемая команда, а справа — комментарий.

7-1. ПЕРЕМЕННЫЕ, КОНСТАНТЫ И МАССИВЫ

В FoxPro разрешается использовать переменные и константы тех *с типов, что и поля таблицы, за исключением типа Memo. Зна­чение переменной изменяется по мерс выполнения программы, а значение константы всегда остается постоянным. Имена пере­


менных и констант составляются по правилам имен полей, то есть имена пишутся буквами латинского алфавита и могут содер­жать цифры, но первый символ в имени — всегда буква. Длина имени не должна превышать 12 символов.

В FoxPro предусмотрены два типа переменных: пользователь­ские и системные. Имена системных переменных начинаются с символа «_» подчеркивание и предназначены для храпения параметров настройки среды FoxPro. Системные переменные яшшются резидентными и их нельзя удалить.

Таблица 7.1


Использование

разделителей


Пример


Тип

дойных


Описание


 


Character

Currency

Date

Date Пше 11:00am)

logical

Numeric

 

Текст от 1 до 2S6 символов Денежные суммы Даты

Даты и Время

«Истина», «Ложь» Числа

«текст», ‘текст’, [текст], “текст”

$число

(дата)

(дата время)

Т. или F.

Без разделителен

Pr = «Hello*

Рг = $500 Рг = (25/01/02) Рг = (25/01/02)

Рг-.Т.

Рг -1550


 

 


В табл. 7.1 приведены часто употребляющиеся типы и разме­ры пользовательских переменных.

В FoxPro отсутствуют описатели типов переменных.

Тип переменной определяется значением, которое она содержит.

Таким образом, при выполнении программы в каждый момент времени одна и та же переменная может иметь разные типы.

Массив — это последовательность переменных, имеющих одинаковое имя и отличающихся друг от друга порядковым но­мером (индексом). Любой элемент массива в каждый момент времени может иметь один из допустимых типов. В Fo\Pr° определены одномерные и двухмерные массивы. Имена масси­вов состаатяются по правилам имен переменных.

Для объявления массивов используют одну из команд DECLARE или DIMENSION, формат которых одинаковый.


DECLARE | DIMENSION <ичя массива 1> (<выр.М> [,<выр N2>])

[,<нмя массива 2> (<Bbip.N3> (,<iup.N’4>])l 1-1

Пример.

dime abc(5,10), cd{18)

Одной командой DIMENSION объявлены два массива: дву­мерный массив с именем аЬс, содержащий пять строк и десять столбцов, и одномерный массив cd, содержащий восемнадцать элементов массива. Тип каждого элемента массива как одномер­ного, так и двумерного будет определен потом, тем значением (данным), которое будет в него помещено.

7.2. ПРИСВОЕНИЕ ЗНАЧЕНИЙ

Присвоить значения переменным и элементам массива можно несколькими способами.

7.2.1. С помощью оператора присваивания

<нмя вереме1шоА> ■ <выражсинс>

<имя элемента массива> = <выраженне>

7.2.2. С помощью команды STORE

STORE <значеиис> ТО <имя перемениой>

STORE <эвачсние> ТО <имя элемента массива>

STORE <значеиие> ТО <имямассива>

Эта команда наиболее эффективна при работе с массивом (третий вариант команды), она позволяет всем элементам масси­ва задать одинаковые (начальные) значения.

Примеры.

st = «Москва» && создается переменная st

символьного типа, в которую помещается значение «Москва».

^t = (25/01/02) && создается переменная dt

* типа дата, в которую помещается

значение 25 января 2002 года.


STORE 145 ТО nm

*

* && создается переменная

числового типа, в которую помещается значение 145.


&& объявляется одномерный массив с именем mas из 12 элементов.


&& все элементы массива mas получают значение * и символьный тип.


&& четвертый элемент массива 1 mas получает значение 0 и тип числовой


DECL пав(12)

*

*

STORE * ТО mas

mas(4) =0


 


mas(7) = (07/02/02) && седьмой элемент массива mas

получает значение 7 февраля 2002 года и тип дата.

7.3. КОМАНДЫ ДЛЯ РАБОТЫ С ПЕРЕМЕННЫМИ

В FoxPro допустимы следующие действия над переменными: хранение в файле, загрузка их в оперативную память, просмотр и удаление.

7.3.1. Сохранение переменных

С помощью команды SAVE ТО можно сохранить либо все пе­ременные, находящиеся в оперативной памяти, либо их произ­вольную часть, как в файле, так и в Memo-полс с заданным име­нем. Формат команды:

SAVE ТО <нмя файла> | ТО MEMO <имя поля> {ALL LIKE | EXCEPT <шаблон>]

В команде предусмотрено использование одного из двух шаб­лонов.

ALL LIKE — сохраняются все переменные, имена которых со­ответствуют шаблону.

ALL EXCEPT — сохраняются все переменные, кроме перемен­ных, перечисленных в шаблоне.

 


 

В любом из шаблонов допустимо использование символов V и "Г.

По умолчанию к указанному в команде имени файла, добав­ляется расширение.mem

По умолчанию команда создает файл с указанным именем. Если файл с таким именем уже существует, то он заменяется на новый без предупреждения Если вы хотите увидеть предупреж­дение на экране, что указанный файл уже существует, надо пе­ред командой SAVE ТО установить команду SETT SAFETY OFF.

7.3.2. Загрузка переменных в оперативную память

Если при работе с приложением возникает необходимость раз­местить в оперативной памяти переменные, значения которых были определены ранее, то надо воспользоваться командой:

RESTORE FROM <нмяфайла>| FROM MEMO Симя поля> [ADDITIVE]

В результате работы команды оперативная память очищается от имеющихся переменных, и в нее помещаются переменные из указанного файла с расширением.mem или из Memo-поля. Для того чтобы сохранить в оперативной памяти переменные, значе­ния которых определены до использования команды SAVE ТО, и добавить в оперативную память переменные с отличными (дру­гими) именами из файла (или Memo-поля), надо указать опцию ADDITIVE.

7.3.3. Просмотр переменных

Переменные, которые хранятся в оперативной памяти, можно Просмотреть с помощью команды:

DISPLAY MEMORY [LIKE <шаблон>] [ТО PRINTER | FILE <нмяфайла>[

На экране каждая переменная занимает одну строку, куда вы­водится имя, тип, значение и статус переменной. После заполне­ния экрана надо нажать либо клавишу ENTER, либо клавишу •пробел* для продолжения вывода переменных на экран. При Желании можно направить вывод переменных либо на принтер (ТО PRINTER), либо в файл (ТО FILE).


7.3.4. Удаление переменных

Все переменные или часть переменных, хранящихся в оператив­ной памяти, можно удалить с помощью команды:

RELEASE <список имен иеременных>

RELEASE ALL [LIKE | EXCEPT <шаблон>]

Для удаления всех переменных также можно использовать команду:

CLEAR MEMORY

7.4. КОМАНДЫ ДЛЯ РАБОТЫ С МАССИВАМИ

В FoxPro для работы с массивами предусмотрены четыре коман­ды: две для работы с одномерными массивами и две для работы с двумерными массивами.

7.4.1. Команда заполнения одномерного массива из табличного файла

Команда SCATTER переносит данные из текущей записи актив­ной таблицы в одномерный массив. Если одномерный массив не был создан заранее или размерность созданного массива мала, то автоматически либо создается одномерный массив, либо увели­чивается размерность ранее созданного массива. Эта команда переносит данные из текущей записи активной таблицы либо в одномерный массив, либо в переменные, которые при необходи­мости могут быть также автоматически созданы. При автомати­ческом создании массива ему присваивается имя табличного файла, но перед именем добавляется буква М и префикс «.* точка. При автоматическом создании переменных им присваива­ются имена соответствующих полей с добавлением перед именем буквы М и префикса «.* точка. Тип переменных определяется типом соответствующих полей.

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

SCATTER

[FIELDS Сспнсок имен полей> | FIELDS LIKE <шаблон>

| FIELDS EXCEPT <шаблон> ]

[MEMO] ТО<нмямассива>|ТО <имя масснва>

[BLANK] | [MEMVAR] | [MEMVAR] [BLANK]

Назначение опций:

FIELDS <список имен полей> — задает список имен полей, зна­чения которых будут копироваться в одномерный массив или переменные.

FIELDS LIKE <шаблон> — в одномерный массив или перемен­ные будут копироваться значения только тех полей, имена кото­рых соответствуют шаблону.

FIELDS EXCEPT <шаблон> — в одномерный массив или пере­менные будут копироваться значения только тех полей, имена которых не соответствуют шаблону.

MEMO — указывает на необходимость копирования Memo-по­лей. По умолчанию Memo-поля не копируются.

ТО <ичямасснва> — залает имя массива, куда будут копировать­ся значения указанных полей.

ТО <имямассива> BLANK — создает пустой массиве указанным именем. Элементы массива получают тип и размер соответству­ющих полей.

MEMVAR — указывает на то, что поля текущей записи будут ко­пироваться в переменные.

MEMVAR BLANK — создает набор пустых переменных. Пере­менные получают тип и размер соответствующих полей.

Если опция FIELDS не задана, то копирование начинается с первого поля записи подряд. Если число элементов массива больше, чем количество полей записи, то последние элементы массива сохраняют свое прежнее значение.

7.4.2. Команда заполнения табличного файла из одномерного массива

Команда GATHER переносит данные из одномерного массива в текущую запись активной таблицы. Для правильной работы ко­манды необходимо заранее описать одномерный массив и запол­нить его данными. При этом программист сам должен следить за соответствием типов и размеров элементов массива типам и раз­мерам соответствующих полей записи таблицы. Формат команды:

Gather FROM <имямассива>| MEMVAR

[FIELDS Ссписок имен полей> | FIELDS LIKE <шаблон> |

Helds except <шаблон>]

[MEMO]


 

 

Назначение опций:

FIELDS <список имен полей> — задает имена полей, в которые,

в строго указанном порядке, будут заноситься значения из эле­ментов одномерного массива.

FIELDS LIKE <шаблон> — задает имена полей по шаблону (ана­логично команде SCATTER).

FIELDS EXCEPT <шаблон> — задает имена полей по шаблону (аналогично команде SCATTER).


Дата добавления: 2015-09-29; просмотров: 26 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.057 сек.)







<== предыдущая лекция | следующая лекция ==>