ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.


заказать матрас в интернет магазине

 

Часть 14

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             SCATTER             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Перемещение данных из отдельной записи базы данных  в  массив  или
множество переменных памяти
    Синтаксис
    SCATTER [FIELDS ] [MEMO]
        TO  | TO  BLANK | MEMVAR | MEMVAR BLANK
    Смотри также
    APPEND FROM ARRAY, COPY TO ARRAY, DECLARE, DIMENSION, GATHER
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SCATTER  перемещает данные из текущей записи базы данных в
массив переменных памяти  или  в  множество  переменных  памяти.  Этот
массив или переменные памяти могут быть отредактированы,  и запись мо-
жет получить новое содержимое из этого отредактированного массива  пе-
ременных памяти или из множества переменных памяти. Команда GATHER за-
пускает перемещение информации из массивов или из переменных памяти  в
записи базы данных. Если массив или переменные памяти не созданы перед
выдачей команды SCATTER, они создаются автоматически.

    Дополнительные опции

FIELDS 
    Если необязательное   предложение   FIELDS   задано    вместе    с
  (список  полей),  то содержимое только специфицированных
полей записи перемещается в массив переменных  памяти.  Если  необяза-
тельное  предложение  FIELDS опущено,  то перемещается содержимое всех
полей записи.

MEMO
    По умолчанию поля типа MEMO  (примечание)  игнорируются  во  время
операции SCATTER.  Для  включения полей примечания в массив необходимо
указать ключевое слово MEMO.
    В таком  случае необходимо иметь достаточное количество памяти для
перемещения больших полей примечаний в массив или во  временные  пере-
менные. В  противном  случае  вы  встретитесь с сообщением "Insuffient
memory" (нехватка памяти). Если поле примечаний так велико, что не мо-
жет поместится в памяти,  то оно не перемещается в массив, также как и
все следующие за ним поля примечаний. Когда поле примечания не переме-
щается в  массив,  соответствующий элемент массива или временная пере-
менная устанавливается в логическое значение "ложь" ("false"(.F.)).

TO 
    Cодержимое полей  записи  перемещается,  начиная  с  первого поля,
последвательно в каждый элемент массива переменных памяти.
    Если этот массив имеет больше элементов,  чем число полей, которые
должны быть переданы, то оставшиеся элементы остаются такими же, каки-
ми  они  были  в момент начала работы команды SCATTER.  Если указанный
массив не существует или размер массива недостаточен для  специфициро-
ванного числа полей,  то автоматически создается новый массив с тем же
самым именем и нужным размером.  Типы данных элементов  массива  будут
теми же самыми, что и соответствующие поля в записи.

TO  BLANK
    Если включена опция BLANK, массив временных переменных создается с
элементами такого же размера и типа,  как и поля базы данных,  но эле-
менты при этом будут пустыми.

MEMVAR
    Если вместо  задания какого-то массива для SCATTER TO использовано
необязательное ключевое слово MEMVAR,  то данные перемещаются в  пере-
менные памяти а не в массив. Одна переменная памяти создается для каж-
дого поля в базе данных,  при этом она будет заполняться соответствую-
щим значением поля текущей записи.
    Если использован  (список полей), то переменная памяти
создается для каждого поля в этом списке полей.  Каждая переменная па-
мяти имеет тот же самый тип и размер, что и соответствующее поле, и ей
назначается то же самое имя, что и имя поля, из которого она была соз-
дана.
    Заметим, что для ссылки на переменную памяти,  которая имеет то же
самое имя,  что и некоторое поле в  текущей  базе  данных,  необходимо
использовать префикс M-> или квалификатор М.
    !!! Не включайте "TO" вместе с опцией "MEMVAR", в противном случае
будет создан массив с именем memvar.

MEMVAR BLANK
    Если вместо задания имени какого-то  массива  или  необязательного
ключевого слова MEMVAR,  использовано ключевое слово MEMVAR BLANK,  то
создается множество пустых (empty) переменных памяти. Как и в случае с
MEMVAR  одна  переменная памяти создается для каждого поля в базе дан-
ных. Если использован  (список полей), то переменная памя-
ти  создается для каждого поля в этом списке полей.  Каждая переменная
памяти имеет тот же самый тип и размер,  что и соответствующее поле, и
ей назначается то же самое имя,  что и имя поля,  из которого она была
создана.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є       Пример программы          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
       В этом примере данные из текущей записи в базе данных
CUSTOMER размещаются с помощью команды SCATTER  в  переменных  памяти.
Данные затем  выводятся  в  окне для редактирования.  Обратно в запись
данные копируются с использованием команды GATHER (если не нажата кла-
виша Escape).

SET TALK OFF
CLOSE ALL
USE customer
SCATTER MEMVAR
DEFINE WINDOW menter FROM 6,10 to 18,70 PANEL
ACTIVATE WINDOW menter
@ 1,3  SAY 'Customer: ' GET m.company
@ 3,3  SAY 'Address: '  GET m.address1
@ 5,3  SAY 'City: '     GET m.city
@ 7,3  SAY 'State: '    GET m.state
@ 7,18 SAY 'Zip: '      GET m.zip
@ 9,13 SAY 'Press  to discard changes'
READ
IF LASTKEY() != 27
    GATHER MEMVAR
ENDIF
DEACTIVATE WINDOW menter
USE

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             SCHEME              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Функция SCHEME () возвращает цветовую пару или список цветовых пар
из схемы цветов.
    Синтаксис
    SCHEME( [, ])
    Параметры
      Номер цветовой схемы.
      Положение цветовой пары в списке цветовых пар
    Возвращаемый тип: Символьный
    Так же смотрите
    SET BLINK, SET COLOR, SET SHADOW
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Функция SCHEME () возвращает цветовую пару или список цветовых пар
из схемы цветов.

    Параметры
    
    Для получения списка цветовой пары из  цветовой  схемы,  присвойте
номер цветовой схемы аргументу .
    
    Если этот  необязательный  параметр  опущен,  возвращается  полный
список цветовых пар для указанной схемы цветов.Для получения единичний
цветовой пары из цветовой схемы,  включите в список передаваемых пара-
метров аргумент .   является позицией  цветовой  пары  в
списке цветовых пар.  Например,  если  =1,  возвращается первая
цветовая пара,  если  =2,  возвращается вторая цветовая пара  и
так далее.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             Пример              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Определим цветовую пару раскраски границ ( третья цветовая пара  в
списке пар ), в цветовой схеме 12 для вашего текущего назначения COLOR
SET:
        ? SCHEME ( 12,3 )
        GR + /B

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є              SCOLS              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Функция SCOLS () возвращает число колонок, доступных на экране.
    Синтаксис
    SCOLS()
    Возвращаемый тип: Числовой
    Так же смотрите
    COL(), ROW(), SROWS(), WCOLS(), WROWS()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Эта функция возвращает число колонок доступных для вывода на экра-
не дисплея.
    Возвращаемое значение зависит от режима дисплея, который можно из-
менить командой SET DISPLAY.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             Примеры             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
        ? SCOLS ( )

        80

        * RUN external utility to SET DISPLAY TO 132*43
   ( запускаем внешнюю программу переназначения дисплея на размер 132*43 )
        ? SCOLS ( )

        132

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є              SCROLL             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Прокрутка области экрана или окна.
    Синтаксис
    SCROLL , , [, ]
    Замечания
    Расширено в FoxPro 2.0: Горизонтальная прокрутка
    Смотри также
    MOVE WINDOW
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Эта команда позволяет Вам осуществлять прокрутку области экрана  в
текущем окне по вертикали, горизонтали и диагонали.

    Дополнительные опции

,
    Прокрутка осуществляется внутри мпрямоугольной области экрана  или
окна. Верхний левый угол области указан при помощи - ,  а
левый нижний - .


    Это числовое выражение указывает на количество строк в прямоуголь-
ной области,  подвергаемых прокрутке по вертикали  (вниз  или  вверх).
Если выражение  положительное  область прокручивается вверх на 
строк, в противном случае на тоже количество строк вниз.  Если выраже-
ние равно 0, и , не включен, область зачищается.


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

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            Пример               є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
SCROLL 0, 0, 5, 5, -2, 1
Осуществляется прокрутка  небольшой  прямоугольной области вниз на две
строки и вправо на одну колонку.


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             SECONDS             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Функция SECONDS () возвращает системное время в секундах, отсчиты-
вается с полуночи.
    Синтаксис
    SECONDS()
    Возвращаемый тип: Числовой
    Смотри также: SYS(2),TIME()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Функция SECONDS () возвращает системное время в секундах, отсчиты-
вается с полуночи в формате секунды.тысячные секунды с разрешением в 1
миллисекунду.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            Примеры              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
        ? SECONDS ( )
        71798.533

        ? SECONDS ( ) / ( 60*60 )
        19.944


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є              SEEK               є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Поиск в индексированной базе данных
    Синтаксис
    SEEK 
    Смотри также
    FIND, INDEX, LOCATE, RECNO(), SEEK(), SET NEAR
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SEEK используется для поиска в индексированной базе данных
первого вхождения некоторой записи, у которой индексное ключевое выра-
жение (index key expression) подходит к специфицированному  в  команде
выражению . Команда SEEK будет работать только с индексированны-
ми базами данных и вы можете искать (seek) только по индексному ключе-
вому выражению.  Соответсвие должно быть точным, если только не специ-
фицировано SET EXACT OFF.
    Если команда SEEK находит подходящую запись,  то RECNO() будет вы-
давать номер этой найденной записи,  FOUND() будет возвращать значение
.T., EOF() будет возвращать значение .F.
    Если команда SEEK не находит подходящую запись,  то RECNO()  будет
выдавать число записей в текущей базе данных плюс один,  FOUND() будет
возвращать значение .F.,  EOF() будет  возвращать  значение  .T.  Если
установлено  SET NEAR ON и работа команды SEEK не завершилась успехом,
то указатель записей (record  pointer)  настроен  на  запись,  которая
расположена  непосредственно за ближайшей подходящей записью.  Функция
RECNO() с нулевым аргументом будет выдавать номер  этой  записи.  Если
установлено SET NEAR OFF и работа команды SEEK не завершилась успехом,
то указатель записей (record pointer)  настроен  на  конец  файла,  но
функция RECNO() все-таки будет выдавать номер ближайшей записи.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є        Пример программы         є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
USE customer
INDEX ON UPPER(company) TAG Company
SET EXACT OFF
STORE 'JEANNIE' TO mval
SEEK mval
IF FOUND()
  DISPLAY
ENDIF
    В этом примере база данных CUSTOMER открывается вместе с  индексом
по полю COMPANY. Затем используется команда SEEK для поиска индексного
ключевого выражение, которое соответствует переменной памяти MVAL.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             SEEK()              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Возвращает значение "истина" если SEEK закончилась успешно.
    Синтаксис
    SEEK( [,  | ])
    Возвращаемый тип: Логическое
    Смотри также
    EOF(), FIND, FOUND(), LOCATE, SEEK
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Функция SEEK () ищет в индексированной базе данных до первого  об-
наружения записи,  индексный ключ которой соответствует значению опре-
деленному аргументом ,  и затем возвращает логическое  значение.
Если такое соответствие найдено, то возвращенный параметр имеет значе-
ние "истина" (.T.) и указатель записи перемещается  в  соответствующую
запись.  Если такое соответствие не найдено,  то возвращенный параметр
имеет значение "ложь" (.F.) и указатель записи  перемещается  в  конец
файла.
    Фукция SEEK  ()  заменяет  комбинацию команды SEEK и функции FOUND
(). База данных которую вы ищете, должна быть индексирована.
    Дополнительные опции
    
    Выражение индексного ключа для поиска .
     | 
    Если Вы не указали рабочую область или алиас, поиск подходящей за-
писи производится  в базе данных,  которая лежит в текущей рабочей об-
ласти.
    Для поиска подходящей записи в базе данных,  открытой в другой об-
ласти, необходимо указать  номе  рабочей  области  ,  или  алиас
.
ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            Примеры              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
USE Customer ORDER Company
? SEEK ( "Film Co." )
.T.
? RECHO ( )
4

STORE "High-Tech" TO seek_expr
? SEEK ( seek_expr )
.T.
? RECHO ( )
23

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є             SELECT              є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Активизирует рабочую область
    Синтаксис
    SELECT  | 
    Возвращаемый тип: Числовое
    Смотри также
    USE
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Команда SELECT активизирует рабочую область.
    Дополнительные опции.
     | 
    Рабочая область номер 1 активна по умолчанию.  Любая  рабочая  об-
ласть может быть активизирована путем задания номера области .
    В качестве аргумента команды SELECT можно задавать ноль. Если спе-
цифицирован  ноль,  то  выбирается  одна из неиспользуемых рабочих об-
ластей с минимальным номером.
    После того,  как некоторая база данных открыта в какой-то  рабочей
области,  то эта рабочая область также может быть активизирована с по-
мощью имени псевдонима  этой базы данных.

    Поля базы данных доступны в любой рабочей области.  Далее приведен
формат,  который  должен быть использован при доступе к переменным по-
лей,  которые уже располагаются в некоторой рабочей области,  отличной
от текущей активной рабочей области.
         ->  или   . 

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є       Пример программы          є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
CLOSE ALL
SELECT 1
USE payments
SELECT 2
USE invoice
SELECT payments
DISPLAY
SELECT B
DISPLAY


ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є            SELECT()             є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Функция SELECT()  вернет  номер текущей выбранной рабочей области,
или номер верхней неиспользуемой рабочей области.
    Синтаксис
    SELECT( [ 0 | 1 ] )
    Возвращаемый тип: Числовое
    Смотри также
    ALIAS(), SELECT, SET COMPATIBLE, USED()
ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД
    Описание
    Функция SELECT()  вернет  номер текущей выбранной рабочей области,
или номер верхней неиспользуемой рабочей области.  Рабочая область мо-
жет быть выбрана (сделана активной) командой SELECT.
    Если Вы зададите 0 в функции SELECT() вернет номер текущей выбран-
ной рабочей области.
    Если Вы  зададите  1  в  функции SELECT() вернет номер верхней не-
используемой рабочей области.

ЦДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД·
є          SELECT - SQL           є
УДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЅ
    Назначение
    Возвращает данные из одной или нескольких баз данных.
    SELECT [ALL | DISTINCT]
        [.] [AS ]
        [, [.] [AS ] ...]
     FROM [] [, [] ...]
     [[INTO ]
        | [TO FILE [ADDITIVE] | TO PRINTER]]
     [NOCONSOLE]
     [PLAIN]
     [NOWAIT]
     [WHERE  [AND  ...]
       [AND | OR  [AND | OR  ...]]]
     [GROUP BY  [,  ...]]
     [HAVING ]
     [UNION [ALL] ]
    Необязательная опция,  комбинирует окончательный  результат  одной
команды SELECT с окончательным результатом другой .

     Только последняя 


?????? ???????????