48250 (Программирование для Word из Delphi), страница 2

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

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

Документ из архива "Программирование для Word из Delphi", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.

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

Текст 2 страницы из документа "48250"

3. Вывести информацию в созданный документ.

4. Разрушить структуры, связанные с экземпляром сервера автоматизации в программе, а также ссылки на элементы его объектной иерархии.

    1. Запуск сервера

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

    1. Взаимодействие с сервером на уровне документа

Для создания нового документа следует добавить элемент в семейство Documents объекта «Word.Application» с помощью функции Add, которая вернет ссылку на созданный документ:

Add(Template: String, NewTemplate: Boolean): Document;

Строковый параметр Template определяет, на основе какого шаблона должен быть создан новый документ, а параметр NewTemplate указывает на то, что создаваемый документ сам должен являться шаблоном. Если метод вызывается без параметров, то новый документ создается на основе шаблона Normal (обычный) и является обычным документом.

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

Закрыть документ после окончания вывода информации в него можно с помощью метода close.

2.4 Непосредственный вывод информации

Вывод информации в Microsoft Word аналогичен работе пользователя в редакторе и некоторым образом эмулирует ее. Так, с помощью объекта Selection, отражающего текущее выделение в документе, поддерживаются команды ввода текста и настройки его параметров. Если явного выделения не присутствует, то объект Selection отражает местонахождение текстового курсора. Заметим, что объект Selection принадлежит объекту «Word.Application», а не объекту Document. Для вывода информации в объект Selection используется его метод TypeText. Для ввода символа перевода строки можно воспользоваться методом TypeParagraph объекта Selection. При последовательном выводе информации изменение автоматически установленного выделения обычно не требуется, однако, если возникнет такая необходимость, можно установить параметры выделения с помощью методов Move, MoveRight (сместить выделение вправо) и MoveLeft (сместить выделение влево):

Move(Unit: Integer, Count: Integer);

MoveRight(Unit: Integer, -Count: Integer, Extend: Boolean = False);

MoveLeft(Unit: Integer, Count: Integer, Extend: Boolean = False);

Методы сдвигают выделение на заданное параметром Count количество единиц. Значение параметра может быть положительным, либо отрицательным. В случае метода Move знак параметра Count определяет направление смещения выделения. Отрицательное значение параметра указывает на смещение влево, а положительное – вправо. Методы MoveRight и MoveLeft изначально настроены на смещение выделения в заданную сторону (вправо и влево соответственно), поэтому отрицательное значение параметра Count в их вызове просто меняет направление смещения выделения. При использовании методов Move, MoveLeft и MoveRight, выделение, если оно существовало до их вызова, снимается. Этого можно избежать в функциях MoveLeft и MoveRight, если в качестве значения необязательного параметра Extend задать значение True (по умолчанию устанавливается False).

Параметр Unit определяет единицу смещения выделения. Некоторые его значения, указаны в таблице 1.

Таблица 1. – Некоторые значения параметра Unit.

Значение

Единица смещения выделения

1

Один символ

2

Одно слово

3

Одно предложение

4

Один абзац

5

Одна строка

9

Один столбец таблицы, если выделение находится в таблице

10

Одна строка таблицы, если выделение находится в таблице

12

Одна ячейка таблицы, если выделение находится в таблице

И, наконец, чтобы просто сбросить выделение, не изменяя его начального положения, можно воспользоваться методом Collapse объекта Selection.

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 с.: ил.

  1. http://www.demo.ru

  2. 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.

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