Автоматизированное Рабочее Место Отдела Кадров
трех служебных старт/стоповых битов и восьми битов данных. В начале каждого
пакета передается начальный разделитель АВ (Аlегt Вurst), который состоит
из шести служебных битов. Начальный разделитель выполняет функции преамбулы
пакета.
В Аrcnet определены 5 типов пакетов:
1. Пакет IТТ (Information To Transmit) - приглашение к передаче. Эта
посылка передает управление от одного узла сети другому. Станция,
принявшая этот пакет, получает право на передачу данных.
2. Пакет FBE (Free Buffeг Еnquiries) - запрос о готовности к приему
данных. Этим пакетом проверяется готовность узла к приему данных.
3. Пакет данных. С помощью этой посылки производиться передача данных.
4. Пакет АСК (ACKnowledgments) - подтверждение приема. Подтверждение
готовности к приему данных или подтверждение приема пакета данных
без ошибок, т.е. в ответ на FBE и пакет данных.
5. Пакет NAK ( Negative AcKnowledgments) - неготовность к приему.
Неготовность узла к приему данных ( ответ на FBE ) или принят пакет
с ошибкой.
В сети Arknet можно использовать две топологии: звезда и шина.
15 Локальная сеть Ethernet
Это метод доступа, разработанный фирмой Xerox в 1975 году,
пользуется наибольшей популярностью. Он обеспечивает высокую скорость
передачи данных и надежность. Позднее к этому проекту присоединились
компании Digital Equipment Corporation (DEC) и Intel Corporation. В 1982
году была опубликована спецификация на Ethernet версии 2.0. На базе
Ethernet институтом IEEE был разработан стандарт IEEE 802.3. Различия
между ними незначительные.
Для данного метода доступа используется топология "общая шина".
Поэтому сообщение, отправляемое одной рабочей станцией, принимается
одновременно всеми остальными, подключенными к общей шине. Но сообщение,
предназначенное только для одной станции (оно включает в себя адрес
станции назначения и адрес станции отправителя). Та станция, которой
предназначено сообщение, принимает его, остальные игнорируют.
Метод доступа Ethernet является методом множественного доступа
с прослушиванием несущей и разрешением коллизий (конфликтов)
(CSMA/CD - Carier Sense Multiple Access with Collision Detection).
Перед началом передачи рабочая станция определяет, свободен канал
или занят. Если канал свободен, станция начинает передачу.
Ethernet не исключает возможности одновременной передачи
сообщений двумя или несколькими станциями. Аппаратура
автоматически распознает такие конфликты, называемые коллизиями. После
обнаружения конфликта станции задерживают передачу на некоторое
время. Это время небольшое и для каждой станции свое. После задержки
передача возобновляется.
Реально конфликты приводят к уменьшению быстродействия сети только в
том случае, если работает порядка 80-100 станций.
Основные принципы работы.
На логическом уровне в Ethernet применяется топология шина :
все устройства, подключенные к сети, равноправны, т.е. любая станция может
начать передачу в любой момент времени( если передающая среда свободна);
данные, передаваемые одной станцией, доступны всем станциям сети.
8 Сетевые операционные системы для локальных сетей.
Основное направление развития современных Сетевых Операционных Систем
(Network Operation System - NOS ) - перенос вычислительных операций на
рабочие станции, создание систем с распределенной обработкой данных. Это в
первую очередь связано с ростом вычислительных возможностей персональных
компьютеров и все более активным внедрением мощных многозадачных
операционных систем: OS/2, Windows NТ, Windows 95. Кроме этого внедрение
объектно-ориентированных технологий (ОLЕ, DСЕ, IDAPI) позволяет упростить
организацию распределенной обработки данных. В такой ситуации основной
задачей NOS становится объединение неравноценных операционных систем
рабочих станций и обеспечение транспортного уровня для широкого круга
задач: обработка баз данных, передача сообщений, управление распределенными
ресурсами сети (directoгу/namе service).
В современных NOS применяют три основных подхода к организации
управления ресурсами сети.
Первый - это Таблицы Объектов (Bindery). Используется в сетевых
операционных системах NetWare v3.1х. Такая таблица находится на каждом
файловом сервере сети. Она содержит информацию о пользователях, группах, их
правах доступа к ресурсам сети (данным, сервисным услугам и т.п.). Такая
организация работы удобна, если в сети только один сервер. В этом случае
требуется определить и контролировать только одну информационную базу. При
расширении сети, добавлении новых серверов объем задач по управлению
ресурсами сети резко возрастает. Администратор системы вынужден на каждом
сервере сети определять и контролировать работу пользователей. Абоненты
сети, в свою очередь, должны точно знать, где расположены те или иные
ресурсы сети, а для получения доступа к этим ресурсам - регистрироваться на
выбранном сервере. Конечно, для информационных систем, состоящих из
большого количества серверов, такая организация работы не подходит.
Второй подход используется в LANServer и LANMahager - Структура
Доменов (Domain). Все ресурсы сети и пользователи объединены в группы.
Домен можно рассматривать как аналог таблиц объектов (bindery), только
здесь такая таблица является общей для нескольких серверов, при этом
ресурсы серверов являются общими для всего домена. Поэтому пользователю для
того чтобы получить доступ к сети, достаточно подключиться к домену
(зарегистрироваться), после этого ему становятся доступны все ресурсы
домена, ресурсы всех серверов и устройств, входящих в состав домена. Однако
и с использованием этого подхода также возникают проблемы при построении
информационной системы с большим количеством пользователей, серверов и,
соответственно, доменов. Например, сети для предприятия или большой
разветвленной организации. Здесь эти проблемы уже связаны с организацией
взаимодействия и управления несколькими доменами, хотя по содержанию они
такие же, как и в первом случае.
Третий подход - Служба Наименований Директорий или Каталогов
(Directory Name Services - DNS) лишен этих недостатков. Все ресурсы сети:
сетевая печать, хранение данных, пользователи, серверы и т.п.
рассматриваются как отдельные ветви или директории информационной системы.
Таблицы, определяющие DNS, находятся на каждом сервере. Это, во-первых,
повышает надежность и живучесть системы, а во-вторых, упрощает обращение
пользователя к ресурсам сети. Зарегистрировавшись на одном сервере,
пользователю становятся доступны все ресурсы сети. Управление такой
системой также проще, чем при использовании доменов, так как здесь
существует одна таблица, определяющая все ресурсы сети, в то время как при
доменной организации необходимо определять ресурсы, пользователей, их права
доступа для каждого домена отдельно.
В настоящее время по оценке компании IDC наиболее распространенными
являются следующие сетевые операционные системы:
13. NetWare v2.х и vЗ.х, Nowell Inc. 65%
14. LAN Server, IВМ Согр. 14%
15. LAN Manager, Microsoft Corp. 3%
16. VINES, Ваnуаn Systems Inc. 2%
Рассмотрим более подробно возможности этих и некоторых других сетевых
операционных систем и требования, которые они предъявляют к программному и
аппаратному обеспечению устройств сети.
1 NetWare 3.11, Nowell Inc.
Отличительные черты:
17. самая эффективная файловая система среди современных NOS;
18. самый широкий выбор аппаратного обеспечения
Основные характеристики и требования к аппаратному обеспечению.
Центральный процессор: 38б и выше.
Минимальный объем жесткого диска: 9 МБайт.
Объем ОП (Оперативной Памяти) на сервере: 4 МБайт - 4ГБайт.
Минимальный объем ОП РС (Рабочей Станции) клиента: б40 Кбайт.
Операционная система: собственная разработка Nowell
Протоколы: IРХ/SРХ.
Мультипроцессорность: нет.
Количество пользователей: 250.
Максимальный размер файла: 4ГБайт.
Шифрование данных: нет.
Монитор UPS: есть.
ТТS: есть.
Управление распределенными ресурсами сети: таблицы bindeгу на сервере.
Система отказоустойчивости: дублирование дисков, зеркальное отражение
дисков, SFT II,SFT III, поддержка накопителя на магнитной ленте, резервное
копирование таблиц bindery и данных.
Компрессирование данных: нет.
Фрагментация блоков ( Block suballocations): нет.
Файловая система клиентов: DOS, Windows, Мас(доп.), ОS/2(доп.), UNIX(доп.),
Windows NT.
2 LAN Server, IВМ Согр.
Отличительные черты:
36. использование доменной организации сети упрощает управление и доступ к
ресурсам сети;
37. обеспечивает полное взаимодействие с иерархическими системами
(архитектурой SNА).
Целостная операционная система с широким набором услуг. Работает на
базе ОS/2, поэтому сервер может быть невыделенным (nondedicated).
Обеспечивает взаимодействие с иерархическими системами, поддерживает
межсетевое взаимодействие.
Выпускаются две версии LAN Server: Entry и Advanced. Advanced в
отличие от Entry поддерживает высокопроизводительную файловую систему
(High Perfomance File System - HPFS). Она включает системы
отказоустойчивости (Fail Tolerances) и секретности (Local Security).
Серверы и пользователи объединяются в домены. Серверы в домене
работают как единая логическая система. Все ресурсы домена доступны
пользователю после регистрации в домене. В одной кабельной системе могут
работать несколько доменов. При использовании на рабочей станции OS/2
ресурсы этих станций доступны пользователям других рабочих станций, но
только одному в данное время. Администратор может управлять работой сети
только с рабочей станции, на которой установлена операционная система OS/2.
LAN Server поддерживает удаленную загрузку рабочих станций DOS, OS/2 и
Windows (Remote Interface Procedure Load - RIPL).
К недостаткам можно отнести:
38. сложная процедура установки NOS;
39. ограниченное количество поддерживаемых драйверов сетевых адаптеров.
Основные характеристики и требования к аппаратному обеспечению.
Центральный процессор: 38б и выше.
Минимальный объем жесткого диска: 4.6 МБайт для клиента (requestor)/7.2
МБайт для сервера.
Минимальный объем ОП на сервере: 1.3 МБайт - 16 МБайт.
Минимальный объем ОП РС клиента: 4.2 Мбайт для OS/2, 640 КБайт для DOS.
Операционная система: OS/2 2.х.
Протоколы: NetBIOS, ТСР/IР.
Мультипроцессорность: поддерживается.
Количество пользователей: 1016.
Максимальный размер файла: 2 Гбайт.
Шифрование данных: нет.
Монитор UPS: есть.
ТТS: есть.
Управление распределенными ресурсами сети: домены.
Система отказоустойчивости: дублирование дисков, зеркальное отражение
дисков, поддержка накопителя на магнитной ленте, резервное копирование
таблиц домена.
Компрессирование данных: нет.
Фрагментация блоков (Block suballocation): нет.
Файловая система клиентов: DOS, Windows, Мас (доп.), OS/2, UNIX, Windows NT
(доп.).
3 Windows NT Advanced Server 3.1, Microsoft Corp.
Отличительные черты:
57. простота интерфейса пользователя
58. доступность средств разработки прикладных программ и поддержка
прогрессивных объектно-ориентированных технологий
Всё это привело к тому, что эта операционная система может стать одной
из самых популярных сетевых операционных систем.
Интерфейс напоминает оконный интерфейс Windows 3.1, инсталяция
занимает около 20 минут. Модульное построение системы упрощает внесение
изменений и перенос на другие платформы. Обеспечивается защищенность
подсистем от несанкционированного доступа и от их взаимного влияния (если
зависает один процесс, это не влияет на работу остальных). Есть поддержка
удаленных станций - Remote Access Service (RAS), но не поддерживается
удаленная обработка заданий.
Windows NT предъявляет более высокие требования к производительности
компьютера по сравнению с NetWare.
Основные характеристики и требования к аппаратному обеспечению.
Центральный процессор: 386 и выше, MIPS, R4000, DEC Alpha АХР.
Минимальный объем жесткого диска: 90 Мбайт.
Минимальный объем ОП на сервере: 16 Мбайт.
Минимальный объем ОП РС клиента; 12 Мбайт для NТ/512 КБайт для DOS.
Операционная система: Windows NT.
Протоколы: NetBEUI, ТСР/IР, IРХ/SРХ, АррlеТаlk, АsyncBEUI.
Мультипроцессорность: поддерживается.
Количество пользователей: неограниченно.
Максимальный размер файла: неограничен.
Шифрование данных: уровень С-2.
Монитор UPS: есть.
ТТS: есть.
Управление распределенными ресурсами сети: домены.
Система отказоустойчивости: дублирование дисков, зеркальное отражение
дисков, RAID 5, поддержка накопителя на магнитной ленте, резервное
копирование таблиц домена и данных.
Компрессирование данных: нет.
Фрагментация блоков (Block suballocation): нет.
Файловая система клиентов: DOS, Windows, Мас, ОS/2, UNIX, Windows NT.
4 NetWare 4, Nowell Inc.
Отличительная черта:
76. применение специализированной системы управления ресурсами сети
(NetWare Directory Services - NDS) позволяет строить эффективные
информационные системы с количеством пользователей до 1000. В NDS
определены все ресурсы, услуги и пользователи сети. Эта информация
распределена по всем серверам сети.
Для управления памятью используется только одна область (рооl), поэтому
оперативная память, освободившаяся после выполнения каких-либо процессов,
становится сразу доступной операционной системе (в отличие от NetWare 3).
Новая система управления хранением данных (Data Storage Managment)
состоит из трех компонент, позволяющих повысить эффективность файловой
системы:
1. Фрагментация Блоков или Разбиение Блоков Данных на Подблоки (Block
Suballocation). Если размер блока данных на томе 64 КБайта, а
требуется записать файл размером 65 КБайт, то ранее потребовалось бы
выделить 2 блока по б4 Кбайта. При этом 6З Кбайта во втором блоке не
могут использоваться для хранения других данных. В NetWare 4 система
выделит в такой ситуации один блок размером 64 КБайта и два блока по
512 Байт. Каждый частично используемый блок делится на подблоки по 512
Байт, свободные подблоки доступны системе при записи других файлов.
2. Упаковка Файлов (File Compression). Долго не используемые данные
система автоматически компрессирует, упаковывает, экономя таким
образом место на жестких дисках. При обращении к этим данным
автоматически выполняется декомпрессия данных.
3. Перемещение Данных (Data Migration). Долго не используемые данные
система автоматически копирует на магнитную ленту либо другие
носители, экономя таким образом место на жестких дисках.
Встроенная поддержка Протокола Передачи Серии Пакетов (Packet-Burst
Migration). Этот протокол позволяет передавать несколько пакетов без
ожидания подтверждения о получении каждого пакета. Подтверждение передается
после получения последнего пакета из серии.
При передаче через шлюзы и маршрутизаторы обычно выполняется разбиение
передаваемых данных на сегменты по 512 Байт, что уменьшает: скорость
передачи данных примерно на 20%. Применение в NetWare 4 протокола LIP
(Large Internet Packet) позволяет повысить эффективность обмена данными
между сетями, так как в этом случае разбиение на сегменты по 512 Байт не
требуется.
Все системные сообщения и интерфейс используют специальный модуль. Для
перехода к другому языку достаточно поменять этот модуль или добавить
новый. Возможно одновременное использование нескольких языков: один
пользователь при работе с утилитами использует английский язык, а другой в
это же время немецкий.
9 Среда Delphi как средство разработки ПО баз даных.
Реализация дипломной работы проводится в системе программирования
Delphi 5.0, располагающей широкими возможностями по созданию приложений баз
данных. Уже с более ранних версии система Delphi снабжена необходимым
набором драйверов для доступа к самым известным форматам баз данных,
удобными и развитыми средствами для доступа к информации, расположенной как
на локальном диске, так и на удаленном сервере. В поставку продукта входит
большое количество коллекций визуальных компонент для построения
отображаемых на экране окон, что необходимо для создания удобного
интерфейса между пользователем и исполняемым кодом.
Поскольку использование баз данных является одним из краеугольных
камней, на которых построено существование различных организаций,
пристальное внимание разработчиков приложений баз данных вызывают
инструменты, при помощи которых такие приложения можно было бы создавать.
Выдвигаемые к ним требования в общем виде можно сформулировать как:
"быстрота, простота, эффективность, надежность".
Среди большого разнообразия продуктов для разработки приложений Delphi
занимает одно из ведущих мест. Delphi отдают предпочтение разработчики с
разным стажем, привычками, профессиональными интересами. С помощью Delphi
написано колоссальное количество приложений, десятки фирм и тысячи
программистов-одиночек разрабатывают для Delphi дополнительные
компоненты.[4].
В основе такой общепризнанной популярности лежит тот факт, что Delphi,
как никакая другая система программирования, удовлетворяет изложенным выше
требованиям. Действительно, приложения с помощью Delphi разрабатываются
быстро, причем взаимодействие разработчика с интерактивной средой Delphi не
вызывает внутреннего отторжения, а наоборот, оставляет ощущение комфорта.
Delphi-приложения эффективны, если разработчик соблюдает определенные
правила (и часто - если не соблюдает). Эти приложения надежны и при
эксплуатации обладают предсказуемым поведением.[4, 22].
Пакет Delphi - продолжение линии компиляторов языка Pascal корпорации
Borland. Pascal как язык очень прост, а строгий контроль типов данных
способствует раннему обнаружению ошибок и позволяет быстро создавать
надежные и эффективные программы. Корпорация Borland постоянно обогащала
язык. Когда-то в версию 4.0 были включены средства раздельной трансляции,
позже, начиная с версии 5.5, появились объекты, а в состав шестой версии
пакета вошла полноценная библиотека классов Turbo Vision, реализующая
оконную систему в текстовом режиме работы видеоадаптера. Это был один из
первых продуктов, содержавших интегрированную среду разработки программ.
В классе инструментальных средств для начинающих программистов
продуктам компании Borland пришлось конкурировать со средой Visual Basic
корпорации Microsoft, где вопросы интеграции и удобства работы были решены
лучше. Когда в начале 70-х годов Н. Вирт опубликовал сообщение о Pascal,
это был компактный, с небольшим количеством основных понятий и
зарезервированных слов язык программирования, нацеленный на обучение
студентов. Язык, на котором предстоит работать пользователю Delphi,
отличается от исходного не только наличием множества новых понятий и
конструкций, но и идейно: в нем вместо минимизации числа понятий и
использования самых простых конструкций (что, безусловно, хорошо для
обучения, но не всегда оправдано в практической работе), предпочтение
отдается удобству работы профессионального пользователя. Как язык Turbo
Pascal естественно сравнивать с его ближайшими конкурентами -
многочисленными вариациями на тему языка Basic (в первую очередь с Visual
Basic корпорации Microsoft) и с C++.[4, 6]. Turbo Pascal существенно
превосходит Basic за счет полноценного объектного подхода, включающего в
себя развитые механизмы инкапсуляции, наследование и полиморфизм. Последняя
версия языка, применяемая в Delphi, по своим возможностям приближается к
C++. Из основных механизмов, присущих C++, отсутствует только множественное
наследование. (Впрочем, этим красивым и мощным механизмом порождения новых
классов пользуется лишь небольшая часть программистов, пишущих на С++.)
Плюсы применения языка Pascal очевидны: с одной стороны, в отличие от
Visual Basic, основанного на интерпретации промежуточного кода, для него
имеется компилятор, генерирующий машинный код, что позволяет получать
значительно более быстрые программы. С другой - в отличие от C++ синтаксис
языка Pascal способствует построению очень быстрых компиляторов. [6].
Среда программирования представляет собой несколько отдельных окон:
меню и инструментальные панели, Object Inspector (в котором можно видеть
свойства объекта и связанные с ним события), окна визуального построителя
интерфейсов (Visual User Interface Builder), Object Browser (позволяющее
изучать иерархию классов и просматривать списки их полей, методов и
свойств), окна управления проектом (Project Manager) и редактора.
Delphi содержит полноценный текстовый редактор типа Brief, назначения
клавиш в котором соответствуют принятым в Windows стандартам, а глубина
иерархии операций Undo неограниченна. Как это стало уже обязательным,
реализовано цветовое выделение различных лексических элементов программы.
Процесс построения приложения достаточно прост. Нужно выбрать форму (в
понятие формы входят обычные, диалоговые, родительские и дочерние окна
MDI), задать ее свойства и включить в нее необходимые компоненты (видимые
и, если понадобится, неотображаемые): меню, инструментальные панели, строку
состояния и т. п., задать их свойства и далее написать (с помощью редактора
исходного кода) обработчики событий. Object Browser Окна типа Object
Browser стали неотъемлемой частью систем программирования на объектно-
ориентированных языках. Работа с ними становится возможной сразу после
того, как вы скомпилировали приложение.
Projeсt Manager - это отдельное окно, где перечисляются модули и
формы, составляющие проект. При каждом модуле указывается маршрут к
каталогу, в котором находится исходный текст. Жирным шрифтом выделяются
измененные, но еще не сохраненные части проекта. В верхней части окна
имеется набор кнопок: добавить, удалить, показать исходный текст, показать
форму, задать опции и синхронизировать содержимое окна с текстом файла
проекта, т. е. с головной программой на языке Pascal.
Опции, включая режимы компиляции, задаются для всего проекта в целом.
В этом отношении традиционные make-файлы, используемые в компиляторах языка
C, значительно более гибки.
Visual Component Library (VCL) Богатство палитры объектов для
построения пользовательского интерфейса - один из ключевых факторов при
выборе инструмента визуального программирования. При этом для пользователя
имеет значение как число элементов, включенных непосредственно в среду, так
и доступность элементов соответствующего формата на рынке. [4, 22].
1 Высокопроизводительный компилятор в машинный код
Компиляторы языка Pascal компании Borland никогда не заставляли
пользователя подолгу ждать результатов компиляции. Производители
утверждают, что на сегодня данный компилятор - самый быстрый в мире.
Компилятор, встроенный в Delphi позволяет обрабатывать до 390 тыс. строк
исходного текста в минуту на машине Pentium-100. Он предлагает легкость
разработки и быстрое время проверки готового программного блока,
характерного для языков четвертого поколения (4GL) и в то же время
обеспечивает качество кода, характерного для компилятора 3GL.
В смысле проектирования Delphi мало чем отличается от проектирования в
интерпретирующей среде, однако после выполнения компиляции мы получаем код,
который исполняется в 10-20 раз быстрее, чем тоже самое, сделанное при
помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi
компиляция производится непосредственно в родной машинный код, в то время
как существуют компиляторы, превращающие программу в так называемый p-код,
который затем интерпретируется виртуальной p-машиной. Это не может не
сказаться на фактическом быстродействии готового приложения.
Следует отметить также, что благодаря опции оптимизации сегментов
удается существенно сократить размер выполняемого файла. Можно запустить
компилятор в режиме проверки синтаксиса. При этом наиболее длительная
операция компоновки и изготовления исполняемого файла выполняться не будет.
Вероятно, то обстоятельство, что Delphi позиционируется как средство
создания приложений, взаимодействующих с базами данных, и ориентировано
преимущественно на рынок инструментальных средств клиент/сервер, где до
настоящего момента доминируют интерпретируемые языки, позволило его авторам
не задумываться над созданием оптимизирующего компилятора, способного
использовать все достоинства архитектур современных процессоров. [22].
2 Мощный объектно-ориентированный язык
Совместимость с программами, созданными ранее средствами Borland
Pascal, сохраняется, несмотря на то, что в язык внесены существенные
изменения. Необходимость в некоторых усовершенствованиях давно ощущалась.
Самое заметное из них - аппарат исключительных ситуаций, подобный тому, что
имеется в C++, был первым реализован в компиляторах корпорации Borland. Не
секрет, что при написании объектно-ориентированных программ, активно
работающих с динамической памятью и другими ресурсами, немалую трудность
представляет аккуратное освобождение этих ресурсов в случае возникновения
нештатных ситуаций. Особенно это актуально для среды Windows, где число
видов ресурсов довольно велико, а неправильная работа с ними может быстро
привести к зависанию всей системы. Предусмотренный в Delphi аппарат
исключений максимально упрощает кодирование обработки нештатных ситуаций и
освобождения ресурсов.
Объектно-ориентированный подход в новой версии языка получил
значительное развитие. Перечислим основные новшества.
введено понятие класса.
реализованы методы классов, аналогичные статическим методам C++. Они
оперируют не экземпляром класса, а самим классом.
механизм инкапсуляции во многом усовершенствован. Введены защищенные
поля и методы, которые, подобно приватным, не видны извне, но отличаются от
них тем, что доступны из методов класса- наследника.
введена обработка исключительных ситуаций. В Delphi это устроено в
стиле С++. Исключения представлены в виде объектов, содержащих
специфическую информацию о соответствующей ошибке (тип и место- нахождение
ошибки). Разработчик может оставить обработку ошибки, существовавшую по
умолчанию, или написать свой собственный обработчик. Обработка исключений
реализована в виде exception-handling blocks (также еще называется
protected blocks), которые устанавливаются ключевыми словами try и end.
Существуют два типа таких блоков: try...except и try...finally.
появилось несколько удобных синтаксических конструкций, в числе
которых преобразование типа объекта с контролем корректности (в случае
неудачи инициируется исключение) и проверка объекта на принадлежность
классу.
Ссылки на классы придают дополнительный уровень гибкости, так, когда
вы хотите динамически создавать объекты, чьи типы могут быть известны
только во время выполнения кода. К примеру, ссылки на классы используются
при формировании пользователем документа из разного типа объектов, где
пользователь набирает нужные объекты из меню или палитры. Собственно, эта
технология использовалась и при построении Delphi.
введено средство, известное как механизм делегирования. Под
делегированием понимается то, что некий объект может предоставить другому
объекту отвечать на некоторые события. Он используется в Delphi для
упрощения программирования событийно-ориентированных частей программ, т. е.
пользовательского интерфейса и всевозможных процедур, запускаемых в ответ
на манипуляции с базой данных.
После того как Borland внесла перечисленные изменения, получился
мощный объектно-ориентированный язык, сопоставимый по своим возможностям с
C++. Платой за новые функции стало значительное повышение требований к
профессиональной подготовке программиста.
Язык программирования Delphi базируется на Borland Object Pascal.
Кроме того, Delphi поддерживает такие низкоуровневые особенности, как
подклассы элементов управления Windows, перекрытие цикла обработки
сообщений Windows, использование встроенного ассемблера.[22].
3 Объектно-ориентированная модель программных компонент
Основной упор этой модели в Delphi делается на максимальном повторном
использовании кода. Это позволяет разработчикам строить приложения весьма
быстро из заранее подготовленных объектов, а также дает им возможность
создавать свои собственные объекты для среды Delphi. Никаких ограничений по
типам объектов, которые могут создавать разработчики, не существует.
Действительно, все в Delphi написано на нем же, поэтому разработчики имеют
доступ к тем же объектам и инструментам, которые использовались для
создания среды разработки. В результате нет никакой разницы между
объектами, поставляемыми Borland или третьими фирмами, и объектами, которые
можно создать самостоятельно.
В стандартную поставку Delphi входят основные объекты, которые
образуют удачно подобранную иерархию из 270 базовых классов. На Delphi
можно одинаково хорошо писать как приложения к корпоративным базам данных,
так и, к примеру, игровые программы. Во многом это объясняется тем, что
традиционно в среде Windows было достаточно сложно реализовывать
пользовательский интерфейс. Событийная модель в Windows всегда была сложна
для понимания и отладки. Но именно разработка интерфейса в Delphi является
самой простой задачей для программиста.
Благодаря такой возможности приложения, изготовленные при помощи
Delphi, работают надежно и устойчиво. Delphi поддерживает использование уже
существующих объектов, включая DLL, написанные на С и С++, OLE сервера,
VBX, объекты, созданные при помощи Delphi. Из готовых компонент работающие
приложения собираются очень быстро. Кроме того, поскольку Delphi имеет
полностью объектную ориентацию, разработчики могут создавать свои повторно
используемые объекты для того, чтобы уменьшить затараты на разработку.
Delphi предлагает разработчикам - как в составе команды, так и
индивидуальным - открытую архитектуру, позволяющую добавлять компоненты,
где бы они ни были изготовлены, и оперировать этими вновь введенными
компонентами в визуальном построителе. Разработчики могут добавлять CASE-
инструменты, кодовые генераторы, а также авторские help’ы, доступные через
меню Delphi. [22].
4 Библиотека визуальных компонент
Компоненты, используемые при разработке в Delphi, встроены в среду
разработки приложений и представляют из себя набор типов объектов,
используемых в качестве фундамента при строительстве приложения.
Этот костяк называется Visual Component Library (VCL). В VCL есть
такие стандартные элементы управления, как строки редактирования,
статические элементы управления, строки редактирования со списками, списки
объектов. Еще имеются такие компоненты, которые ранее были доступны только
в библиотеках третьих фирм: табличные элементы управления, закладки,
многостраничные записные книжки. Все объекты разбиты на страницы по своей
функциональности и представленны в палитре компонент.
VCL содержит специальный объект, предоставлющий интерфейс графических
устройств Windows, и позволяющий разработчикам рисовать, не заботясь об
обычных для программирования в среде Windows деталях.
Ключевой особенностью Delphi является возможность не только
использовать визуальные компоненты для строительства приложений, но и
создание новых компонент. Такая возможность позволяет разработчикам не
переходить в другую среду разработки, а наоборот, встраивать новые
инструменты в существующую среду. Кроме того, можно улучшить или полностью
заменить существующие по умолчанию в Delphi компоненты.
Здесь следует отметить, что обычных ограничений, присущих средам
визуальной разработки, в Delphi нет. Сам Delphi написан при помощи Delphi,
что говорит об отсутствии таких ограничений.
Классы объектов построены в виде иерархии, состоящей из абстрактных,
промежуточных, и готовых компонент. Разработчик может пользоваться готовыми
компонентами, создавать собственные на основе абстрактных или
промежуточных, а также создавать собственные объекты. Рассмотрим некоторые
из них.
TMainMenu позволяет поместить главное меню в программу. При помещении
TMainMenu на форму это выглядит, как просто иконка. Иконки данного типа
называют невизуальным компонентом, поскольку они невидимы во время
выполнения программы.
TPopupMenu позволяет создавать всплывающие меню. Этот тип меню появляется
по щелчку правой кнопки мыши на объекте, к которому привязано данное меню.
У всех видимых объектов имеется свойство PopupMenu, где и указывается
нужное меню. Создается PopupMenu аналогично главному меню.
TLabel служит для отображения текста на экране. Можно изменить шрифт и цвет
метки, если дважды щелкнуть на свойство Font в Инспекторе Объектов. Это
легко сделать и во время выполнения программы, написав всего одну строчку
кода.
TEdit - стандартный управляющий элемент Windows для ввода. Он может быть
использован для отображения короткого фрагмента текста и позволяет
пользователю вводить текст во время выполнения программы.
TMemo - иная форма TEdit. Подразумевает работу с большими текстами. TMemo
может переносить слова, сохранять в ClipBoard фрагменты текста и
восстанавливать их, и другие основные функции редактора. TMemo имеет
ограничения на объем текста в 32Кб, это составляет 10-20 страниц (есть
подобные компоненты, где этот предел снят).
TButton позволяет выполнить какие-либо действия при нажатии кнопки во время
выполнения программы. В Delphi все делается очень просто. Поместив TButton
на форму, по двойному щелчку можно создать заготовку обработчика события
нажатия кнопки.
TCheckBox отображает строку текста с маленьким окошком рядом. В окошке
можно поставить отметку, которая означает, что что-то выбрано.
TRadioButton позволяет выбрать только одну опцию из нескольких.
TListBox нужен для показа прокручиваемого списка. Классический пример
ListBox’а в среде Windows - выбор файла из списка в пункте меню File | Open
многих приложений. Названия файлов или директорий и находятся в ListBox’е.
TComboBox во многом напоминает ListBox, за исключением того, что позволяет
водить информацию в маленьком поле ввода сверху ListBox. Есть несколько
типов ComboBox, но наиболее популярен спадающий вниз (drop-down combo box),
который можно видеть внизу окна диалога выбора файла.
Страницы: 1, 2, 3, 4, 5, 6
|