Metodichka (Билеты, решения и методичка по Информатике (2.0))

2016-07-31СтудИзба

Описание файла

Документ из архива "Билеты, решения и методичка по Информатике (2.0)", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "Metodichka"

Текст из документа "Metodichka"

1. СУБД FOXPRO: ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ
РАБОТА В МЕНЮ-ОРИЕНТИРОВАННОМ РЕЖИМЕ 2

2.ОСНОВНЫЕ КОМАНДЫ FOXPRO 5

ДИАЛОГОВЫЕ КОМАНДЫ 5

КОМАНДЫ РЕДАКТИРОВАНИЯ 6

ФИЛЬТРАЦИЯ ДАННЫХ Ошибка! Закладка не определена.

ИЗМЕНЕНИЕ ДАННЫХ Ошибка! Закладка не определена.

3. СОЗДАНИЕ КОМАНДНЫХ ФАЙЛОВ 7

4.КОМАНДА ПОЛНОЭКРАННОГО РЕДАКТИРОВАНИЯ BROWSE Ошибка! Закладка не определена.

5.КОМАНДЫ ВВОДА-ВЫВОДА 8

6.СРЕДСТВА ПРОГРАММИРОВАНИЯ 10

7.ОРГАНИЗАЦИЯ МЕНЮ Ошибка! Закладка не определена.

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

&&&&

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

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

12.ПРИЛОЖЕНИЯ 19

12.1. СТАНДАРТНЫЕ ФУНКЦИИ FOXPRO 19

12.2. SET - КОМАНДЫ 21

12.3. ТЕКСТЫ ПРОГРАММ 22

13. ЗАДАНИЯ. 27

РЕКОМЕНДУЕМАЯ ЛИТЕРАТУРА 28

ВВЕДЕНИЕ

Методические указания предназначены для проведения практических и лабораторных занятий по дисциплине «Информатика и компьютерная техника» для всех форм обучения. В них кратко изложены технологии реляционных СУБД, реализация их средствами СУБД FoxPro, а также даны практические приемы их реализации. Основное внимание уделено изложению команд языка программирования среды FoxPro с пояснениями на конкретных примерах и заданиях по основным темам.

РЕЛЯЦИОННАЯ МОДЕЛЬ

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

Реляционная модель является удобной и наиболее привычной формой представления данных в виде таблицы. В математических дисциплинах таблице соответствует термин отношение (relation). Отсюда и произошло название модели – реляционная.

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

Реляционная модель имеет два главных свойства:

  1. базовые порции данных представляют собой отношения (relations);

  2. операции над таблицами затрагивают только соотношения (relation closure).

Соотношение – это математическая концепция, описывающая, как соотносятся между собой элементы двух множеств.

Модель предъявляет к таблицам следующие требования:

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

  2. данные в одном столбце должны быть одного типа;

  3. каждый столбец должен быть уникальным (недопустимы дублирования столбцов);

  4. столбцы размещаются в произвольном порядке;

  5. строки размещаются в таблице также в произвольном порядке;

  6. столбцы имеют уникальные наименования.

Два фундаментальных правила: правило целостности объектов (entity integrity rule) и правило ссылочной целостности (referential integrity rule).

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

Внешний ключ – это столбец или подмножество одной таблицы, который может служит в качестве первичного ключа для другой таблицы. Внешний ключ таблицы является ссылкой на первичный ключ другой таблицы. Правило целостности объектов утверждает, что первичный ключ не может быть полностью или частично пустым, т.е. иметь значение null. Правило ссылочной целостности гласит, что внешний ключ может быть либо пустым, либо соответствовать значению первичного ключа, на который он ссылается.

Формальное определение следующее:

Схемой отношения R называется конечное множество имен атрибутов {A ,A ,…,A }. Каждому имени атрибута A ставится в соответствие множество D , называемое доменом атрибута A , 1<=i<=n. Домен атрибута A обозначается также dom(A ). Имена атрибутов иногда называются символами атрибутов или просто атрибутами. Домены являются произвольными непустыми конечными или счетными множествами. Пусть D=D D D .

Отношение r со схемой R – это конечное множество отображений {t ,t ,…,t } из R в D; причем каждое отображение t r должно удовлетворять следующему ограничению: t(A ) принадлежит D , 1<=i<=n. Эти отображения называются кортежами.

Семейство систем управления базами данных FoxPro, является продуктом известной фирмы Fox Software и имеет широкую популярность во всем мире. В настоящем пособии рассматривается версия FoxPro2.6 (нерусифицированная), работающая под управлением Windows.

ТИПЫ ДАННЫХ

Visual FoxPro 6.0 типы данных

Тип

Описание

Размер

Диапозон

Character

Любой текст

1 byte per character to 254

Любой символ

Currency

Monetary amounts (денежно-кредитные количества)

8 bytes

- 922337203685477.5807 to 922337203685477.5807

Date

Хронологические данные, состоящие из месяца, года, и дня

8 bytes

When using strict date formats, {^0001-01-01}, January 1st, 1 A.D to {^9999-12-31}, December 31st, 9999 A.D.

DateTime

Хронологические данные, состоящие из месяца, года, дня, и времени

8 bytes

When using strict date formats, {^0001-01-01}, January 1st, 1 A.D to {^9999-12-31}, December 31st, 9999 A.D., plus 00:00:00 a.m. to 11:59:59 p.m.

Logical

Boolean значения true или false

1 byte

True (.T.) or False (.F.)

Numeric

Integers or fractions(Целые числа или фракции(доли))

8 bytes in memory;
1 to 20 bytes in table

- .9999999999E+19 to .9999999999E+20

Variant

A variant can contain any of the Visual FoxPro data types and the null value. Once a value is stored to a variant, the variant asosumes the data type of the data it contains. Variants are designated with an e prefix in language syntax (Вариант может содержать любой из Визуальных FoxPro типов данных и нулевое(пустое) значение).

See data types above. См. типы данных выше.

See data types above. См. типы данных выше.



В среде FoxPro установлены следующие стандартные типы файлов (всего свыше 60, приводятся лишь некоторые):

.dbf - файл базы данных;

.fpt - файл для хранения текстов memo- полей;

.idx - индексный файл;

.cdx - мультииндексный файл;

.prg - командный, программный файл;

.mem - файл для хранения временных переменных;

.fxp - откомпилированный комадный prg- файл;

.pjx - файл проекта.

1. СУБД FOXPRO: ОЗНАКОМЛЕНИЕ С СИСТЕМОЙ РАБОТА В МЕНЮ-ОРИЕНТИРОВАННОМ РЕЖИМЕ

Работа в среде FoxPro выполняется в одном из следующих режимов:

- непосредственная интерпретация команд;

- меню - ориентированный режим;

  • выполнение программ.

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

МЕНЮ - ОРИЕНТИРОВАННЫЙ РЕЖИМ.

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

Активизация строки меню F10

Выбор заголовка меню клавиши управления курсором

Вход в меню следующего уровня Enter

Отмена Esc

За клавишами F1-F10 закреплены стандартные директивы, назначение клавиш можно переопределить.

Горячие клавиши (например, CTRL+F2 - активизация командного окна, CTRL+D - выполнение программ)

Главное меню состоит из заголовков групп операций и команд:

Для FoxPro 2.6 системное меню выглядит следующим образом

SYSTEM FILE EDIT DATABASE RECORD PROGRAM WINDOW

Каждой группе соответствует меню второго уровня - меню операций и директив, некоторые из них открывают свои диалоговые окна. Перемещения внутри окон – клавишами управления курсором, по полям окон - Tab. В диалогах используются командные "кнопки", изображенные на экране. К ним относятся, например. Ok (подтверждение установок). Cancel (отмена установок). Save (сохранение) и многие другие. Недоступные пункты главного меню и директивы имеют пониженную яркость.

Рассмотрим некоторые пункты главного меню.

System-меню вспомогательные средства FoxPro,

в том числе:

About FoxPro - предъявление фирменного знака.

Help - помощь. Просмотр и выбор варианта помощи –

клавиши управления курсором.

Вход в следующее меню - Enter. Перемещение –

клавиши управления курсором.

Контекстная помощь вызывается из любого

режима - F1.

Macros - закрепление макрокоманд за клавишами F1 - F10.

Filer - менеджер файлов - выполняет функции управления

файлами.

Выбор полей - Tab. Левое поле - просмотр файлов

(скроллинг).

Правое поле - выбор накопителя, каталога,

маркировка. Нижнее поле -манипуляция файлами.

Calculator - вызов калькулятора.

Calendar-Diary - вызов календаря для внесения записей. Левое поле –

выбор дня (по стрелкам), месяца (PgUp, PgDn), года

(Shift +PgUp, Shift+PgDn), текущая дата - Т. Правое

поле - для записей (Вход - Tab, Выход -Shift Tab).

Special Characters - таблица символов псевдографики.

ASCII Chart - таблица ASCII-кодов.

Capture - взятие в буфер заданной области экрана.

Puzzle - игра

File-меню:

New - создание

Open - открытие

Close - закрытие

Save - сохранение

Save as - сохранение с новым именем

Revert - возврат предыдущей версии файла

Printer Setup - установки принтера

Print - печать файла

Quit - выход

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

Edit – меню – встроенный текстовый редактор системы.

Undo - отмена последнего действия,

Redo - повторение отмененного действия,

Cut - вырезка части текста в буфер,

Сoру - копирование части текста в буфер,

Paste - вывод содержимого буфера в текст,

Clear - очистка части текста,

Select All - выделение всего текста окна,

Goto Line - переход к строке,

Find - поиск заданного фрагмента текста,

Find Again - поиск следующего вхождения,

Replace and Find Again - последовательный поиск с заменой,

Replace All - полная замена всех вхождений,

Preference - настройка редактора.

Database меню – работа с данными, хранимыми в БД

Setup - модификация баз данных, индексов, фильтров,

Browse - вызов команды полноэкранного редактирования,

Append From - добавление записей из других БД или файлов,

Copy То - копирование в другие БД или файлы,

Sort - сортировка записей,

Total - создание БД с суммами по заданному признаку,

Average - среднее арифметическое числовых полей,

Count - подсчет записей с указанным признаком,

Sum - суммирование числовых полей,

Calculate - вычисления в БД,

Report - подключение ранее созданной формы отчета,

Pack - физическое удаление помеченных полей,

Reindex - переиндексирование базы.

Record-менюработа с записями файлов БД

Append - вызов окна дополнения БД новыми записями,
Change - вызов окна редактирования записей,
Goto - переход к указанной записи,
Locate - последовательный поиск записи по ключу,
Continue - продолжение поиска,
Seek - ускоренный индексный поиск по ключу,
Replace - изменения (вычисления) в БД,

Delete - пометка записей для удаления,

Recall - снятие пометок для удаления.

Program – менюсредства работы с программами

Do - выбор командного файла и исполнение,

Cancel - прерывание программы,

Resume - продолжение программы,

Compile - переход в окно компиляции,

Generate - вызов генератора приложений,

FoxDoc - вызов документатора программ,

FoxGraph - вызов графического пакета.

Window-меню работа с окнами

Hide - удаление командного окна с экрана,

Clear - очистка рабочего поля,

Move - перемещение командного окна,

Size, Zoom - изменение размера командного окна,

Cycle - циклическое переключение активных окон,

Color - выбор цветовой схемы,

Command - активизация командного окна,

Debug - вызов отладочного окна,

Trace - трассировка программ,

View - переход в View

Подробную информацию о работе в меню - ориентированном режиме можно получить из контекстной помощи (Help - F1).

Ввод, редактирование, удаление, поиск, просмотр данных можно выполнить для открытой в View-окне базы данных с помощью команд Record-меню из главного меню:

- добавление, ввод данных;

- изменение, корректировка полей записей;

- пометка записей к удалению;

- отмена пометки к удалению;

- замена значений полей;

- переход к записи, положение которой указывается в

диалоговом окне с помощью селекторных кнопок:

- к первой записи,

- к последней записи

- по указанию номера записи,

- смещение от активной записи по указанию шага

- поиск данных путем указания в окне критериев поиска:

- область поиска выбирается из альтернатив:

- все записи файла;

- следующая за активной записью;

- по указанию номера записи;

- оставшиеся, начиная с активной;

- указание логических условий отбора по значениям полей в

окне редактора выражений;

- отбор данных, пока истинно логическое условие ;

- быстрый поиск для индексированного файла данных

Команды Record-меню не затрагивают физической структуры базы данных. Замечание: В открытом Browse-окне удобно использовать комбинации клавиш:

^ N - дополнение, ^Т - пометка к удалению, ^W- выход с сохранением изменений.

Команды Database-меню дают следующие возможности:

- аналоги одноименных команд из меню Window/View;

- сжатие данных, удаление помеченных записей.

- сортировка записей по заданному ключу с перезаписью в

другой файл данных.

Дополнительные возможности работы с данными в меню — ориентированном режиме можно освоить с помощью Help-меню.

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

2.ОСНОВНЫЕ КОМАНДЫ FOXPRO

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

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

ИМЯ_КОМАНДЫ [] [<список выражений»]

[ FОR] [WHILE]

Здесь - границы действия команды:

ALL - все записи;

REST - все записи от текущей до конца;

NEXT - следующие N записей;

RECORD - запись с номером N;

FОR - выполнение команды только для записей,

удовлетворяющих условию;

WHILE - выполнение команды только до тех пор, пока не

перестанет выполняться условие.

Пример:

LIST ALL FIELDS num, name FOR name = 'A'

Для длинных записей команд используется символ переноса на следующую строку - ";".

КОМАНДЫ УСТАНОВКИ

Кроме приведенных выше команд в FOXPRO имеется большой класс команд, называемых командами установки. Они не выполняют каких-либо действий, но влияют на работу других команд.

Имеется два типа команд установки:

SET ON|OFF

SET TO

ON|OFF – означает, что установка либо включена, т.е. работает,

либо выключена.

Примеры:

SET TALK OFF – погашения вывода служебных

сообщений о работе команд на экран;

SET PROCEDURE TO a:\proc1 – назначение процедурного файла.

Перечень наиболее часто используемых команд установки приведена в Приложении 2.

Перейдем к рассмотрению конкретных команд.

ДИАЛОГОВЫЕ КОМАНДЫ

Создание и изменение структуры файла базы данных.

СRЕАТЕ - создание структуры БД в диалоге.

Пример

Название поля Тип Пояснение

TAB numeric табельный номер

FIO character ФИО

POL character пол

DATA date дата рождения

OBR logical наличие высшего образования

LANG numeric кол-во ин. языков, кот-ми влад. Работник

STAG numeric стаж работы на фирме

DETI numeric количество детей

SRZAR numeric среднемесячная зарплата

COMP logical знание ПК

MODIFY STRUCTURE - изменение структуры открытой БД.

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

КОМАНДЫ РЕДАКТИРОВАНИЯ

APPEND [BLANK] - добавление записи в конец открытой БД

([BLANK] -пустая запись).

INSERT [BLANK] [BEFORE] - вставка записи до [BEFORE] или после

текущей записи.

CHANGE [] [FIELDS] [WHILE ]

[ FOR ] - редактирование значений полей.

DELETE [зона действия] [WHILE ][FОR] пометка

записей признаком удаления.

BROWSE... - команда доступа пользователя к данным.

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

ПРОСМОТР ДАННЫХ.

Команды DISPLAY и LIST

DISPLAY [][]FOR[]WHILE[]

[OFF] [TO PRINT / TO FILE<файл>]

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

Примеры:

DISPLAY REST FOF fio= ’И’

LIST 'фамилия', fio FOR dolg = "инженер"

Удаление данных

ERASE - удаление закрытого файла;

ZAP - удаление всех записей с сохранением структуры;

DELETE [] [WHILE] [FOR] - пометка к удалению или логическое удаление записей;

PACK - физическое удаление, помеченных к удалению записей;

RECALL [] [WHILE] [FOR] - снятие пометок к удалению;

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

SET DELETE ON.

Выполнение команды PACK приводит к физическому уничтожению записей,

БД при этом сжимается.

Фильтрация данных

SET FILTER ТО [] - установка FOR-условия для всех команд обработки данных (остальные данные недоступны).

SET FILTER TO без параметра - отменяет ограничения.

Пример:

Изменение данных

REPLACE [] [WHILE] [FОR]

WITH[, WITH …] [ADDITIVE]

- множественное изменение полей в соответствии с выражениями.

Пример: REPLACE zarp with zarp* 1.25 for dolg=”инженер”

Последовательный поиск

LOCATE FОR [] [WHILE] - поиск первой

удовлетворяющей FOR-условию записи, При успешном поиске

указатель записей устанавливается на найденную запись.

CONTINUE - продолжение поиска

Пример:

USE KADR

LOCATE FOR stag > 12

DO WHILE ! EOF() && пока не достигнут конец файла данных

? FIO

CONTINUE

ENDDO

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

3. СОЗДАНИЕ КОМАНДНЫХ ФАЙЛОВ

Командные файлы представляют собой исходные тексты программ и имеют тип .prg. Они создаются с помощью встроенного редактора FoxPro , вызываемого командой

MODIFY COMMAND <имя файла >

По команде MODI COMM (допустимое сокращение) без указания имени по умолчанию создается prg-файл без имени. Присвоить имя следует при первом сохранении текста программы. Удобно использовать комбинацию клавиш ^W для сохранения текста программы. Для редактирования ранее созданной программы используют команду

MODI СОММ .

Для запуска программ используется команда

DO

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

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

SET TALK OFF

SET DATE BRITISH

USE KADR

LOCATE FOR Zarp < 200

DO WHILE !EOF() && пока не достигнут конец файла данных

DISPL

CONTINUE

ENDDO

4.Команда полноэкранного редактирования BROWSE

Команда BROWSE представляет собой целую среду редактирования. Она имеет более 20 различных параметров. Рассмотрим наиболее часто используемые из них.

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

BROWSE

[FIELDS<пoля>] [FОR<условие1>]

[FORMAT] [FREEZE]

[КЕУ,[,]] [LAST]

[LEDIT / REDIT] [LOCK]

[LPARTITION] [NOAPPEND]

[NOCLEAR] [NODELETE]

[NOEDIT/NOMODIFY] [NOLGROD / NORGRIG]

[NOLINK] [NOMENU]

[NOOPTIMIZE] [NORMAL]

[NOWAIT] [PARTITION]

[REST] [PREFERENCE]

[TIMEOUT] [ТITLЕ]

[NOOPTIMIZE] [WHEN]

[window] [NOWAIT]

[VALID[F:] [ERROR]

[COLOR SCHEME<вырN5> / COLOR]

Действие некоторых опции команды.

1. Выбор полей

FIELDS - перечень полей (по умолчанию - все).

Ключи:

:R - разрешен только просмотр поля;

:<выр N> - видимый размер поля;

:У=<выр L1> - контроль выхода из поля;

:F - проверка вводимых и существующих данных;

:Е= - выдача собственного сообщения;

:Р= - задание формата отображения данных по шаблону;

:Н= - указание собственного заголовка поля;

:В=,[:Е] - указание границ чисел или дат;

:W=<вырL2> - контроль входа в поле.

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

2. Отбор данных

FОR - устанавливает фильтр для записей; выводятся только

записи, удовлетворяющие ;

REST - предотвращает повторный поиск сначала;

КЕУ[,] - ограничение действия команды диапазоном

ключевого выражения активного индексного файла

З. Разделение окна

LOCK<вырN1> BROWSE - окно делится на две части, где первые <вырN1> полей

дублируются в левой части окна (переход ^Н);

PARTITION<вырN2> - то же, но граница проходит по полю

LEDIT/REDIT - действуют только в разделенном окне и задают

форму представления данных (формуляр);

LPARTITION - курсор устанавливается в левой половине окна;

NOLINK - несинхронное перемещение видимых записей;

NOLGRID/NORGRID - удаляет вертикальные линии разделители полей.

4. Контроль редактирования записей

VALID[ERROR<вырC3>] - анализирует условия для текущей записи;

WHEN - определяет возможность доступа к записи;

NOAPPEND - дополнение по Ctrl-N невозможно;

NOEDIT/NOMODIFY - редактирование невозможно;

NODELETE - редактирование невозможно;

FREEZE - единственное доступное поле.

5. Конфигурирование BROWSE-окна

LAST - сохранение конфигурации;

PREFERENCE FORMAT - использование форматного файла;

NOCLEAR - после выхода окно не удаляется;

NOMENU - подавляет вывод системного меню;

TIMEOUT - время работы с окном;

TITLE<вырC3> - заголовок окна;

WINDOW - позволяет открыть другое окно.

Пример:

Set talk off

set date British

use kadr.dbf

browse ;

title '^t-удаление ^n-добавление ^w-выход';

fields ;

fio :h='ФИО' :20, ;

dolg :h='должность', ;

zarp :h='зарплата ' ,;

birth :h='день рождения' ,;

pol :h='рол' ,;

adress :h='адрес' ,;

godzarp = zarp*12 :h='год.зарплата' :p='#####,##'

pack

close all

5.КОМАНДЫ ВВОДА-ВЫВОДА

Средства неформатированного ввода/вывода

Команда вывода ? / ??

? / ?? [] [АТ][,...]

Команда ? выводит выражения [] …[,] с новой строки,

?? - в текущей строке; AT -номер столбца в строке вывода.

Команда вывода TEXT

TEXT

<текст >

ENDTEXT

Эта команда удобна для вывода больших объемов текста, текст выводится в том виде, как он выглядит в команде.

Команды вывода \ и \\

\ - вывод строки и перевод курсора в начало следующей строки.

\\ - вывод без перевода курсора.

Другие команды ввода-вывода

INPUT ТО

ACCEPT ТО

WAIT [] [ТО]

[TIMEOUT<вырN>] [WINDOW] [CLEAR]

Подробные комментарии и примеры можно найти в соответствующем разделе HELP среды FoxPro.

СРЕДСТВА ФОРМАТНОГО ВВОДА/ВЫВОДА

Команда @ ... SAY ... GET

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

@

[SAY<вырl>

[PICTURE<вырCl>] [COLOR SCHEME<вырN1> /

COLOR]]

[GET

[PICTURE<вырC2>]

[DEFAULT<выр2>] [ENABLE / DISABLE]

[MESSAGE<вырC3>] [[OPEN] WINDOW ]

[RANGE [][]]

[SIZE<вырN2>,<вырN3>]

[VALID<вырLl>/<вырN4>[ERROR<вырC4>]]

[WHEN<вырL2>]

[COLOR SCHEME<вырN5>/COLOR<список цветовых пар>]]

Здесь Y,X - пара чисел или переменных, определяющих номер строки и столбца. Команда @ без других параметров устанавливает курсор в заданную позицию и очищает строку Y вправо от X.

Параметры команды

@ Y,X SAY - выдает с заданной позиции любого

типа (поля БД, переменные и пр.); в сложном

выражении элементы соединяются знаком "+";

@ Y,X GET - с заданной позиции выдается переменная или

поле записи с возможностью редактирования

(переменная уже должна существовать);

DEFAULT - действует только при работе с переменными;

задает выражение по умолчанию и предъявляет к

редактированию;

ENABLE/DISABLE - разрешает/запрещает доступ к get-полю;

MESSAGE - для данного поля выдает пояснение в строке

вывода сообщений;

RANGE - контролирует диапазон значений;

SIZE - определяет область, отводимую под

редактирование;

VALID... - логический контроль ввода;

WHEN - вход в редактируемое поле допускается только при

истинности выражения;

[OPEN] WINDOW - используется с memo-полями;

COLOR SCHEME /COLOR- определяет

раскраску полей ввода-вывода.

Возможно соединение фраз SAY и GET в одной команде. При этом GET осуществляет предъявление и возможность редактирования. После команды или группы команд GET должна обязательно следовать команда READ. Эта команда приостанавливает выполнение программы до заполнения всех GET -полей и присваивает соответствующие значения переменным или полям базы данных.

Примеры:

1) В 10 строке, 15 колонке вывести текст 'ЗАРПЛАТА - ', в этой же строке обеспечить поле ввода для переменной и контроль за правильностью ввода (введенное значение должно находится в интервале [100.00,1778.00] ).

X = 100.00

@ 10,15 SAY 'ЗАРПЛАТА - ' GET X RANGE 100.00,1778.00

READ

2) Обеспечить ввод значений зарплат только кратным 10

@ 10,15 SAY 'ЗАРПЛАТА - ' GET X VALID MOD(X/10) = 0

READ

Шаблон PICTURE разрешает ввод только определенных символов данных:

А - ввод только букв;

L - ввод только логических данных T / F;

N - ввод только букв и цифр;

Х - ввод любых символов;

Y - ввод только логических данных Y/N;

9 - ввод только цифр в символьных данных, цифр и знаков "+","-" - в числовых

данных;

# - ввод цифр, пробелов и знаков "+","-";

! - преобразует строчные буквы в прописные;

* - перед числами;

. - задает позицию десятичной точки.

Пример:

@ 10,8 SAY 'ЗАРПЛАТА - ' PICTURE ###.##'

3) Пример создания форматного файла CADR.FMT, для редактирования данных в отношении CADR.DBF. Вид экранной формы:

Д АННЫЕ О СОТРУДНИКЕ

Текст файла CARD.FMT

@ 4, 30 SAY 'ДАННЫЕ О СОТРУДНИКЕ'

@ 5, 9 ТО 11, 70 DOUBLE

@ 5, 41 SAY ‘Сегодня '+DТОС(DАТЕ( )) + ' '

@ 6, 18 SAY 'Фамилия, инициалы: ' GET fio

@ 7, 18 SAY ‘Табельный номер: ' GET tab

@ 7, 40 SAY Должность: ' GET Dolg

@ 10, 12 SAY 'Выход с сохранением изменений - ^End, без - Esc'

Созданный форматный файл может быть использован в программе с помощью команды SET FORMAT ТО .

Фрагмент программы:

SET FORMAT TO CARD.FMT

CHANGE

SET FORMAT TO

6.СРЕДСТВА ПРОГРАММИРОВАНИЯ

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

ПЕРЕМЕННЫЕ

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

Команда присваивания:

= или

STORE ТО <имена переменных:».

Примеры:

a = b^2 + 2*c – 3*a

STORE 0 ТО a,b,c – присвоение нулевого значения переменным a,b,c

МАССИВЫ ПЕРЕМЕННЫХ

Разрешена работа с одномерными и двумерными массивами переменных.

Описание массивов выполняет команда:

DECLARE / DIMENSION < переменная >([,]) .

Пример:

DIMENSION а(3,4), b(4)

Максимальное количество и максимальная размерность массивов 3600. Значения элементов массива формируются присваиванием им значений выражений либо в результате обмена с БД посредством следующих команд:

Команды управления

Команда IF : Команда DO CASE:

IF <условие> DO CASE

CASE

[ELSE

] CASE

ENDIF

[OTHERWIZE

]

ENDCASE

Кроме этих команд имеется очень полезная функция IIF ( ) (см. приложение)

Примеры:

1. Найти максимальное значение из двух величин.

CLEAR

INPUT “ Введите X” TO X

INPUT “ Введите Y” TO Y

IF X > Y

max = X

ELSE

max = Y

ENDIF

? “ Максимальное значение равно: ”, max

WAIT

2
. Найти значение функции Y.

CLEAR

INPUT “Введите X” TO X

DO CASE

CASE X < 0

Y = -2*X^2 +5*X

CASE X>=0 AND X < 5

Y = 15 – 2*X^2

CASE X>=5

Y = ABS(12*X – SIN(12))

ENDCASE

? "Y = " ,Y

CLOSE ALL

ОРГАНИЗАЦИЯ ЦИКЛОВ

Цикл с условием

DO WHILE Выход из цикла - EXIT

Возврат к началу цикла - LOOP

ENDDO

Цикл вида DO WHILE .T. ENDDO применяется как операторные скобки.

Цикл с параметром

FOR = ТО [STEP ]

ENDFOR

ЦИКЛ СКАНИРОВАНИЯ

SCAN [] [FOR] [WHILE] ENDSCAN - применяется для перемещения в базе данных и выполнения команд

для каждой записи, отвечающей условиям.

Примеры:

Приводятся фрагменты программ поиска в БД Kadr всех записей

с фамилией на букву 'И'.

1) USE Kadr 2) USE Kadr

LOCATE FOR fio = 'И' SCAN FOR fio= 'И'

DO WHILE ! EOF( ) <команды>

<команды> ENDSCAN

CONTINUE

ENDDO

ПРОЦЕДУРЫ

В FoxPro используются процедуры как внутренние так и внешние, а также процедуры-функции. Внутренняя процедура должна начинаться командой PROCEDURE и заканчиваться командой RETURN. Внешние процедуры могут быть объединены в prg-файл и подключаются командой SET PROCEDURE TO .

Обращение к процедуре :

DO [WITH ] [IN FILE ], где - список фактических параметров. Все входные фактические параметры перед вызовом процедуры должны быть определены.

Формальные параметры описываются в процедуре командой PARAMETERS.

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

RETURN , где выражение есть результат функции.

Процедуры

В FoxPro используются процедуры как внутренние так и внешние, а также процедуры - функции. Внутренняя процедура должна начинаться командой PROCEDURE и заканчиваться командой RETURN. Внешние процедуры могут быть объединены в prg-файл и подключаются командой SET PROCEDURE TO . Обращение к процедуре :

DO [WITH ] [IN FILE ]

Параметры описываются в процедуре командой PARAMETERS.

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

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

Использование процедур рассмотрим далее в разделе организации меню.

ЗАДАНИЕ

1. Приведенную выше Программу 1, представьте в виде ряда процедур:

р21 - просмотр данных по штатному расписанию (отношение STATE)

р22 - поиск данных по штатному расписанию

р31 - просмотр данных по списку сотрудников (отношение SOTR)

р32 - поиск данных по списку сотрудников

р4 - совместный просмотр двух таблиц (состояние)

info - заставка с краткой информацией (дополнительная процедура).

Пример 1.

*********** поиск в таблице Kadr ***********

PROCEDURE p21

SELECT a

CLEAR

с = 0

@ 5, 10 SAY 'Введите табельный номер: ' GET с PICTURE '###'

READ

@ 6, 2 SAY 'Результат поиска '

LOCATE ALL FOR tab = c

DO WHILE ! EOF( )

? 'должность - ', dolg, ' оклад - ', zarp

CONTINUE

ENDDO

WAIT 'Продолжение – Enter ' WINDOW

CLEAR

RETURN

Пример 2.

********* заставка **************

PROCEDURE info

CLEAR

@ 8, 15 ТО 20, 60 DOUBLE && изображение рамки

@ 9, 25 SAY 'ШТАТНОЕ РАСПИСАНИЕ' && вывод текста

@ 12, 20 SAY 'Модель информационной системы'

WAIT 'Продолжение – Enter ' WINDOW && пауза

CLEAR

RETURN

7.ОРГАНИЗАЦИЯ МЕНЮ

Меню являются основной формой поддержания диалога в информационных системах. Среда FoxPro обладает большим набором средств организации световых и клавишных меню. Выделим две основных технологии построения меню, которые порождают «меню - программы» и «меню - объекты».

Меню-программа является частью программы, где оно создается, используется и удаляется. При этом вырабатываются числовые переменные, фиксирующие выбор из меню, которые анализируются командами DO CASE, требуют использования циклов DO WHILE и т.д. Рассмотрим два типа таких меню. Будем использовать приведенную выше программу, которую предварительно разобьем на ряд процедур.

LIGHTBAR - меню строится с использованием команд:

@ Y, X PROMPT [MESSAGE] - выдает в

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