1. Построение рамки

@ ТО [DOUBLE / PANEL

COLOR / COLOR SCHEME

В указанных координатах строится рамка, ограниченная двойной линией (DOUBLE), с сплошным заполнением (PANEL) и желаемого цвета.

2. Управление цветом

Обозначения цветов:

черный N

желтый GR+

бирюзовый BG

коричневый GR

белый W

зеленый G

лиловый RB

красный

Команда

SET COLOR TO [[,] [,] [,]]

- устанавливает цвета для основного текста, для вывода сообщений,

рамки за пределами используемой области и фона для основных и

дополнительных сообщений. Цвет текста и цвет фона под ним

образуют цветовую пару (например, W/B или R+/ GR).


Цветовую схему можно определить в диалоге и сохранить в специальном файле и командой SET COLOR OF SCHEME TO []/[SCHEME]. Можно задать мерцание изображения: SET BLINK ON/OFF.

10. РАБОТА С НЕСКОЛЬКИМИ БАЗАМИ ДАННЫХ

В FoxPro допускается работа сразу со многими базами данных, и при этом можно устанавливать между ними разнообразные связи, которые позволяют синхронно перемещать указатели записей в таких связанных базах. База, в которой указатель движется произвольно, считается старшей, а база (базы), в которой указатель следует за указателем старшей базы, - младший. В старшей и младших базах должны быть совпадающие поля. Допускается сцепление одной базы с несколькими другими. Младшие базы, в свою очередь, могут быть связаны с базами следующего уровня и т.д.

Возможно установление двух типов связей между записями двух сцепленных баз данных. Связь типа одна_запись-к-одной перемещает указатель в младшей базе таким образом, что он всегда устанавливается на первую встреченную им запись с совпадающим признаком. Остальные такие записи (если есть) остаются «не замеченными». Эта связь устанавливается командой SET RELATION. Связь типа одна_запись-ко-многим позволяет обратиться ко всем записям младшей базы с совпадающим признаком (команды SET RELATION и SET SKIP TO).


ПОНЯТИЕ О РАБОЧИХ ОБЛАСТЯХ

В FoxPro обрабатывать сразу несколько файлов баз данных (до 25). Каждый такой файл типа DBF и все вспомогательные файлы (например, индексные) открываются в своей отдельной рабочей области. Переход из области в область осуществляется командой:

SELECT

Первые десять рабочих областей идентифицируются номерами 1-10 или буквами A – J. Области с 11-й по 25-ю обозначаются номерами или буквенно-цифровыми именами W11 – W25. Если в качестве параметра указать цифру 0, произойдет переход в первую свободную рабочую область. Кроме того, рабочие области и файлы базы данных могут идентифицироваться так называемыми псевдонимами. Псевдонимом области по умолчанию является само имя находящегося в ней файла базы данных.

Область, в которой в данный момент работает пользователь, называется активной рабочей областью, и в ней можно работать с находящейся здесь базой данных. В одной команде можно работать с полями других баз (открытых в других областях). В этом случае имя поля из неактивной базы – составное: имени поля предшествует имя рабочей области или псевдоним, разделенные знаком «точка»:

.

Рабочая область в составном имени указывается любым разрешенным образом (буквой, именем ее базы данных, псевдонимом), но не номером. Номер может быть указан в команде SELECT и в функциях.

При входе в СУБД активизируется область 1 (или А), и, если пользователь работает только с одной базой, заботиться об открытии областей не нужно.

В команде USE можно одновременно указывать и область, в которой открывается база. Пример:

USE delivery IN b.

Однако переход в указанную область с помощью такой команды не происходит (для перехода необходимо воспользоваться командой SELECT).


ПРИМЕР РАБОТЫ С НЕСКОЛЬКИМИ БАЗАМИ ДАННЫХ

В НЕСКОЛЬКИХ ОБЛАСТЯХ

В приведенной ниже программе приводится пример работы с двумя базами данных, базой Поставщик (Delivery) и базой Поставка (Supply). Структура баз и назначение полей приводится в Приложении № 3. Данная программа позволяет по введенному коду товара найти всех поставщиков, поставляющих данный товар.


CLEAR

SET TALK OFF

SET EXACT OFF

SELE A

USE Supply

KOD=0

@ 1,2 SAY 'Введите код товара' GET KOD PICTURE'#####'

READ

LOCATE FOR indgoods = kod

IF !FOUND()

WAIT 'Такого кода нет'

RETURN

ENDIF

ind = inddel

SELE B

USE Delivery

LOCATE FOR inddel=ind

IF !FOUND ()

WAIT 'Такого поставщика нет'

RETURN

ENDIF

DISPL namedel, count, tel, A.namgoods, A.pricegds

CLOSE ALL


Связь вида одна_запись-к-одной

Команда

SET RELATION TO INTO [, INTO …] [ADDITIVE]


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


Пример

Связать базы данных SUPPLY.DBF и DELIVERY.DBF по полю INDDEL. По коду поставщика вывести список поставщиков и их реквизиты.


SET TALK OFF

CLEAR

SELE A

IF FILE ('Inddelivery.ind')

USE Delivery INDEX Inddelivery

ELSE

USE delivery

INDEX ON inddel TO Inddelivery

ENDIF

SELE B

USE Supply

SET RELATION TO inddel INTO A

DO WHILE .T.

kod=0

CLEAR

@ 12,23 TO 14,50 DOUBLE

@ 13,25 SAY 'Введите код товара' GET kod PICTURE '#####'

READ

LOCATE FOR indgoods = kod

IF !FOUND()

WAIT 'Такого товара нет'

LOOP

ENDIF

name=namgoods

IF kod 0

SET FILTER TO indgoods = kod

BROWSE ;

TITLE ' Список поставщиков, поставляющих ' + name ;

FIELDS ;

INDDEL :H = ' Код поставщика ' ,;

A.NAMEDEL :H = 'Название поставщика ' ,;

A.ADRDEL :H = 'Адрес ' ,;

A.TEL :H = 'Телефон '

SET FILTER TO

ENDIF

IF LASTKEY()=27

EXIT

ENDIF

ENDDO

PACK

CLOSE ALL


В этой программе выводятся записи, в которых для каждого кода поставщика inddel из текущей базы данных Supply.dbf (открытой в области В) выводятся поля A.namedel (Название поставщика), A.adrdel (Адрес) и A.TEL (Телефон) из базы данных Delivery.dbf (открытой в области A).

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

Связь между всеми файлами разрывается командой SET RELATION TO без параметров. Связь с отдельным файлом в заданной - командой SET RELATION OF INTO .


Связь вида одна_запись-ко-многим

Команда SET SKIP TO [ [,] … ]

устанавливает связь типа одна_запись-ко-многим между двумя или несколькими базами данных.

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

Прежде чем использовать команду SET SKIP TO, необходимо выполнить начальное сцепление вида одна_запись-к-одной командой SET RELATION. Удаление связи одна_запись-ко-многим осуществляется командой SET SKIP TO без параметров.


Пример

Установить связь между тремя базами данных. В программе используется

третья база Товаров (Goods.dbf), получаемая из БД Supply.dbf


SET TALK OFF

IF FILE ('Goods.dbf')

ERASE Goods.dbf

ENDIF

IF FILE ('Indnum.idx')

ERASE Indnum.idx

ENDIF

SELE A

USE Supply

IF FILE ('Indg.idx')

SET INDEX TO Indg.idx

ELSE

INDEX ON indgoods TO Indg UNIQUE

ENDIF

COPY TO Goods FIELDS indgoods, namgoods, measure

SELE C

USE Smdeliv

IF FILE ('Indexdel.idx')

SET INDEX TO Indexdel.idx

ELSE

INDEX ON indgoods TO Indexdel UNIQUE

ENDIF

SELECT SUPPLY

SET RELATION TO inddel INTO Delivery ADDITIVE

SELE B

USE Goods

INDEX ON namgoods TO Indnum

SET RELATION TO indgoods INTO Supply ADDITIVE

SET SKIP TO Supply

BROWSE TITLE "Товары" ;

FIELDS ;

Goods.Namgoods :H = "Имя Товара" ,;

Delivery.Namdel :H = "Имя Поставщика" ,;

Delivery.Adrdel :H = "Имя Поставщика" ,;

Delivery.Count :H = "Счет", ;

Goods.Measure :H = "Ед.Измерения" ,;

Supply.Pricegds :H = "Цена Единицы" ,;

Supply.Quant :H = "Кол-Во Единиц" ,;

Totalamount=Supply.Quant * Supply.Pricegds :H = "Общая Сумма"

CLOSE ALL


11. РАБОТА С ОКНАМИ

Использование окон - очень удобное и эффектное средство создания пользовательского интерфейса в прикладной программе.

Определение окна

DEFINE WINDOW FROM, TO ,

[FOOTER] [TITLE] [SYSTEM/DOUBLE/PANEL/NONE]

[CLOSE][FLOAT][GROW][SHADOW][ZOOM][FILL][MINIMIZE]


FOOTER, TITLE - нижний и верхний заголовки;

форма границ окна:

SYSTEM - стандартная,

DOUBLE - двойная линия,

PANEL - сплошная полоса,

NONE - не определяется,

CLOSE - допускает закрытие окна мышью,

FLOAT - перемещение с помощью ^F7 или мышью,

GROW - изменение размера (^F8 или мышью),

ZOOM /

MINIMIZE - распахивание и свертывание окна;

SHADOW - теневая рамка,

FILL - символ заполнения окна.


Активация уже определенного окна

ACTIVATE WINDOW [[][,< окно2>]] [,...]] ALL [BOTTOM / TOP]]

Здесь указаны имена открываемых или всех (ALL) окон. BOTTOM / TOP - размещение нового окна под/перед уже имеющимся.

Удаление с экрана

DEACTIVATE WINDOW [,][,...] /ALL

Удаление с экрана и из памяти

CLEAR WINDOW - Удаление с экрана и из памяти ВСЕХ окон

RELEASE WINDOW - Перечисленных окон.


Восстановление окна

RESTORE WINDOW


Сохранение в файле

SAVE WINDOW /ALL TO


12.ПРИЛОЖЕНИЯ
12.1. СТАНДАРТНЫЕ ФУНКЦИИ FOXPRO

Арифметические функции


ABS() - абсолютное значение числа

BETWEEN(,,) - истинно (.Т.), если  

 , иначе ложно (.F.) (для чисел,

строк, дат)

CEILING() - округление числас избытком

FLOOR() - округление числа с недостатком

INТ() - целая часть числа

МАХ(,[,...]) - максимальное значение из списка

аргументов (числа, строки, даты)

MIN,[,...]) - минимальное значение из списка

аргументов

MOD(,) - целочисленный остаток от деления

на

ROUND(,) - округление числа до

знаков после запятой

RAND(]) - псевдослучайное число в диапазоне 0...1

SIGN() - знак числа


Степенные, тригонометрические и другие функции

ЕХР() - экспонента

LOG() - натуральный логарифм

LOG10() - десятичный логарифм

SQRT() - квадратный корень числа

SIN() - синус от угла в радианах

COS() - косинус

TAN() - тангенс

ASIN() - арксинус (результат в радианах)

ATAN() - арктангенс

PI ( ) - число 

DTOR() - преобразование градусной меры угла в

радианы

RTOD() - преобразование радианной меры угла в

градусы


Строковые функции

$ - вхождение в

(результат .Т. или .F.)

AT / ATC(,[,) - поиск слева направо в строке

позиции вхождения

подстроки , начиная с

позиции строки

RАТ(,[,) - то же справа налево

INLIST(,[,…]) - вхождение в последующий

список (результат .Т. или .F.)

LEN() - длина строки

LIKE(,) - вхождение в

(результат .Т. или .F.) с

использованием символов маски * и ?

OCCURS(,) - число вхождений в

LEFT(


Информация о работе «Билеты, решения и методичка по Информатике (2.0)»
Раздел: Информатика, программирование
Количество знаков с пробелами: 69299
Количество таблиц: 3
Количество изображений: 0

Похожие работы

Скачать
85952
0
0

... = πR2, L = 2πR). 28) Критерии выбора конфигурации персонального компьютера. Зав. кафедрой --------------------------------------------------   Экзаменационный билет по предмету ИНФОРМАТИКА. РАСШИРЕННЫЙ КУРС Билет № 9 29) Что называется связью «один к одному»? Определите тип связи между объектами предметной области Институт: ...

Скачать
225204
6
0

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

Скачать
24588
0
0

... такое машинная графика и система машинной графики? Что такое мультимедиа? Что такое гипертекст? Что такое гипермедиа? Что такое электронная таблица? Ответы на задачи из “Дидактических материалов” Казиева В.М. Тема 1. “Информация. Кодирование. Инфологические задачи” Вариант 1 x=41. xn=32n—2. A=7, B=3. Система кодировки - одношаговый код Цезаря. “АВТОМОБИЛЬ” - “БГУПНУВКМЪ”. Вариант 2. x= ...

Скачать
177159
29
21

... в широкую практику разработки программ объектно-ориентированного программирования, впитавшего в себя идеи структурного и модульного программирования, структурное программирование стало фактом истории информатики. Билет № 9 Текстовый редактор, назначение и основные функции. Для работы с текстами на компьютере используются программные средства, называемые текстовыми редакторами или текстовыми ...

0 комментариев


Наверх