GeoSELECT.ru



Программирование / Реферат: Ведение реляционной БД на яз. CLIPPER 5.02 (Программирование)

Космонавтика
Уфология
Авиация
Административное право
Арбитражный процесс
Архитектура
Астрология
Астрономия
Аудит
Банковское дело
Безопасность жизнедеятельности
Биология
Биржевое дело
Ботаника
Бухгалтерский учет
Валютные отношения
Ветеринария
Военная кафедра
География
Геодезия
Геология
Геополитика
Государство и право
Гражданское право и процесс
Делопроизводство
Деньги и кредит
Естествознание
Журналистика
Зоология
Инвестиции
Иностранные языки
Информатика
Искусство и культура
Исторические личности
История
Кибернетика
Коммуникации и связь
Компьютеры
Косметология
Криминалистика
Криминология
Криптология
Кулинария
Культурология
Литература
Литература : зарубежная
Литература : русская
Логика
Логистика
Маркетинг
Масс-медиа и реклама
Математика
Международное публичное право
Международное частное право
Международные отношения
Менеджмент
Металлургия
Мифология
Москвоведение
Музыка
Муниципальное право
Налоги
Начертательная геометрия
Оккультизм
Педагогика
Полиграфия
Политология
Право
Предпринимательство
Программирование
Психология
Радиоэлектроника
Религия
Риторика
Сельское хозяйство
Социология
Спорт
Статистика
Страхование
Строительство
Схемотехника
Таможенная система
Теория государства и права
Теория организации
Теплотехника
Технология
Товароведение
Транспорт
Трудовое право
Туризм
Уголовное право и процесс
Управление
Физика
Физкультура
Философия
Финансы
Фотография
Химия
Хозяйственное право
Цифровые устройства
Экологическое право
   

Реферат: Ведение реляционной БД на яз. CLIPPER 5.02 (Программирование)



МОСКОВСКАЯ ГОСУДАРСТВЕННАЯ ТЕКСТИЛЬНАЯ АКАДЕМИЯ
им. КОСЫГИНА

Кафедра ИТ и ВТ.



К У Р С О В А Я Р А Б О Т А


Тема : “Разработка програмного обеспечения, ведение базы данных и
получение ведомости с частичными суммами.“



по курсу: “Алгоритмические языки и технология програмирования “



Выполнил:
Пономарев А.Н.
гр.42-96

Руководитель:
доц. Стрельников Б.А.
асс. Степанова О.П.



МОСКВА
1998
2. ЗАДАНИЕ:

ТЕМА КУРСОВОЙ РАБОТЫ: Реализация алгоритма обработки данных
и ведения реляционной базы данных.


ИСХОДНЫЕ ДАННЫЕ:
Индивидуальное задание с описанием базы данных и получаемой в
результате ее обработки ведомости с частичными и полными суммами.


ПЕРЕЧЕНЬ ПОДЛЕЖАЩИХ РАЗРАБОТКЕ ВОПРОСОВ ( СОДЕРЖАНИЕ РАСЧЕТНО-
ПОЯСНИТЕЛЬНОЙ ЗАПИСКИ )

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

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

3. Составить и отладить программу получения ведомости.

4. Разраб. формы экранных кадров и меню для ведения базыданных.

5. Составить и отладить программу реализации экранного кадра для
просмотра основных(ой) таблиц(ы).

6. Дополнить программу п.5 возможностью удаления и добавления
строк в таблицу.

7. Дополнить программу п.5 возможностью изменения инф-ии в
таблице.

8. Составить и отладить процедуры оперативного ведения справочников
базы данных.

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

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



ПЕРЕЧЕНЬ ГРАФИЧЕСКОГО МАТЕРИАЛА

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

2. Макеты экранных кадров и состав подсказок для пунктов ожидания
ввода от пользователя.

3. Ведомость, получаемая в результате выполнения тестового примера.

МАТЕМАТИЧЕСКИЕ МОДЕЛИ

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

ТЕХНИЧЕСКИЕ СРЕДСТВА:
ПЭВМ IBM
Система программирования Clipper 5.2



3. ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ.

Имеются файлы: АА - нормативы профилактики оборудования,
ВВ - профилактики и СС - состав оборудования

АА: 1. Идентификатор типа станка ВВ: 1. Инвентарный номер станка
2. Наименование типа станка 2. Вид профилактики
3. Норма кол-ва дней между 3. Дата профилактики
профилактиками 4.
Идентификатор записи

СС: 1. Инвентарный номер
2. Идентификатор типа станка

Выявить все случаи превышения нормативных интервалов между
профилактиками и вывести их в выводной файл DD:
1. Инв.№
2. Фактическое кол-во
дней
между профилактиками
3. Нормативное кол-во дней
4. Иден-тор
записи пред. проф-ки
5. Иден-тор записи след. проф-ки
На принтер вывести ведомость, упорядоченную по убыванию кол-ва просроченных
дней:
Нарушения норм техобслуживания
Инв.№ /Тип Дата/Вид пред.проф-ки Дата /Вид след.проф-ки Просрочено, дней
Инв.№ /Тип Дата /Вид пред.проф-ки Дата /Вид след.проф-ки Просрочено, дней
Инв.№ /Тип Дата /Вид пред.проф-ки Дата /Вид след.проф-ки Просрочено, дней
. . . . . . . . . .
Общее кол-во дней просрочки СУММА



4.Анализ обработки БД для её получения :

а) По какому файлу проводится главный цикл обработки ?
Главный цикл обработки в подпрограмме vedom - (п.п., которая осущест-
вляет выявление всех случаев превышения нормативных интервалов между
профилактиками, вывод их в выводной файл “DD”, а также осуществляет выдачу
ведомости на принтер) проводится по файлу bb.dbf .

б) Как он должен быть упорядочен ?
Он должен быть упорядочен в хронологическом порядке.
Пример:
index on bb->invnom + dtoc(bb->dateprof) to bb0001
Справка:
Синтаксис:
INDEX ON TO
INDEX - команда обработки базы данных, которая создает файлы,
содержащие индексы базы данных на основе значения аргумента . При использовании индексного файла записи базы данных
обрабатываются в последовательности, заданной ключевым выражением, однако
физический порядок следования записей базы данных остается неизменным.
INDEX обеспечивает последовательность записей,
упорядоченную по значениям ключевого выражения. Для ключей типа
CHARACTER - в соответствии со значением ASCII кода каждого символа
внутри строки, для ключей типа NUMERIC - в соответствии с числовым
порядком, для ключей типа дата - в хронологическом порядке и для
логических - считается, что истина (.Т.) - более высокого порядка.
Memo-поля не могут быть индексированы.

в) Применяются ли фильтры ?
Хотя команда SET FILTER делает так, что файл в рабочей области

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


г) Имеются ли связи ”хозяин-слуга” и по каким полям ?
В подпрограмме vedom имеются связи.
Пример:
а) set relat to bb->invnom into cc
Связь по полю “invnom”.
б) set relat to cc->idst into aa additive
Связь по полю “idst”.
в) set relat to dd->invnom into cc additive
Связь по полю “invnom”.
............................................................................
...................................................
5.Структура dbf-файлов (имя, тип, формат, каждого поля ):

a) Структура файла aa.dbf :

IDST NAMEST NORMA
1 Строгальный 25
2 Сверлильный 15
3 Токарный 20
...........................................................................
...........................
Имя Тип Длина
IDST Символ 3
NAMEST Символ 12
NORMA Число 3

б) Структура файла bb.dbf :

INVNOM VIDPROF DATEPROF IDZAP

24 Смазка 09-01-98
1
4 Смазка 09-01-98
2
231 Смазка 09-01-98
3
2 Смазка 09-01-98
4
626 Смазка 09-01-98
5
323 Смазка 09-01-98
6
626 Регулировка 01-02-98 7

323 Регулировка 28-01-98 8

2 Регулировка 29-01-98 9

231 Регулировка 28-01-98 10

4 Регулировка 19-01-98
11
24 Регулировка 18-01-98 12

626 Чистка 31-03-98
13
323 Чистка 15-04-98
14
2 Чистка 01-04-98
15
231 Чистка 20-03-98
16
4 Чистка 10-03-98
17
24 Чистка 02-04-98
18
...........................................................................
...........................
Имя Тип Длина
INVNOM Символ 3
VIDPROF Символ 12
DATEPROF Дата 8
IDZAP Символ 3

в) Структура файла сс.dbf :

INVNOM IDST
323 1
626 1
4 2
231 3
24 2
2 3
...........................................................................
...........................
Имя Тип Длина
INVNOM Символ 3
IDST Символ 3

г) Структура файла dd.dbf :

INVNOM FKDN NORMA IDZAPPP IDZAPSP

2 62 20 9
15
231 51 20 10
16
24 74 15 12
18
323 77 25 8
14
4 50 15 11
17
626 58 25 7
13

............................................................................
.........................
Имя Тип Длина
INVNOM Символ 3
FKDN Число 3
NORMA Число 3
IDZAPPP Символ 3
IDZAPSP Символ 3
............................................................................
.....................................................



6. Принципы подготовки данных для тестового примера и заполнения
исходных данных.

Эти данные были выбраны произвольно - “из головы”:
1) Идентификатор типа станка
2) Инвентарный номер станка
3) Вид профилактики
4) Наименование типа станка

Идентификатор записи в файле bb.dbf заполнялся по убыванию (от 1 до 18),
где 1- первая запись, а 18- последняя.

Норма кол-ва дней между профилактиками была выбрана произвольна.

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

7. Система меню.

а) Какие экранные кадры ?

Экранный кадр № 1:


Московская государственная текстильная академия ( МГТА )

БАЗА ДАННЫХ Нарушение норм техобслуживания:

Курсовая работа по курсу :
"Алгоритмические языки обработки данных и технология программирования"

студента гр 42/96
Пономарёва А.Н.

*************************

Руководитель:

доц. Стрельников Б.А.

асс. Степанова О.П.



Сразу приступить к работе с Базой Данных
Заново построить все индексы Базы Данных
Провести компрессию Базы Данных

Выход из Базы Данных


Экранный кадр № 2:



Московская государственная текстильная академия ( МГТА )

БАЗА ДАННЫХ Нарушение норм техобслуживания:

Курсовая работа по курсу :
"Алгоритмические языки обработки данных и технология программирования"

студента гр 42/96
Пономарёва А.Н.

*************************

Руководитель:

доц. Стрельников Б.А.

асс. Степанова О.П.

Выберите одну из следующих задач
Ведение файла "Нормативы профилактики
оборудования"
Ведение файла "Профилактика"
Получение ведомости нарушение норм
техобслуживания
Выход из Базы Данных


Экранный кадр № 3:

Нормативы профилактики оборудования:

Идент. типа станка Наименование типа станка Норма,дней
--------------------------------------------------------------------------
----------------
1 ¦ Строгальный
¦ 25
2 ¦ Сверлильный
¦ 15
3 ¦ Токарный
¦ 20
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
--------------------------------------------------------------------------
-----------------
Тип станка: Строгальный

(/ ( / ( / ( / ^( PgUp / PgDn / ^(/ Home / End - Перемещение курсора
¦ Esc - Возврат на шаг назад ¦F8
- Удалить строку
Enter - Редактирование ¦
¦F3 - Вставить строку



Экранный кадр № 4:

Профилактики:

Инв.№ станка Вид профилактики Дата профилактики
--------------------------------------------------------------------------
--------------
2 ¦ Смазка ¦
01/09/98
2 ¦ Регулировка ¦
01/29/98
2 ¦ Чистка ¦
04/01/98
231 ¦ Смазка ¦
01/09/98
231 ¦ Регулировка ¦ 01/28/98
231 ¦ Чистка ¦
03/20/98
24 ¦ Смазка ¦
01/09/98
24 ¦ Регулировка ¦ 01/18/98
24 ¦ Чистка ¦
04/02/98
323 ¦ Смазка ¦
01/09/98
323 ¦ Регулировка ¦ 01/28/98
323 ¦ Чистка ¦
04/15/98
--------------------------------------------------------------------------
--------------
Инв.№ станка: 2
Вид профилактики: Смазка
Дата профилактики: 01/09/98

(/ ( / ( / ( / ^( PgUp / PgDn / ^(/ Home / End - Перемещение курсора
¦ Esc - Возврат на шаг назад ¦F8
- Удалить строку
Enter - Редактирование ¦
¦F3 - Вставить строку



Экранный кадр № 5:


Таблица нарушение норм техобслуживания:
----------------------------------------------------------------------------
--------------------------------
¦ Инв. ¦ Наименование ¦ Дата ¦ Вид предвор. ¦ Дата ¦ вид след.
¦Просроч.¦
¦номер ¦ типа станка ¦ ¦ профилактики ¦ ¦
профилактики ¦ дней ¦
¦---------------------------------------------------------------------------
---------------------------------¦
¦ 24 ¦ Сверлильный ¦01/18/98¦ Регулировка ¦04/02/98¦ Чистка
¦ 59 ¦
¦ 323 ¦ Строгальный ¦01/28/98¦ Регулировка ¦04/15/98¦ Чистка
¦ 52 ¦
¦ 2 ¦ Токарный ¦01/29/98¦ Регулировка ¦04/01/98¦ Чистка
¦ 42 ¦
¦ 4 ¦ Сверлильный ¦01/19/98¦ Регулировка ¦03/10/98¦ Чистка
¦ 35 ¦
¦ 626 ¦ Строгальный ¦02/01/98¦ Регулировка ¦03/31/98¦ Чистка
¦ 33 ¦
¦ 231 ¦ Токарный ¦01/28/98¦ Регулировка ¦03/20/98¦ Чистка
¦ 31 ¦
----------------------------------------------------------------------------
---------------------------------
Всего просроченно дней - 252



Экранный кадр № 6:

Московская государственная текстильная академия ( МГТА )

БАЗА ДАННЫХ Нарушение норм техобслуживания:

Курсовая работа по курсу :
"Алгоритмические языки обработки данных и технология программирования"

------------------------------------------------------------------
----------------а А.Н.
¦ Сохранить все внесенные изменения и продолжить
¦*****
¦ работу с Базой данных - т.е. сделать промежуточный SAVE ¦
¦ или
¦
¦ Завершить работу с базой данных с сохранением всех
¦.А.
¦ изменений
¦.
¦ Сохранить и продолжить Завершить работу
¦
------------------------------------------------------------------
----------------
Выберите одну из следующих задач
Ведение файла "Нормативы профилактики оборудования"
Ведение файла "Профилактика"
Получение ведомости нарушение норм техобслуживания
Выход из Базы Данных



б) Пункты меню, что в них делается ?

Меню № 1:
1) Сразу приступить к работе с Базой
Данных
2) Заново построить все индексы Базы Данных
3) Провести компрессию Базы Данных
4) Выход из Базы Данных

При выборе п.1, если индексы уже имеются мы попадаем в меню № 2.
При выборе п.2 заново происходит построение всех индексов Б.Д .
При выборе п.3 производится компрессия (уплотнение) Б.Д .
При выборе п.4 появляется горизонтальное подменю:

а) Сохранить и продолжить б) Завершить
работу

П.а) Сохранить все внесенные изменения и продолжить
П.б) Завершить работу с базой данных с сохранением всех изменений

Меню № 2:
1) Ведение файла "Нормативы профилактики
оборудования"
2) Ведение файла "Профилактика"
3) Получение ведомости нарушение
норм техобслуживания
4) Выход из Базы Данных
При выборе п.1 мы попадаем в редактор файла aa.dbf - (“Нормативы

профилактики оборудования”), где мы можем его просматривать и
редактировать.

При выборе п.2 мы попадаем в редактор файла bb.dbf - (“Профилактика”),
где мы можем его просматривать и редактировать.

При выборе п.3 происходит выявление всех случаев превышения нормативных
интервалов между профилактиками, вывод их в выводной файл “DD”, а также
выдача ведомости на принтер.

При выборе п.4 выполняются действия аналогичные п.4 в меню № 1.
............................................................................
.....................................................

8. Ведение БД .
Какими табл. представлено ведение БД, по какой табл. указывается
текущая рабочая область, её слуги, колонки таблицы, набор клавиш на которые
предусмотрена реакция системы.

Клавиши на которые реагирует система:
(/ ( / ( / ( /; PgUp / PgDn; Home / End - Перемещение курсора
Enter - Выбор задачи в меню и редактирование полей в редакторе
Esc - Возврат на шаг назад. Отмена редактирования (без сохранения
изменненого значения)
F8 - Удалить строку
F3 - Вставить строку
F10 - Выход из задачи с сохранением всей информации или выход без
сохранения информации

Таблицы ведения Б.Д.:
Табл. №1

Нормативы профилактики оборудования:
Идент. типа станка Наименование типа станка Норма, дней
--------------------------------------------------------------------------
---------------------
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
---------------------------------------------------------------------------
---------------------
Тип станка:
Табл. №2

Профилактики:
Инв.№ станка Вид профилактики Дата профилактики
--------------------------------------------------------------------------
--------------------
¦
¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
¦ ¦
----------------------------------------------------------------------------
--------------------
Инв.№ станка:
Вид профилактики:
Дата профилактики:

............................................................................
.....................................................

9. Структура программы :

а) Содержимое rmk-файла “kursv.rmk”:

objs = main2,aa,util,bb

.prg.obj:
CLIPPER $< /a/m/n

.obj.exe:
RTLINK OUTPUT $* FI $(objs) /PLL:base52

main2.obj : main2.prg
aa.obj : aa.prg
util.obj : util.prg
bb.obj : bb.prg

kurs_ok.exe : main2.obj aa.obj util.obj bb.obj

б) Имена и содержание prg-файлов. По каждой функции: имя, назначение,
параметры, тип данных и смысл, возвращенное значение, рабочие перемен-ные и
их назначение.


Программные файлы:
1) aa.prg
В этой программе реализовано:
1. Создание TBrowse-объекта для просмотра-редактирования файла aa.dbf в
окне.

2) bb.prg
В этой программе реализовано:
1. Создание TBrowse-объекта для просмотра-редактирования файла bb.dbf в
окне.

3) main2.prg
В этой программе реализовано:
1.Организация меню.
2. Индексирование файлов.
3. Уплотнение файла .
4. Выявление всех случаев превышения нормативных интервалов между
профилактиками, вывод их в выводной файл
“DD”, а также выдача ведомости на принтер.
5. Вывод на экран информации о “горячих” клавишах.

4) util.prg
Эта программа содержит набор стандартных утилит:
1. Сохранение экрана, восстановление экрана.
2. Перевод в верхний регистр как латиницы, так и кириллицы.
3. Координаты, сообщение, цвет.
4. Выход из задачи с сохранением всей информации - реакция на
клавишу F10.
5. Подача звукового сигнала для сигнализации успешного выполнения
поставленной задачи:

Описание основных подпрограмм:
1) п.п. постоения индексов:
func db_index(prm)
s_scr(24,0,25,79)
CLOSE ALL
SETCOLOR ("w/n")
@ 24,0 CLEAR TO 25,79
@ 24,6 SAY "Ждите идет индексирование! " COLOR "w+*/n"
use bb
index on bb->invnom + dtoc(bb->dateprof) to bb0001
use aa
index on aa->idst to aa0002
use cc
index on cc->invnom to cc0003
use dd
index on dd->(norma-fkdn) to dd0004
close all
r_scr()
return nil

2) п.п. открытия индексов:
func db_open
close all
use aa index aa0002
use bb index bb0001 new
use cc index cc0003 new
use dd index dd0004 new
return nil

3) п.п. уплотнения Б.Д. :
FUNCTION db_compress()
s_scr(24,0,25,79)
CLOSE ALL
SETCOLOR("w/n")
@ 24,0 CLEAR TO 25,79
@ 24,6 SAY "Ждите идет уплотнение !" COLOR ("w+*/n")
USE aa // уплотнение файла aa.dbf
COPY TO work
IF ERRORLEVEL() = 0
USE
DELETE FILE aa.dbf
RENAME work.dbf TO aa.dbf
ENDIF
USE bb // уплотнение файла bb.dbf
COPY TO work
IF ERRORLEVEL() = 0
USE
DELETE FILE bb.dbf
RENAME work.dbf TO bb.dbf
ENDIF
USE cc // уплотнение файла cc.dbf
COPY TO work
IF ERRORLEVEL() = 0
USE
DELETE FILE cc.dbf
RENAME work.dbf TO cc.dbf
ENDIF
USE dd // уплотнение файла dd.dbf
COPY TO work
IF ERRORLEVEL() = 0
USE
DELETE FILE dd.dbf
RENAME work.dbf TO dd.dbf
ENDIF
CLOSE ALL
r_scr()
RETURN NIL

4) п.п. выдачи информации о клавишах, на которые реагирует система
”Help”:
PROCEDURE hlp(callpnt,prm)
LOCAL retcol,crow,ccol
IF prm = NIL
prm := .F.
ENDIF
crow = ROW()
ccol = COL()
retcol = SETCOLOR("w/n")
@ 22,0 CLEAR TO 24,79
IF callpnt = "GET"
// исправленный HLP для GET 26.09.96
@ 22,0 SAY "Enter/" + CHR(24) + '/' + CHR(25) + '/PgUp/PgDn' ;
+ " -Завершить редактирование с сохранением измененного
значения"
@ 22,0 SAY "Enter/"+ CHR(24) + '/' + CHR(25) + '/PgUp/PgDn' COLOR
"r+/n"
@ 23,1 SAY CHR(26) + ' / ' + CHR(27) + ' / ^' + CHR(26) ;
+ ' / ^' + CHR(27) + ' / Home / End - Перемещение курсора'
@ 23,1 SAY CHR(26) + ' / ' + CHR(27) + ' / ^' + CHR(26) ;
+ ' / ^' + CHR(27) + ' / Home / End' COLOR "r+/n"
@ 24,1 SAY 'Esc - Отменить редактирование ' ;
+ '( без сохранения измененного
значения )'
@ 24,1 SAY "Esc" COLOR "r+/n"
ENDIF
IF callpnt="AAED" .OR. callpnt="BBED"
SET COLOR TO ("w/n")
@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;
+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;
+ ' / ^' + CHR(27) + '/ Home / End - Перемещение курсора'
@ 24,0 SAY 'Enter - Редактирование '
@ 23,23 TO 24,23 DOUBLE
@ 23,25 SAY 'Esc - Возврат на шаг назад ' COLOR "w/n"
@ 23,25 SAY 'Esc' COLOR "r+/n"
@ 23,54 TO 24,54 DOUBLE
@ 23,55 SAY 'F8 - Удалить строку '
@ 24,55 SAY 'F3 - Вставить строку '
SET COLOR TO ("r+/n")
@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;
+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;
+ ' / ^' + CHR(27) + '/ Home / End '
@ 24,0 SAY 'Enter'
@ 23,55 SAY 'F8'
@ 24,55 SAY 'F3'
ENDIF
IF callpnt="CCED" .OR. callpnt="DDED"
SET COLOR TO ("w/n")
@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;
+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;
+ ' / ^' + CHR(27) + '/ Home / End - Перемещение курсора'
@ 24,0 SAY 'Enter - Редактирование '
@ 23,23 TO 24,23 DOUBLE
@ 23,25 SAY 'Esc - Возврат на шаг назад ' COLOR "w/n"
@ 23,25 SAY 'Esc' COLOR "r+/n"
@ 24,25 SAY '^Enter - Выбор значения ' COLOR "w/n"
@ 24,25 SAY '^Enter' COLOR "r+/n"
@ 23,54 TO 24,54 DOUBLE
@ 23,55 SAY 'F8 - Удалить строку '
@ 24,55 SAY 'F3 - Вставить строку '
SET COLOR TO ("r+/n")
@ 22,1 SAY chr(24) + " / " + chr(25) + " / " + CHR(26) + ' / ' ;
+ CHR(27) + ' / ^' + CHR(26) + " PgUp / PgDn " ;
+ ' / ^' + CHR(27) + '/ Home / End '
@ 24,0 SAY 'Enter'
@ 23,55 SAY 'F8'
@ 24,55 SAY 'F3'
ENDIF
SET COLOR TO (retcol)
SETPOS(crow,ccol)
RETURN

5) п.п. выявления всех случаев превышения нормативных интервалов между
профилактиками, вывода их в выводной файл
“DD”, а также выдачи ведомости на принтер:
func vedom
local tinvnom,sitog,tdata,tidzap,tidst,idpop
set printer on
select dd
zap
lin:=space(17)+"Таблица нарушение норм техобслуживания:"
? lin
select bb
set relat to bb->invnom into cc
set relat to cc->idst into aa additive
go top
sitog:=0
do while .not. eof()
tinvnom:=bb->invnom
tdata:=bb->dateprof
tidzap:=bb->idzap
tidst:=cc->idst
skip
if(bb->invnom=tinvnom).and.(bb->dateprof-tdata>aa->norma)
select dd
append blank
replace dd->invnom with tinvnom
replace dd->fkdn with bb->dateprof-tdata
replace dd->norma with aa->norma
replace dd->idzappp with tidzap
replace dd->idzapsp with bb->idzap
sitog:=sitog+(dd->fkdn-dd->norma)
select bb
endif
enddo
lin:="+---------------------------------------------------------------------
--------+"
? lin
lin:="¦ Инв.¦ Наименование ¦ Дата ¦ Вид предвор. ¦ Дата ¦ вид след.
¦Просроч.¦"
? lin
lin:="¦номер¦ типа станка ¦ ¦ профилактики ¦ ¦ профилактики
¦ дней ¦"
? lin
lin:="¦-----+--------------+--------+--------------+--------+--------------
+--------¦"
? lin
select dd
set relat to dd->invnom into cc additive
go top
do while .not. eof()
tinvnom:=dd->invnom
idpop:=dd->idzappp
lin:="¦ "+dd->invnom+" ¦ "
select bb
go top
do while .not. eof()
if(tinvnom=bb->invnom).and.(idpop=bb->idzap)
lin:=lin+aa->namest+" ¦"+dtoc(bb->dateprof)+"¦ "+bb->vidprof
endif
skip
enddo
select dd
idpop:=dd->idzapsp
select bb
go top
do while .not. eof()
if(tinvnom=bb->invnom).and.(idpop=bb->idzap)
lin:=lin+" ¦"+dtoc(bb->dateprof)+"¦ "+bb->vidprof+"¦ "
endif
skip
enddo
select dd
lin:=lin+str(dd->fkdn-dd->norma,4)+" ¦"
? lin
skip
enddo
lin:="+---------------------------------------------------------------------
--------+"
? lin
set color to w+/b
lin:=" Всего просроченно дней -"+str(sitog,5)
? lin
set printer off
sound()
inkey(0)
return nil

6) п.п. подачи звукового сигнала для сигнализации успешного выполнения
поставленной задачи:
func sound
tone(300,1)
tone(100,1)
tone(300,1)
tone(100,1)
return nil

7) п.п. сохранения зкрана:
FUNC s_scr(t,l,b,r)
IF t = NIL
t := 0
ENDIF
IF l = NIL
l := 0
ENDIF
IF b = NIL
b := MAXROW()
ENDIF
IF r = NIL
r := MAXCOL()
ENDIF
AADD( wind[1], t )
AADD( wind[2], l )
AADD( wind[3], b )
AADD( wind[4], r )
AADD( wind[5], SAVESCREEN(t,l,b,r) )
AADD( pos[1], ROW() )
AADD( pos[2], COL() )
AADD( colr, SETCOLOR() )
AADD( curs, SETCURSOR() )
RETURN .T.

8) п.п. восстановления зкрана:
FUNC r_scr()
LOCAL ln
ln := LEN(wind[1])
IF ln == 0
@ 24,0 SAY ' Ошибка - стек для восстановления параметров пуст '
INKEY(0)
@ 24,0
ENDIF
RESTSCREEN(wind[1,ln], wind[2,ln], wind[3,ln], wind[4,ln], wind[5,ln] )
ASIZE(wind[1],ln-1)
ASIZE(wind[2],ln-1)
ASIZE(wind[3],ln-1)
ASIZE(wind[4],ln-1)
ASIZE(wind[5],ln-1)
SETPOS( pos[1,ln], pos[2,ln] )
ASIZE(pos[1],ln-1)
ASIZE(pos[2],ln-1)
SETCOLOR(colr[ln])
ASIZE(colr,ln-1)
SETCURSOR(curs[ln])
ASIZE(curs,ln-1)
RETURN .T.

9) п.п. определения - нажата ли клавиша типового метода, если да - то
возвращает блок кода с соответствующим методом, если нет - то возвращает
NIL. Параметр функции - INKEY-код нажатой клавиши.
FUNC basemet(cod)
LOCAL ret , ei , i
LOCAL crsm:={ ;
{K_DOWN , {|o| o:down() } } ;
, {K_UP , {|o| o:up() } } ;
, {K_PGDN , {|o| o:pagedown() } } ;
, {K_PGUP , {|o| o:pageup() } } ;
, {K_CTRL_PGDN , {|o| o:gobottom() } } ;
, {K_CTRL_PGUP , {|o| o:gotop() } } ;
, {K_RIGHT , {|o| o:right() } } ;
, {K_LEFT , {|o| o:left() } } ;
, {K_CTRL_RIGHT , {|o| o:panright() } } ;
, {K_CTRL_LEFT , {|o| o:panleft() } } ;
, {K_END , {|o| o:end() } } ;
, {K_HOME , {|o| o:home() } } ;
, {K_CTRL_END , {|o| o:panend() } } ;
, {K_CTRL_HOME , {|o| o:panhome() } } }
i := ASCAN( crsm, {|ei| cod = ei[1] } )
IF i 0
ret := crsm[i,2]
ELSE
ret := NIL
ENDIF
RETURN ret

10) п.п. переключения режима вставка/замена и вида курсора:
PROCEDURE Repl_Ins()
IF READINSERT()
READINSERT(.F.)
SETCURSOR(SC_INSERT)
ELSE
READINSERT(.T.)
SETCURSOR(SC_NORMAL)
ENDIF
RETURN

11) п.п. перевода в верхний регистр латиницы и кириллицы:
FUNC UpperC(prm)
LOCAL n , i , smb , cs
n := LEN( prm )
FOR i = 1 TO n
smb := SUBSTR( prm , i , 1 )
cs := ASC( smb )
DO CASE
CASE cs >= 97 .AND. cs = 160 .AND. cs = 224 .AND. cs 80
RETURN
ENDIF
IF x=NIL // Центр по X
x := (80-ml)/2
ENDIF
IF y=NIL // Центр по Y
y := 24/2 - 1
ENDIF
IF color NIL
c := SETCOLOR(color)
@ y,x SAY m
SETCOLOR(c)
ELSE
@ y,x SAY m
ENDIF
RETURN

14) п.п. создания TBrowse-объекта для просмотра-редактирования
файла aa.dbf в окне t,l,b,r :
FUNCTION aaCr(t,l,b,r)
LOCAL brws,coln,cblk,chdr
brws := TBrowseDb(t,l,b,r)
cblk := {|| " " + aa->idst }
chdr := "Идент. типа станка"
coln := TBColumnNew(chdr,cblk)
coln:width := 19
brws:AddColumn(coln)
cblk := {|| " " + aa->namest}
chdr := " Наименование типа станка"
coln := TBColumnNew(chdr,cblk)
coln:width := 35
brws:AddColumn(coln)
cblk := {|| STR( aa->norma,7) }
chdr := " Норма,дней"
coln := TBColumnNew(chdr,cblk)
coln:width := 12
brws:AddColumn(coln)
brws:colsep := CHR(186)
brws:headsep := CHR(205)
brws:colorspec := "w+/b,gr+/rb"
RETURN brws

15) п.п. просмотра файла aa.dbf с обработкой нажимаемых клавиш и вызовом
соответствующих методов или пользовательских функций:
FUNCTION aaEd(brws)
LOCAL ret_fl,sel,otb , w
LOCAL cc,rr,nrc:=0,i
LOCAL ret:=NIL
LOCAL t := brws:nTop , l := brws:nLeft , b := brws:nBottom , r :=
brws:nRight
LOCAL t_ := 5 , l_ := 6 , b_ := 15 , r_ := 74
s_scr()
s_r_s()
SETCOLOR( "N/W" )
CLS
SETCOLOR( "gr+/b,w+/gr")
hlp("AAED")
SELECT aa
SET ORDER TO 2
@ t-2 , l-1 CLEAR TO b+2 , r+1
@ b+1, l TO b+1, r
ret_fl := .F.
DO WHILE .NOT. ret_fl
** оптимизированная с использованием буфера клавиатуры стабилизация
DO WHILE ( NEXTKEY() == 0 ) .AND. ( .NOT. brws:stabilize() )
ENDDO
IF ( NEXTKEY() == 0 ) .AND. ( RECNO() nrc)
nrc := RECNO()
rr := ROW()
cc := COL()
SETCOLOR("bg+/b")
@ t-2 , l+1 SAY " Нормативы профилактики оборудования:"
@ b+2 , l+1 SAY " Тип станка: "
@ b+2 , COL()+1 SAY aa->namest COLOR "w+/b"
SETPOS(rr,cc)
ENDIF
SETCOLOR("gr+/rb")
** ожидаем нажатия клавиши
nkey := Inkey(0)
// если нажата клавиша типового метода - вызовем его
blk := basemet( nKey )
IF blk NIL
EVAL( blk , brws )
ELSE
DO CASE
CASE ( bHotkey := SETKEY( nKey ) ) NIL
EVAL( bHotkey , PROCNAME() , PROCLINE() , READVAR() )
CASE ( nKey = K_F8 )
DELETE
// потрогаем файловый указатель, если
// возвращаетя EOF() - .T. после Down-Up,
// значит файл пуст
SKIP
SKIP -1
IF RECNO() = RECCOUNT()+1
ret_fl := .T. // завершение просмотра
ENDIF
brws:RefreshAll()
nrc := 0
CASE nKey = K_ESC
ret_fl := .T. // завершение просмотра
CASE ( nKey = K_ENTER )
// Редактирование текущего элемента данных
aaGet(brws ;
, " Редактирование файла aa.dbf" )
nrc := 0 // обновить верхнюю строку
CASE nKey == K_F3
APPEND BLANK
brws:RefreshAll()
ENDCASE
ENDIF
ENDDO
SET RELAT TO
s_r_s(.T.)
r_scr()
RETURN ret

16) п.п. выполнения GET в текущей колонке файла aa.dbf:
PROCEDURE aaGet( brws , z0 )
LOCAL r , c , w , w2 , otb
LOCAL retcurs,retexit // форма курсора и режим выхода из READ
LOCAL retins, retcol // режим вставка-замена в READ
LOCAL indch := .F. // флаг изменений значений полей, входящих в
// индекснове выражение (тогда нужно REFRESHALL(),
// а не REFRESHCURRENT() )
LOCAL col
r := ROW()
c := COL()
// Проверка обновления экрана, корректности базы и т.д.
ForceStable(brws)
// Установка клавиш Up-Arrow и Down-Arrow как клавиш выхода из
// команды READ
retexit := READEXIT(.T.)
// Установка клавиши INS для переключения
// режима вставка/замена
// и соответствующего изменения вида курсора
retins := SetKey( K_INS, {|| Repl_Ins()} )
// эквивалентно Set Key K_INS To Procedure
Repl_Ins
// Установка вида курсора по текущему состоянию режима
retcurs := SetCursor( IF(ReadInsert(), SC_NORMAL, SC_INSERT ) )
s_scr()
retcol := SETCOLOR("w+/g")
@ brws:nTop-3,0
@ brws:nTop-3,0 SAY z0
hlp("GET")
SETCOLOR("gr+/n,w+/g")
indch := .F.
DO CASE
CASE brws:colpos = 1
w := aa->idst
@ r,c+2 GET w
READ
IF .NOT.( LASTKEY() = K_ESC ).OR.( aa->idst == w )
REPLACE aa->idst WITH w
indch := .T.
ENDIF
CASE brws:colpos = 2
n := aa->namest
@ r,c+2 GET n
READ
IF .NOT.( LASTKEY() = K_ESC ).OR.( aa->namest == n )
REPLACE aa->namest WITH n
ENDIF
CASE brws:colpos = 3
w := aa->norma
@ r,c+1 GET w
READ
IF .NOT.( ( LASTKEY() = K_ESC ) .OR. ( aa->norma = w ) )
REPLACE aa->norma WITH w
ENDIF
ENDCASE
SETCOLOR(retcol)
r_scr()
SETPOS(r,c)
IF indch
brws:RefreshAll()
ELSE
brws:RefreshCurrent() // Обеспечить перерисовку текущей строки,
ENDIF // поскольку изменялся элемент данных
// Восстановление формы курсора и режима выхода из READ по стрелкам
// и процедуры по клавише K_INS
SetCursor(retcurs)
READEXIT(retexit)
SetKey(K_INS, retIns)
// Проверка требования ухода с текущей записи после GET
nKey := LASTKEY()
IF nKey == K_UP .OR. nKey == K_DOWN .OR. ;
nKey == K_PGUP .OR. nKey == K_PGDN
// управление курсором -- переход к другой записи
KEYBOARD( CHR(nKey) )
ENDIF
RETURN


Примечание: В отчёте не описаны п.п.:
а) для создания TBrowse-объекта для просмотра-редактирования файла
bb.dbf в окне t,l,b,r ;
б) для просмотра файла bb.dbf с обработкой нажимаемых клавиш и вызовом
соответствующих методов или пользовательских функций;
в) для выполнения GET в текущей колонке файла bb.dbf:
Т.к. эти подпрограммы практически аналогичны подпрограммам для файла aa.dbf
!!!
............................................................................
.....................................................


10. Результаты тестового примера:

а) Содержимое выводного файла dd.dbf:

INVNOM FKDN NORMA IDZAPPP IDZAPSP

2 62 20 9
15
231 51 20 10
16
24 74 15 12
18
323 77 25 8
14
4 50 15 11
17
626 58 25 7
13

б) Содержимое файла (print.prn), выводимого на принтер:

Таблица нарушение норм техобслуживания:
----------------------------------------------------------------------------
-------------------------------------
¦ Инв. ¦ Наименование ¦ Дата ¦ Вид предвор. ¦ Дата ¦ вид
след. ¦ Просроч.¦
¦номер ¦ типа станка ¦ ¦ профилактики ¦ ¦
профилактики ¦ дней ¦
¦---------------------------------------------------------------------------
-------------------------------------¦
¦ 24 ¦ Сверлильный ¦01/18/98 ¦ Регулировка ¦04/02/98 ¦ Чистка
¦ 59 ¦
¦ 323 ¦ Строгальный ¦01/28/98 ¦ Регулировка ¦04/15/98 ¦ Чистка
¦ 52 ¦
¦ 2 ¦ Токарный ¦01/29/98 ¦ Регулировка ¦04/01/98 ¦
Чистка ¦ 42 ¦
¦ 4 ¦ Сверлильный ¦01/19/98 ¦ Регулировка ¦03/10/98 ¦ Чистка
¦ 35 ¦
¦ 626 ¦ Строгальный ¦02/01/98 ¦ Регулировка ¦03/31/98 ¦ Чистка
¦ 33 ¦
¦ 231 ¦ Токарный ¦01/28/98 ¦ Регулировка ¦03/20/98 ¦ Чистка
¦ 31 ¦
----------------------------------------------------------------------------
-------------------------------------
Всего просроченно дней - 252




Реферат на тему: Векторная графика

Содержание:



Введение 2

1. Программы векторной графики 4

1.1. Corel Draw 8-9 6
1.2. Adobe Illustrator 6 7
1.3. Micrografx Designer 7 8
1.4. Macromedia FreeHand 7 10
1.5. Corel Xara 1.5 11
1.6. Canvas 5 12
1.7. Fractal Design Expression 14
1.8. Сравнения характеристик программ 15

2. Форматы файлов компьютерной графики 19

3. Основной принцип построения графических объектов 22

4. Применение векторной графики 23

5. Векторная графика в интернете 25

Заключение 28

Список используемых источников информации 30



ВВЕДЕНИЕ


Почти с момента создания ЭВМ появилась и компьютерная графика,
которая сейчас считается неотъемлемой частью мировой технологии. По началу
это была лишь векторная графика – построение изображения с помощью так
называемых «векторов» - функций, которые позволяют вычислить положение
точки на экране или бумаге. Например, функция, графиком которой является
круг, прямая линия или другие более сложные кривые.
Совокупность таких «векторов» и есть векторное изображения.
С развитием компьютерной техники и технологий появилось множество
способов постройки графических объектов. Но для начала, определимся с
термином "графический объект". Это либо само графическое изображение или
его часть. В зависимости от видов компьютерной графики под этим термином
понимаются как и пиксели или спрайты (в растровой графике), так и
векторные объекты, такие как круг, квадрат, линия, кривая и т.д. (в
векторной графике).
Для дальнейшего рассмотрения проблемы постройки объектов с помощью
векторной графики, необходимо уяснить разницу между двумя основными видами
компьютерной графики - растровой и векторной.

Векторная графика
Векторная графика описывает изображения с использованием прямых и
изогнутых линий, называемых векторами, а также параметров, описывающих
цвета и расположение. Например, изображение древесного листа описывается
точками, через которые проходит линия, создавая тем самым контур листа.
Цвет листа задается цветом контура и области внутри этого контура.
При редактировании элементов векторной графики Вы изменяете параметры
прямых и изогнутых линий, описывающих форму этих элементов. Вы можете
переносить элементы, менять их размер, форму и цвет, но это не отразится на
качестве их визуального представления. Векторная графика не зависит от
разрешения, т.е. может быть показана в разнообразных выходных устройствах с
различным разрешением без потери качества.
Векторное представление заключается в описании элементов изображения
математическими кривыми с указанием их цветов и заполняемости (вспомните,
круг и окружность - разные фигуры). Красный эллипс на белом фоне будет
описан всего двумя математическими формулами - прямоугольника и эллипса
соответствующих цветов, размеров и местоположения. Очевидно, такое описание
займет значительно меньше места, чем в первом случае. Еще одно преимущество
- качественное масштабирование в любую сторону. Увеличение или уменьшение
объектов производится увеличением или уменьшением соответствующих
коэффициентов в математических формулах. К сожалению векторный формат
становится невыгодным при передаче изображений с большим количеством
оттенков или мелких деталей (например, фотографий). Ведь каждый мельчайший
блик в этом случае будет представляться не совокупностью одноцветных точек,
а сложнейшей математической формулой или совокупностью графических
примитивов, каждый из которых, является формулой. Это приводит к утяжелению
файла. Кроме того, перевод изображения из растрового в векторный формат
(например, программой Adobe Strime Line или Corel OCR-TRACE) приводит к
наследованию последним невозможности корректного масштабирования в большую
сторону. От увеличения линейных размеров количество деталей или оттенков на
единицу площади больше не становится. Это ограничение накладывается
разрешением вводных устройств (сканеров, цифровых фотокамер и др.).


Растровая графика
Растровая графика описывает изображения с использованием цветных
точек, называемых пикселями, расположенных на сетке. Например, изображение
древесного листа описывается конкретным расположением и цветом каждой точки
сетки, что создает изображение примерно также, как в мозаике.
При редактировании растровой графики Вы редактируете пиксели, а не
линии. Растровая графика зависит от разрешения, поскольку информация,
описывающая изображение, прикреплена к сетке определенного размера. При
редактировании растровой графики, качество ее представления может
измениться. В частности, изменение размеров растровой графики может
привести к "разлохмачиванию" краев изображения, поскольку пиксели будут
перераспределяться на сетке. Вывод растровой графики на устройства с более
низким разрешением, чем разрешение самого изображения, понизит его
качество.
Основой растрового представления графики является пиксель (точка) с
указанием ее цвета. При описании, например, красного эллипса на белом фоне
приходится указывать цвет каждой точки как эллипса, так и фона. Изображение
представляется в виде большого количества точек – чем их больше, тем
визуально качественнее изображение и больше размер файла. Т.е. одна и даже
картинка может быть представлена с лучшим или худшим качеством в
соответствии с количеством точек на единицу длины – разрешением (обычно,
точек на дюйм – dpi или пикселей на дюйм – ppi).
Кроме того, качество характеризуется еще и количеством цветов и
оттенков, которые может принимать каждая точка изображения. Чем большим
количеством оттенков характеризуется изображения, тем большее количество
разрядов требуется для их описания. Красный может быть цветом номер 001, а
может и – 00000001. Таким образом, чем качественнее изображение, тем больше
размер файла.
Растровое представление обычно используют для изображений
фотографического типа с большим количеством деталей или оттенков. К
сожалению, масштабирование таких картинок в любую сторону обычно ухудшает
качество. При уменьшении количества точек теряются мелкие детали и
деформируются надписи (правда, это может быть не так заметно при уменьшении
визуальных размеров самой картинки – т.е. сохранении разрешения).
Добавление пикселей приводит к ухудшению резкости и яркости изображения,
т.к. новым точкам приходится давать оттенки, средние между двумя и более
граничащими цветами. Распространены форматы .tif, .gif, .jpg, .png, .bmp,
.pcx и др.


Таким образом, выбор растрового или векторного формата зависит от
целей и задач работы с изображением. Если нужна фотографическая точность
цветопередачи, то предпочтительнее растр. Логотипы, схемы, элементы
оформления удобнее представлять в векторном формате. Понятно, что и в
растровом и в векторном представлении графика (как и текст) выводятся на
экран монитора или печатное устройство в виде совокупности точек. В
Интернете графика представляется в одном из растровых форматов, понимаемых
броузерами без установки дополнительных модулей – GIF, JPG, PNG.
Без дополнительных плагинов (дополнений) наиболее распространенные
броузеры понимают только растровые форматы – .gif, .jpg и .png (последний
пока мало распространен). На первый взгляд, использование векторных
редакторов становится неактуальным. Однако большинство таких редакторов
обеспечивают экспорт в .gif или .jpg с выбираемым Вами разрешением. А
рисовать начинающим художникам проще именно в векторных средах – если рука
дрогнула и линия пошла не туда, получившийся элемент легко редактируется.
При рисование в растровом режиме Вы рискуете непоправимо испортить фон.
Из-за описанных выше особенностей представления изображения, для
каждого типа приходится использовать отдельный графический редактор –
растровый или векторный. Разумеется, у них есть общие черты – возможность
открывать и сохранять файлы в различных форматах, использование
инструментов с одинаковыми названиями (карандаш, перо и т.д.) или функциями
(выделение, перемещение, масштабирование и т.д.), выбирать нужный цвет или
оттенок... Однако принципы реализации процессов рисования и редактирования
различны и обусловлены природой соответствующего формата. Так, если в
растровых редакторах говорят о выделении объекта, то имеют в виду
совокупность точек в виде области сложной формы. Процесс выделения очень
часто является трудоемкой и кропотливой работой. При перемещении такого
выделения появляется«дырка». В векторном же редакторе объект представляет
совокупность графических примитивов и для его выделения достаточно выбрать
мышкой каждый из них. А если эти примитивы были сгруппированы
соответствующей командой, то достаточно «щелкнуть» один раз в любой из
точек сгруппированного объекта. Перемещение выделенного объекта обнажает
нижележащие элементы.
Тем не менее, существует тенденция к сближению. Большинство
современных векторных редакторов способны использовать растровые картинки в
качестве фона, а то и переводить в векторный формат части изображения
встроенными средствами (трассировка). Причем обычно имеются средства
редактирования загруженного фонового изображения хотя бы на уровне
различных встроенных или устанавливаемых фильтров. 8-я версия Illustrator'a
способна загружать .psd-файлы Photoshop'a и использовать каждый из
полученных слоев. Кроме того, для использования тех же фильтров, может
осуществляться непосредственный перевод сформированного векторного
изображения в растровый формат и дальнейшее использование как
нередактируемого растрового элемента. Причем, все это помимо обычно
имеющихся конвертеров из векторного формата в растровый с получением
соответствующего файла.
Некоторые растровые редакторы способны грузить один из векторных
форматов (обычно .wmf) в качестве фона или сразу переводить их в растр с
возможностью непосредственного редактирования.


1. ПРОГРАММЫ ВЕКТОРНОЙ ГРАФИКИ

В настоящее время создано множество пакетов иллюстративной графики,
которые содержат простые в применении, развитые и мощные инструментальные
средства векторной графики, предназначенной как для подготовки материалов к
печати, так и для создания страниц в интернете.
Для создания графического объекта потребуется программа иллюстративной
векторной графики. Качество и полезность средств векторной графики
определяются главным образом возможностями масштабирования.
Пакеты векторной или иллюстративной графики всегда основывались на
объектно-ориентированном подходе, позволяющем рисовать контуры объектов, а
затем закрашивать их или заполнять узорами. Вы можете очень точно
воспроизводить эти контуры, задавая любой размер, поскольку они формируются
при помощи математической модели из точек и кривых, а не как растровые
изображения - в виде сетки, заполненной прямоугольными пикселями.
К числу новых возможностей, обнаруженных нами в этой категории
изделий, относится многоцветная градиентная закраска. Такие примитивы, как
многоугольники, звезды и спирали, стали обычными атрибутами подобных
пакетов. Связанные цвета позволяют заменить красный цвет розы на желтый,
изменив только базовый цвет; все связанные оттенки изменятся автоматически.
Многослойные интерактивные цветные "диапозитивы" обеспечивают ранее
недостижимую глубину и вы можете преобразовывать векторные изображения в
растровые в рамках векторного графического файла. Если вчерашние пакеты
векторной графики позволяли только помещать растровое изображение в ваш
файл, то с помощью современных программ можно встраивать представленные в
растровой форме изображения, изменять их размеры и даже накладывать
специальные эффекты и маски. Это облегчает процесс получения окончательного
изображения средствами многослойной графики - объединением векторных и
растровых файлов необходимым, для создания логотипов, печатных рекламных
объявлений и картинок для Web.
Из всех новшеств наибольший интерес представляют фирменные внешние
модули (plug-ins) Web, обогащающие Сеть средствами векторной графики и
навигации. Файл векторной графики неизмеримо меньше растрового файла для
такого же изображения и это позволяет увеличивать масштаб фрагментов
изображения до 25 тыс. процентов. Теперь появилась возможность назначать
URL (унифицированный указатель ресурса) любому объекту.
Принципы, лежащие в основе последних пакетов, полностью меняют
представления о векторной графике. CorelXara 1.5 реализует качественно
новый подход к визуализации, располагает потрясающими средствами создания
выходных файлов .GIF и JPEG и феноменально быстрым внешним модулем браузера
для работы с векторной графикой. Пакет Expression 1.0 фирмы Fractal Design
позволяет строить контуры из других сложных векторных графических
изображений, предоставляя в распоряжение пользователя бесконечное
разнообразие визуальных возможностей, недостижимое с помощью других
программ.
В отличие от предназначенного для начинающих пользователей
программного обеспечения настольных издательских систем или программ
редактирования фотоизображений, где, как правило, содержатся наиболее часто
используемые средства редактирования, графические пакеты для новичков
обычно ориентированы на решение конкретных задач, например построение
диаграмм или техническое черчение. Приобрести навыки свободного рисования
кривых Безье трудно даже для профессионала; не менее сложно освоить и
основные принципы машинного черчения, например изображение разрезов и
сечений. Кроме того, многие начинающие пользователи не ощущают различий
между растровой и векторной графикой и могут не знать, в каких случаях
какими пакетами пользоваться. По этим причинам начинающие должны соизмерять
свои задачи с возможностями программы и переходить к полнофункциональному
пакету рисования, только когда будут готовы к этому.
В большинстве случаев для создания простых иллюстраций начинающим
достаточно уметь работать с теми программными средствами, которые,
возможно, у них уже имеются. Комплекты программ Microsoft, Corel и Lotus
содержат инструменты рисования в своих модулях текстового процессора и
презентационной графики, а также библиотеки клипартов. В Microsoft Office
97 предусмотрена новая линейка заданий, содержащая множество вариантов
выбора для создани рисунков, логотипов и текста при работе с разными
приложениями. Кроме того, с помощью функций AutoShape можно создавать
большое число стандартную форм и даже символов для построения диаграмм
(которые могут отбрасывать тени или даже получаться с помощью "экструзии" и
благодаря этому приобретать объемность), а галерея WordArt предоставляет
интересные и цветные стили текста, которыми можно пользоваться для
заголовков или ярлыков.
Для задач технического характера обратитим внимание на такие программы
построения диаграмм, как FlowCharter 7 фирмы Micrografx
(http://www.micrografx.com) или Visio Professional 4.5 фирмы Visio Corp.
(http://www.visio.com). Если же начать работать в области САПР, то
существует несколько вполне доступных по ценам и возможностям пакетов, в
том числе AutoCAD LT фирмы Autodesk (http://www.autodesk.com) или Design
CAD 97 фирмы ViaGrafx (http://www.viagrafx.com).
Чтобы подготовить чертежи для небольших строительных проектов,
например реконструкции этапа дома или модернизации кухни, можно
воспользоваться пакетами Planix и Draftix фирмы SoftDesk
(http://www.softdesk.com), Visual Home фирмы Books That Work (www.btw.com)
или 3D Home Architect, Edition 2 фирмы Broderbund Software
(http://www.broderbund.com/3dhome).
Далее следует обзор наиболее известных редакторов векторной графики.

1.1. Corel Draw 8-9

Пакет CorelDraw всегда производит сильное впечатлени. В комплект фирма
Corel включила множество программ, в том числе Corel Photo-Paint. Новый
пакет располагает бесспорно самым мощным инструментарием среди всех
программ обзора, а при этом по сравнению с предыдущей версией интерфейс
стал проще, а инструментальные средства рисования и редактирования узлов -
более гибкими. Однако что касается новые функций, в частности подготовки
публикаций для Web, то здесь CorelDraw уступает CorelXara.
Работа CorelDraw с цветами CMYK оставляет желать лучшего. Цвета файлов
GIF и JPEG заметно отличались от цветов, выводимых для пробного отпечатка
Matchprint, в то время как пакет FreeHand воспроизводил одинаковые цвета на
экране, в файлах Web и на обоих принтерах.
Без затруднений
С помощью инструментального средства сглаженной экструзии нам без
труда удалось построить трехмерное изображение гитары из двумерного
контура. Мы назначили интерактивные "двухточечные" градиентные диапозитивы
растровым изображениям и простым векторным объектам; для каждой из двух
указанных точек задается степень прозрачности в процентах. Эта технология
была заимствована из CorelXara 1.0, однако CorelDraw не позволяет указывать
более двух значений прозрачности для каждого объекта или группы, в то время
как с помощью CorelXara 1.5 можно задавать в два раза больше значений
прозрачности.
Художественные возможности оформления текста в CorelDraw безупречны, а
принимаемые по умолчанию параметры для межбуквенных интервалов при
размещении текста вдоль кривой не требуют настройки, исключающей наложение
букв, - в отличие от Canvas и FreeHand. Инструмент "лупа" не имеет себе
равных - он позволяет получить множество специальных эффектов, в том числе
возможность увеличения только фрагмента изображения и автоматической
настройки цветов текста в зависимости от цвета фона.
Можно вырезать изображения, накладывать цветные фильтры и придавали
растровым изображениям вид изогнутой страницы, используя двух- и трехмерные
эффе

Новинки рефератов ::

Реферат: Роль народного декоративно-прикладного мистецтва в естетичному розвитку учнiв (WinWord 7.0 На укр. яз) (Педагогика)


Реферат: Грипп (Биология)


Реферат: Создание санатория в форме унитарного предприятия (Предпринимательство)


Реферат: Объединение "Яблоко" (Политология)


Реферат: Жизнь Карла Густава Юнга (Психология)


Реферат: Жизнь и творчество М.Ю. Лермонтова (Литература)


Реферат: Философия Техники (Философия)


Реферат: Демографическая ситуация России (География)


Реферат: Летний сарафан (Технология)


Реферат: Страхование имущества (Страхование)


Реферат: Великий вятский изобретатель Роман Костерин (История)


Реферат: Динамические объекты TurboPacal (Программирование)


Реферат: Государственная Дума 1993-1996 гг. (История)


Реферат: Древняя Япония (Искусство и культура)


Реферат: Политология (Политология)


Реферат: Организация коллективного труда в детском саду (Педагогика)


Реферат: Період гетьманщини України (История)


Реферат: Учет поступления и выбытия основных средств (Бухгалтерский учет)


Реферат: Культура России IX-XVI века (История)


Реферат: Международное частное право (Международное частное право)



Copyright © GeoRUS, Геологические сайты альтруист