Metodichka (663495), страница 2

Файл №663495 Metodichka (Билеты, решения и методичка по Информатике (2.0)) 2 страницаMetodichka (663495) страница 22016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 2)

позиции Y,X строку меню и дополнительное сообщение,

если указано MESSAGE, в строке заданной командой

SET MESSAGE .

MENU TO - запоминает цифру, соответствующую выбору.

PULLDOWN - меню (двухуровневое меню) использует команды

MENU BAR , - определяет пункты горизонтального

BAR-меню, задавая их как элементы первого столбца

двумерного <массива >, во второй столбец заносятся

сообщения, N- общее число пунктов меню.

MENU , , - определяет содержание

вспомогательного вертикального меню (POPUP-меню)

READ MENU BAR TO , - активирует меню.

Пример

1) ********** LIGHTBAR МЕНЮ *******

SET TALK OFF

SET DATE BRITISH

USE KADR.DBF

DO WHILE .T.

CLEAR

P=1

@5,20 PROMPT “Редактирование данных ”

@7,20 PROMPT “Поиск данных ”

@9,20 PROMPT “Средняя заработная плата ”

@11,20 PROMPT “Конец работы ”

MENU TO P

DO CASE

CASE P=1

BROWSE

CASE P=2

CLEAR

F=SPACE(20)

@ 10,15 SAY “ Введите ФИО “ GET F

READ

LOCATE FOR FIO = F

IF !FOUND( )

@ 12,15 SAY “Запись нe найдена”

WAIT

EXIT

ELSE

DISPL

ENDIF

CASE P=3

CALCULATE SUM(SRZAR) TO SUMM

SUMM = SUMM/RECCOUNT( )

@ 12,15 SAY STR(SUMM)

WAIT

CASE P=4

EXIT

ENDDO

CLOSE ALL

2) ********** PULLDOWN МЕНЮ *******

SET MESSAGE ТО 15

DIMENSION a(5, 3) && задание массива, содержащего

а(1, 1) = 'Информация' && тексты пунктов горизонтального меню

а(2, 1) = 'Штатное расписание'

а(3, 1) = 'Список сотрудников'

а(4, 1) = 'Состояние'

а(5, 1) = 'Выход'

а(1, 2) = ' ' && тексты сообщений

а(2, 2) = 'Работа с таблицей должностей'

а(3, 2) = 'Работа с данными о сотрудниках'

а(4, 2) = 'Совместный просмотр штатного расписания и списка сотрудников' а(5, 2) = '3авершение работы'

DIMENSION b(2) && задание массивов для вложенных меню

b(1) = 'просмотр'

b(2) = 'поиск'

DIMENSION c(2)

с(1) = 'просмотр'

с(2) = 'поиск'

** образ меню** && определение меню

MENU BAR a, 5

MENU 2, b, 2

MENU 3, c, 2

g = 1 && номер пункта горизонтального меню

v = 1 && номер пункта вложенного меню

DO WHILE .T.

CLEAR

READ MENU BAR TO g, v && активация меню

DO CASE && обработка выбора

CASE g = 1

DO info

CASE g = 2 .AND. v = 1

DO p21

CASE g = 2 .AND. v = 2

DO p22

CASE g = 3 .AND. v = 1

DO p31

CASE g = 3 .AND. v = 2

DO p32

CASE g = 4

DO p4

CASE g = 5

CANCEL

ENDCASE

ENDDO

Меню - объекты являются независимыми объектами и могут вызываться из любого места прикладной системы. Обработка выбора из меню не требует введения переменных и организации циклов, дает возможность создавать меню из имен файлов и обладает другими преимуществами. Рассмотрим один из вариантов меню такого типа.

Вертикальное POPUP - меню создается с помощью следующих команд.

DEFINE РОРUР - определение меню,

ON SELECTION POPUP - реакция на выбор,

ACTIVATE POPUP - активация меню.

3) ********** POPUP - меню ****************

CLEAR

DEFINE POPUP mmenu MARGIN && определение главного меню

DEFINE BAR 1 OF mmenu PROMPT 'Информация' && определение пунктов

DEFINE BAR 2 OF mmenu PROMPT 'Штатное расписание'

DEFINE BAR 3 OF mmenu PROMPT 'Список сотрудников'

DEFINE BAR 4 OF mmenu PROMPT 'Состояние'

DEFINE BAR 5 OF mmenu PROMPT 'Выход'

ON SELECTION BAR 5 OF mmenu DEACTIVATE POPUP && обработка выбора

ON SELECTION BAR 1 OF mmenu DO info

ON SELECTION BAR 4 OF mmenu DO p4

ON BAR 2 OF mmenu ACTIVATE POPUP ww && выбор вложенных меню

ON BAR 3 OF mmenu ACTIVATE POPUP ss

DEFINE POPUP ww && определение вложенных меню

DEFINE BAR 1 OF ww PROMPT 'Просмотр'

DEFINE BAR 2 OF ww PROMPT 'Поиск'

ON SELECTION BAR 1 OF ww DO p21

ON SELECTION BAR 2 OF ww DO p22

ON SELECTION POPUP ww DO ww

DEFINE POPUP ss

DEFINE BAR 1 OF ss PROMPT 'Просмотр'

DEFINE BAR 2 OF ss PROMPT 'Поиск'

ON SELECTION BAR 1 OF ss DO p21

ON SELECTION BAR 2 OF ss DO p22

ON SELECTION POPUP ss DO ss

ACTIVATE POPUP mmenu && активация меню

ЗАДАНИЕ

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

8.ИЗОБРАЗИТЕЛЬНЫЕ СРЕДСТВА

Из большого списка возможностей рассмотрим лишь некоторые

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 [< область1 > [,< область2 >] … ]

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

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

Прежде чем использовать команду 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

Характеристики

Тип файла
Документ
Размер
333,5 Kb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее