Новости



Visual FoxPro 9 позволяет создавать ещё более производительные приложения баз данных.
Двадцатиление FoxPro! Microsoft принимает поздравления.
Visual FoxPro Toolkit for .NET - более 225 функций VFP 7.0, для языков .NET (подробнее)
Контактные линзы в Калининграде центр контактной коррекции медицина в Калининграде.

Команда SCATTER

См. также Пример

Копирует содержимое текущей записи в набор переменных памяти или в массив.

Синтаксис

SCATTER
[FIELDS FieldNameList
| FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton] [MEMO]
TO ArrayName | TO ArrayName BLANK | MEMVAR | MEMVAR BLANK
| NAME ObjectName

Параметры

FIELDS FieldNameList

Задает поля, содержимое которых следует перенести в переменные памяти или в массив. Если опустить предложение FIELDS FieldNameList, переносятся все поля. В список полей можно вставлять имена memo-полей; для того после списка необходимо указать ключевое слово MEMO. Команда SCATTER всег а игнорирует поля типа General и поля рисунков, даже если задано ключевое слово MEMO.

FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton

Вы можете выборочно передавать поля в переменные памяти или в массив, задавая предложения LIKE и/или EXCEPT. Если включить предложение LIKE Skeleton, в переменные памяти или массив будут переноситься все поля, удовлетворяющие шаблону имен Skeleton. Если включить предложение EXCEPT Skeleton, в переменные памяти или массив будут переноситься все поля, за исключением у овлетворяющих шаблону имен Skeleton.

Skeleton поддерживают символы подстановки. Например, чтобы скопировать в переменные памяти или в массив все поля, имена которых начинаются на букву A или P, испо ьзуйте команду:

SCATTER FIELDS LIKE A*,P* TO myarray

Предложение LIKE можно задавать в комбинации с предложением EXCEPT:

SCATTER FIELDS LIKE A*,P* EXCEPT PARTNO* TO myarray

MEMO

Указывает, что список полей включает memo-поле (или поля). По умолчанию memo-поля игнорируются командой SCATTER.

Чтобы вы могли копировать в переменные памяти или массивы большие memo-поля, у вас должно быть достаточно памяти. Если памяти не хватает, Visual FoxPro вы ает сообщение об ошибке. Если memo-поле по размеру не умещается в памяти, то ни то поле, ни какие-либо другие memo-поля из списка полей не будут скопированы. Если memo-поле не копируется, соответствующая ему переменная памяти или элемент массива принимают значение "ложь" (.F.).

TO ArrayName

Задает массив, в который копируется содержимое записи. Команда SCATTER копи ует содержимое каждого поля, начиная с первого, в каждый элемент массива в после овательном порядке.

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

TO ArrayName BLANK

Создает массив с пустыми элементами, которые имеют те же размеры и тот же тип, что и поля в таблице.

MEMVAR

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

Если задан список полей, для каждого из них создается переменная памяти.

При ссылке на переменную памяти, чтобы отличать ее имя от имени соответствующего поля в таблице, ставьте перед именем переменной префикс 'M.'.

Важное замечание Не задавайте ключевое слово TO вместе с предложением MEMVAR. Если включить TO, Visual FoxPro создаст массив с именем MEMVAR.

MEMVAR BLANK

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

NAME ObjectName

Visual FoxPro только cоздает объект, имена свойств которого совпадают с име ами полей в таблице. Значение каждого из свойств объекта представляет собой соде жимое соответствующего поля в таблице. Свойства не создаются для memo-полей и полей типа General.

Ссылаясь на свойство объекта, имя которого совпадает с именем открытой таблиц , поставьте перед именем свойства префикс 'M.'. Например:

USE customer

SCATTER NAME customer

? customer.company && Returns the table value

? M.customer.company && Returns the object property value

Комментарии

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

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



Новое на сайте

  • Обновлен портфель программиста

    Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский)
  • Новые примеры программ

    Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2)
  • Обновленна справка

    Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.