2.5 Форматирование текстовой информации

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

Таблица 2. – Основные свойства объекта Font.

Название свойства

Тип

Описание

Name String Название шрифта
Size Integer Размер шрифта
Bold Boolean Наличие атрибута «Полужирный»
Italic Boolean Наличие атрибута «Наклонный»
StrikeThrough Boolean Наличие атрибута «Перечеркнутый»
Subscript Boolean Символы в режиме «Нижний индекс»
Superscript Boolean Символы в режиме «Верхний индекс»
SmallCaps Boolean Все символы строчные
AllCaps Boolean Все символы заглавные

Документ, с точки зрения текстовой информации, состоит из набора (семейства) абзацев, представленных объектами Paragraph, доступ к каждому из которых возможен через функцию item объекта-семейства Paragraphs. Форматирование параграфа, редактирование которого производится в данный момент, осуществляется через свойство ParagraphFormat объекта Selection, а для объектов типа Paragraph возможности форматирования доступны напрямую. Доступные для изменения настройки абзаца включают выравнивание, наличие буквицы (первой буквы абзаца специального начертания), отступы первой строки от границы абзаца и отступы самой границы абзаца от краев страницы, название стиля абзаца, и множество других параметров, используемых в Word. Мы рассмотрим две часто используемых настройки абзаца – отступы абзаца и его выравнивание.

Отступы абзаца задаются свойствами Leftindent (отступ слева), Rightlndent (отступ справа) и FirstLinelndent (отступ первой строки от левой границы абзаца) объекта ParagraphFormat. Значения отступов задаются вещественными числами в условных единицах, которые можно получить из сантиметров или дюймов с помощью методов объекта «Word.Application» CentimetersToPoints и InchesToPoints.

Выравнивание редактируемого (текущего) абзаца выполняется с помощью свойства Alignment объекта ParagraphFormat. Выравнивание всех абзацев документа можно выполнить через одноименное свойство объекта-семейства Paragraphs. В качестве значений, определяющих выравнивание, могут использоваться: 0 (выравнивание по левому краю), 1 (выравнивание по центру), 2 (выравнивание по правому краю) и 3 (выравнивание по ширине).

Для установки одинакового выравнивания для всех абзацев можно воспользоваться объектом-семейством Paragraph.

2.6 Использование закладок

 

Microsoft Word поддерживает возможность работы с закладками – неотображаемыми атрибутами документа, управление которыми (добавление, удаление и переход на закладку) осуществляется с помощью диалога пункта главного меню Вставка→Закладка. Приложение, которое является OLE-клиентом, может обратиться к семейству Bookmarks закладок для доступа к каждой из них, или к объекту Selection для перехода (перемещения выделения) на закладку, заданную именем.

Для перехода на закладку следует использовать метод Goto объекта Selection.

Selection. GoTo (What: Integer; Name: String);

Параметр What указывает тип элемента, на который следует переместиться. Параметр Name задает название закладки, указанное при ее добавлении в документ.

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

2.7 Управление приложением Microsoft Word

Приложение Microsoft Word, которое является сервером автоматизации, может присутствовать на экране в момент обращения к нему клиента, а может быть, скрыто. Видимость приложения определяется логическим свойством Visible. Управление видимостью приложения может быть необходимо, чтобы пользователь не смог помешать процессу экспорта информации. Приложения Office устроены таким образом, что им все рано, кто вводит информацию – стороннее приложение через сервер автоматизации или пользователь с помощью интерфейса. Таким образом, если Delphi-приложение осуществляет длительный экспорт информации, используя метод TypeText объекта Selection, пользователь имеет возможность переключиться в окно Word и, например, изменить положение текстового курсора. В результате таких действий изменится состояние объекта Selection, и информация будет выведена не по порядку, а из того места, которое указал пользователь. Для того, чтобы запретить пользователю изменять выделение во время процесса экспорта информации, можно скрыть окно приложения с экрана на это время.

Еще одна интересная особенность использования сервера автоматизации Microsoft Word вытекает из принадлежности объекта Selection к объекту «Word.Application», а не к объекту Document, с которым работает программа. Если ссылка на сервер автоматизации не создана в программе функцией CreateOleObject, а получена из функции GetActiveOleObject, то переключение пользователем в другое окно приложения Word, используемого программой, также приведет к изменению смысла свойства Selection. После переключения в другой документ данное свойство будет определять выделение в этом документе, что является недопустимым, так как в него будет осуществляться вывод информации. Для избежание таких проблем не следует использовать сервера автоматизации, полученные функцией GetActiveOleObject, если вывод информации может занять длительное время. Заметим, что даже вывод нескольких строк может дать пользователю возможность переключения между приложениями, поэтому более правильно создавать новый сервер автоматизации при использовании методов объекта «Word.Application» вообще.


Заключение

В операционной системе Windows приложения существуют не изолированно; пользователи, как правило, желают, чтобы они взаимодействовали. Буфер обмена Windows предлагает простой способ взаимодействия между приложениями, поскольку с его помощью пользователи могут копировать и вставлять данные. Однако все больше и больше программ предлагают интерфейс автоматизации, позволяющий управлять ими из других программ. Помимо очевидного преимущества программируемой автоматизации по сравнению с ручными операциями пользователя, эти интерфейсы полностью нейтральны по отношению к языку программирования, используемому для их написания. Технология COM и OLE позволяют разработчикам в полной мере использовать все средства уже созданных программ. Используя их, разработчики расширяют функциональность своих приложений, прикладывая к этому минимум усилий и времени. К тому эти технологии предоставляют возможность экспортировать данные в общепринятые и распространенные форматы, что в конечном итоге делает созданное приложение более удобным и полезным.

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


Список использованных источников

 

1.         Сухарев М.В. Основы Delphi. Профессиональный подход. – СПб.: Наука и Техника, 2004. – 600 с.: ил.

2.         Кэнту М. Delphi 7: Для профессионалов. – СПб.: Питер, 2004. – 1101 с.: ил.

3.         Фленов М.Е. Библия Delphi. – СПб.: БХВ-Петербург, 2004. – 880 с.: ил.

4.         Фленов М.Е. Программирование в Delphi глазами хакера. – СПб.: БХВ-Петербург, 2004. – 368 с.: ил.

5.         Тейксейра С., Пачеко К. Delphi 5, Руководство разработчика. в 2 т. – СПб.: Питер, 2005.

6.         Стивенс Р. Delphi. Готовые алгоритмы / Пер. с англ. – М.: ДМК Пресс, 2001. – 384.: ил.

7.         Стивенс Р. Delphi. Готовые алгоритмы / Пер. с англ. Мерещука П. А. - 2-е

изд., стер. - М.: ДМК Пресс ; СПб.: Питер, 2004. - 384 с.: ил.

8.         http://www.demo.ru

9.         Borland Delphi 2005. Электронный самоучитель. ООО «ИДДК», 2005.


Приложение 1

Создать приложение создающее документ Word и записывающее в него 100 строк цифр от 100 до 200.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Comobj, StdCtrls, Buttons;

type

TForm1 = class(TForm)

BitBtn1: TBitBtn;

 

procedure BitBtn1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation


{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);

var

WordDoc: variant;

x: integer;

y: string;

begin

WordDoc := CreateOLEObject('Word.Application');

WordDoc.Visible := true;

WordDoc.Documents.Add;

x := 100;

while x<201 do

begin

y := IntToStr(x);

WordDoc.Selection.TypeText(y);

WordDoc.Selection.TypeParagraph;

x:= x+1;

end;

WordDoc := Unassigned;

end;

end.


Информация о работе «Программирование для Word из Delphi»
Раздел: Информатика, программирование
Количество знаков с пробелами: 25316
Количество таблиц: 2
Количество изображений: 1

Похожие работы

Скачать
10410
0
0

... . В Delphi многие действия требуют гораздо меньше времени и выполняются более интуитивно. Безусловно, что для быстрого создания приложений необходим иной взгляд на программирование вообще. Для этого основой Delphi стал объектно-ориентированный Pascal (который так и называется Object Pascal и сильно отличается от стандарта языка). Теперь программист не пишет стандартный код, а оперирует с более ...

Скачать
117942
2
4

... обращений к реестру были проконтролированы при помощи Registry Monitor от Sysinternals Corp. 4.4 Описание программы Автоматизированная система для оценки уровня знаний студентов с применением технологии «Клиент-сервер» предназначена для проведения централизованных итоговых занятий по разным дисциплинам в виде интерактивного тестирования. Данный проект поддерживает совместимость с пакетом ...

Скачать
110612
10
19

... набор процедур и функций языков программирования Basic и Pascal, позволяют управлять графическим режимом работы экрана, создавать разнооборазные графические изображения и выводить на экран текстовые надписи. ГЛАВА 2. ГРАФИЧЕСКИЕ ВОЗМОЖНОСТИ ЯЗЫКА ПРОГРАММИРОВАНИЯ В КУРСЕ ИНФОРМАТИКИ БАЗОВОЙ ШКОЛЫ (НА ПРИМЕРЕ BASIC И PASCAL)   2.1 Разработка мультимедиа курса «Графические возможности языков ...

Скачать
36295
1
7

... 166, 16 Mb RAM, Windows 95 Вывод   В ходе разработки курсового проекта я ближе ознакомился с теорией МП- трансляторов, научился писать программы - конструкторы для построения МП – транслятора по его параметрам с последующей проверкой задаваемых цепочек, закрепил знания по системному программированию. Разрабатывая программу, я научился применять знания дискретной математике, что облегчает ...

0 комментариев


Наверх