Рефераты. Автоматизированное рабочее место бухгалтера учебного заведения

Delphi имеет удобные средства, позволяющие перенести файл-серверные таблицы БД в таблицы сервера БД, а основные компоненты доступа к данным - Ttable и TQuery одинаково успешно работают как в файл-серверной, так и в клиент-серверной архитектуре, поэтому переход от одной архитектуры к другой не представляется трудным.

Характерной особенностью программ, созданных с помощью Delphi и предназначенных для работы с базами данных, является их зависимость от специальной библиотеки программ, которая называется BDE (Borland Database Engine - машина баз данных корпорации Borland). BDE представляет собой набор библиотек DLL, предназначенных для низкоуровневого доступа к данным самых различных платформ, причем как файл-серверных, так и клиент-серверных. В BDE имеется собственный интерпретатор языка SQL, что позволяет создавать запросы не только к серверам БД, но и таблицам файл-сервера. В разработанной информационной системе дипломного проекта в InterBase создается база данных, входные данные поступают в приложение, которое создается в Delphi. Далее в приложении ведется обработка информации, необходимые расчеты, формируются выходные документы. Технология OLE (Object Linking and Embedding - связывание и внедрение объектов) является стандартным для Windows средством обмена данными между независимыми приложениями. В соответствии с этой технологией одна программа (клиент) может содержать в своем составе данные (объекты), которые созданы (или по ее требованию создаются) другой программой (сервером).Типичным примером могут служить таблицы, созданные и обслуживаемые табличным процессором MS Excel и вставленные в документ, подготовленный текстовым процессором MSWord. Внедренные объекты являются неотъемлемой частью программы-клиента, в то время как связанные объекты хранятся в независимых файлах. Для обработки объектов всегда вызывается программа-сервер.

Для создания OLE-объекта используется стандартная функция CreateOleObject, которая определена в модуле ComObj. OLE-объект называется объектом OLE-автоматизации (OLE Automation Object).

1.2 Описание языка программирования

Первая часть разработанного АРМ бухгалтера реализуется сервером БД - InterBase, вторая - клиентским программным обеспечением, выполненным в визуальной среде программирования Borland Delphi v.7, оно использует язык программирования Object Pascal.

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

Инкапсуляция.

Класс представляет собой единство трех сущностей - полей, методов и свойств. Объединение этих сущностей в единое целое называется инкапсуляцией. Инкапсуляция позволяет во многом изолировать класс от остальных частей программы, сделать его «самодостаточным» для решения конкретной задачи. В результате класс всегда несет в себе некоторую функциональность. Например, класс TForm содержит (инкапсулирует в себе) все необходимое для создания Windows-окна, класс TMemo представляет собой полнофункциональный текстовый редактор, класс TTimer обеспечивает работу программы с таймером и т.д.

Инкапсуляция представляет собой мощное средство обмена готовыми к работе программными заготовками. Библиотека классов Delphi - это, фактически, набор «кирпичиков», созданных программистами Borland для построения приложений.

Наследование.

Любой класс может быть порожден от другого класса. Для этого при его объявлении указывается имя класса-родителя:

TChildClass = class(TParentClass)

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

Все классы Object Pascal порождены от единственного родителя - Tobject. Этот класс не имеет полей и свойств, но включает в себя методы самого общего назначения, обеспечивающие весь жизненный цикл любых объектов - от их создания до уничтожения. Программист не может создать класс, который не был бы дочерним классом Tobject.. Следующие два объявления идентичны:

TaClass = class(Tobject.)

TaClass = class

Принцип наследования приводит к созданию ветвящегося дерева классов, постепенно разрастающегося при перемещении от Tobject. К его потомкам. Каждый потомок дополняет возможности своего родителя новыми и передает их своим потомкам.

Для примера на рисунке показан небольшой фрагмент дерева классов Delphi. Класс TPersistent обогащает возможности своего родителя TObject: он «умеет» сохранять данные в файле и получать их из него, в результате это умеют делать и все его потомки. Класс TComponent, в свою очередь, умеет взаимодействовать со средой разработчика и передает это умение своим потомкам. TControl не только способен работать с файлами и средой разработчика, но он еще умеет создавать и обслуживать видимые на экране изображения, а его потомок TWinControl может создавать Windows-окна. И т.д.

Полиморфизм.

Полиморфизм - это свойство классов решать схожие по смыслу проблемы разными способами. В рамках Object Pascal поведенческие свойства класса определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках класса, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе будут действовать два одноименных метода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов.

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

При объявлении класса-потомка разрешается перемещать элементы класса из одной области видимости в другую.

После перемещения в секцию private элемент объявления становится невидим потомкам (если потомок, как это обычно бывает, объявляется в другом модуле), и, следовательно, его уже нельзя переместить в другую секцию.

Класс может объявляться только в интерфейсной области модуля или в самом начале области реализации. Нельзя определять классы в разделе описаний подпрограмм.

Классами в Object Pascal называются специальные типы, которые содержат поля, методы и свойства. Как и любой другой тип, класс служит лишь образцом для создания конкретных экземпляров реализации, которые называются объектами. Однако существенные усовершенствования, внесенные в объектную модель Object Pascal, заставили разработчиков языка ввести для обозначения объектов специальный термин - класс, заимствованный, кстати, из Си++. Для совместимости с ранее разработанными программами системы Turbo Pascal сохранен тип-объект Object, поддерживающий «старую» объектную модель. Важным отличием классов от других типов является то, что объекты класса всегда распределяются в куче, поэтому объект-переменная фактически представляет собой лишь указатель на динамическую область памяти. Однако, в отличие от других указателей, при ссылке на содержимое объекта запрещается использовать символ «^» за именем объекта:

type

TMyClass = class (TObject)

Field: Integer; …....

end;

var

MyClass: TMyClass;

Begin

…….

MyClass^.Field:=0;

MyClass.Field:=0;

…….

end;

Классы - это особое «изобретение» программистов для упрощения разработки сложных программ и улучшения их качества. В основе классов лежат три фундаментальных принципа, которые называются инкапсуляция, наследование и полиморфизм.

Секции определяют области видимости элементов описания класса. Секция public не накладывает ограничений на область видимости перечисляемых в ней полей, методов и свойств - их можно вызывать в любом другом модуле программы. Секция published также не ограничивает область видимости, однако в ней перечисляются свойства, которые должны быть доступны не только на этапе исполнения, но и на этапе конструирования программы (т. е. в окне Инспектора объектов). Секция published используется только при разработке нестандартных компонентов. Замечу, что среда Delphi помещает описания компонентов, вставленных в форму, в специальную секцию без названия, которая располагается сразу за заголовком класса и продолжается до первой объявленной секции. Эта секция - published. Программисту не следует помещать в нее собственные элементы описания класса или удалять из нее элементы, вставленные средой. Секция private сужает область видимости до минимума: закрытые элементы описания доступны только внутри методов данного класса и подпрограммах, находящихся в том же модуле, где описан класс. Элемент, объявленный в секции private, становится недоступным даже ближайшим потомкам класса, если они размещаются в других модулях. Секция protected доступна только методам самого класса, а также любым его потомкам, независимо от того, находятся ли они в том же модуле или нет. Наконец, секция automated используется только для объявления свойств и методов, которые будут добавлены к так называемому интерфейсу OLE-объектов Автоматизации; область видимости членов этой секции не ограничена.

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

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

a) каждая единица языка программирования Паскаль (константа, пе-ременная, функция или выражение) имеет только один тип. Другими словами, тип переменной определяется множеством значений, которые может принимать данная переменная;

b) явное введение типов позволяет четко установить тип каждой про-граммной единицы, не выполняя самой программы;

c) между каждым типом и некоторым ограниченным подмножеством операторов существует однозначная связь, т.е. для каждого типа определен свой ограниченный набор операций. Конечно, исполь-зуя такие конструкции, как процедуры и функции, набор операций можно расширить;

Страницы: 1, 2, 3, 4, 5, 6, 7, 8



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.