Добавление в документ Word нужной строки текста.
Поместим на форму компоненты WordDocument, WordApplication и WordParagraphFormat с палитры Servers. Свойство Range представляет собой текст; это может быть как весь текст документа, так и любая его часть. Его пределы задаются двумя (или меньше) параметрами типа OleVariant. Примеры: var range1, range2, range3, a, b: OleVariant; begin range1:= WordDocument1.Range; //весь текст документа a:= 5;b:= 15; range2:= WordDocument1.Range(a, b); //5-15 символы range3:=WordDocument1.Range(a); // с пятого символа до конца документа range2.InsertAfter('MS Word') // вставка текста после выделенного WordDocument1.Range(a,b).Text; // вставка текста перед выделенным WordDocument1.Range(a,b).Font.Bold:=1; //жирность шрифта WordDocument1.Range(a,b).Font.Size:=14; //размер шрифта WordDocument1.Range(a,b).Font.Color:=clRed; //цвет шрифта WordDocument1.Range(a,b).Select; // выделить строку WordDocument1.Range(a,b).Cut; //вырезать строку в буфер WordDocument1.Range(a,b).Copy; //копировать строку в буфер WordDocument1.Range(a,b).Paste; //вставить из буфера строку или рисунок Свойство Range позволяет найти в документе нужную строку. Пример. Найти слово «picture» и на его место вставить рисунок. var a, b, vstart, vend: OleVariant; j, ilengy: Integer; begin ilengy:= Length(WordDocument1.Range.Text); for j:= 0 to ilengy - 8 do begin a:= j; b:= j + 7; if WordDocument1.Range(a, b).Text = 'picture' then begin vstart:= j; vend:= j + 7; end; end; WordDocument1.Range(vstart, vend).Select; end; Свойство Selection представляет собой выделенный фрагмент документа. Если выделения нет, то это - текущая позиция курсора. Пример: WordApplication1.Selection.InsertAfter("text1"); //вставить до выделенного WordApplication1.Selection.InsertBefore("text2");//вставить после выделен. WordApplication1.Selection.Font.Bold:=1; //жирность шрифта WordApplication1.Selection.Font.Size:=16; //размер шрифта WordApplication1.Selection.Font.Color:=clGreen; //цвет шрифта Убрать выделение цветом можно методом Collapse ({ wdCollapseEnd | wdCollapseStart}) Пример: var vcol: OleVariant; begin vcol:= wdCollapseStart; //курсор перед выделенным текстом WordApplication1.Selection.Collapse(vcol); Основные отличия новых версий Delphi
Приведем основные отличия новых версий Delphi. Пункт 5.6 подготовлен Е. Виноградовой. Версия Delphi 6 · Наличие нового окна «Обозреватель дерева объектов (Object Tree View)», которое позволяет просматривать иерархию объектов. Данное нововведение позволяет осуществлять быстрый переход от одного объекта формы к другому. Это удобно в том случае, если, например, компонент имеет небольшой размер. · Введен редактор кода, поддерживающий просмотр кода и других элементов приложения с помощью закладок многостраничного блокнота. · Введена панель инструментов Internet, которая облегчает разработку приложений для Web-серверов. · Введена новая страница WebSnap, компоненты которой также служат для создания приложений Web-серверов. · Обеспечивается поддержка программирования с использованием документов XML. · Введены новые компоненты, позволяющие использовать XML при разработке приложений баз данных. · Большинство функций по управлению сервером InterBase переданы программе IBConsole, которая используется вместо программы InterBase Windows Interactive SQL (рис. 5.3.1). Рис. 5.3.1. Окно IBConsole
· Введен новый механизм доступа к данным - dbexpress, обеспечивающий быстрый доступ к серверам баз данных SQL. · В палитру компонентов добавлена новая страница InterBase Admin, компоненты которой служат для доступа к базе данных InterBase.
· Добавлен ряд новых компонентов с целью упрощения работы с клиентскими наборами данных. · Компоненты, осуществляющие доступ к данным с помощью Borland Database Engine, перенесены на страницу BDE палитры. В результате стал более удобным доступ к компонентам для работы с базами данных BDE. · Обновлены компоненты InterBase Express, включая расширенную поддержку событий и поддержку генераторов Interbase, автоматически устанавливающих значения полей. · Добавлены новые компоненты на странице Additional, предназначенные для синхронизации управляющих элементов, а также новые компоненты TLabeleEdit, TvalueListEditor, TcomboBoxEx, TcolorBox, предназначенные для управления элементами интерфейса.
· Улучшены и введены новые свойства ряда элементов управления. · Отсортированы системные цвета, что облегчает их поиск; к стандартным шестнадцати цветам добавлены еще четыре. · Ряд функций перемещен в модуль System, и в то же время много функций из этого модуля перемещены в новый модуль Variants. · Добавлена коллекция функций для работы с датой и временем в модуле DateUtils. · Введены новые константы и функции в модуле Math. · Разрешено определять пользовательские типы данных Variant. · Введена новая библиотека CLX (межплатформенный вариант библиотеки VCL), позволяющая разрабатывать приложения, функционирующие под управлением Windows и Linux. Версия Delphi 7 · Улучшенная поддержка создания кроссплатформенных приложений. · Введение поддержки использования технологии CASE и языка UML. · Язык Object Pascal переименован в Delphi, полностью идентичный по синтаксису и семантике. · Введена инструментальная поддержка CASE-технологий - Model Maker. · Изменены технологии создания приложений для сети Интернет. С помощью набора компонентов IntraWeb можно разрабатывать приложения, которые не будут требовать обязательного посредничества Web-сервера между созданными приложениями и браузером пользователя (только для режима Stand Alone Application). Введена поддержка промышленного сервера Apache 2. · Устранены любые отличия в версиях языка Delphi для самого Delphi и Kylix 3, что значительно упрощает процесс создания кроссплатформенных приложений. Эта попытка унификации VCL и CLX привела к тому, что в стандартную версию Delphi 7 не были включены наборы компонентов Quick Report и FastNet. Эти наборы были заменены компонентами Rave Reports и Indy, хотя для полной совместимости Borland оставила возможность внедрения Quick Report в среду разработки путем подключения специальной библиотеки, которая поставляется вместе с Delphi (только для версии Delphi 7). Версия Delphi 2005 · Среда разработки теперь имеет интерфейс MDI; модифицировалось также окно «что нового» - теперь это полноценная приветственная страничка. · Перевести интерфейс в традиционный SDI вид можно следующим образом: Tools/Options/Environment Options/Delphi Options/VCL Designer/ Options/Embedded designer.
· Палитра компонентов теперь размещена внизу справа, при переключении между формой и редактором кода палитра автоматически меняется. · В Project Manager теперь встроены закладки Model View и Data Explorer. · Можно вырезать кусок кода и автоматически оформить его как метод или процедуру. · Можно объявлять переменные или поля класса на ходу (напишите в любом месте кода имя переменной, затем выбрать команду Refactoring/Declare variable из контекстного меню). · Возможность поиска локальных и глобальных ссылок на объект, поиск объявления объекта. · Автокомментирование строки клавишами «Ctrl+/». · Можно свернуть любой блок кода секции Unit, описания класса, текста процедур, функций и т.д. · Изменена справочная система. Теперь она имеет интерфейс, схожий с интерфейсом справочной системы Windows XP. · У компилятора Delphi появилась возможность использовать Inline‑кода. Теперь, если процедура или функция имеют директиву Inline, это заставит компилятор попытаться вставить в место, где эта процедура используется, не вызов, а код тела процедуры. · Для компилятора Delphi for.Net добавлена возможность включения потенциально небезопасного кода в приложения.Net. · Появилась возможность использовать в именах типов и переменных символы Unicode. · Изменилась работа с точками останова. Появилась возможность, не удаляя саму точку, отключить ее, пометив Disable. · В среду интегрирован новый Data Explorer, который содержит как средства просмотра БД, так и ряд инструментов для редактирования.
Глава 6. C++ Builder С++Builder ‑ это Delphi, в котором Delphi (Паскаль) заменен на C++ [6]. Язык С [3] был разработан в 1972 г. сотрудником фирмы AT&T Bell Laboratories Деннисом Ритчи в рамках проекта создания операционной системы Unix. В настоящее время он является универсальным языком программирования общесистемных программных средств (операционных и сетевых систем, СУБД, текстовых, табличных и графических редакторов и др.) и прикладных задач. Современной версией языка С является C++ (автор - Б. Страуструп) [6]. Язык С является подмножеством C++.
Допускается создание консольного приложения (командой File/ New/Console Wizard). Это приложение выполняется под управлением DOS и позволяет использовать функции непосредственного ввода (scanf) и вывода (printf) данных на консоль, не используя визуальные средства. Это позволяет в десятки раз уменьшить размер исполняемого Exe-файла и использовать в С++ Builder программы, написанные ранее на языке С или C++, которые выполнялись под DOS. Для консольного приложения обычно требуются директивы: #include <stdio.h> // подключение модуля стандартного ввод-вывода #include <conio.h> // подключение модуля ввод-вывода на консоль #include <stdlib.h> // стандартная библиотека общего назначения #include <fstream.h>// стандартная библиотека ввода-вывода потоков в С++ Большинство приведенных в этой главе примеров оформлены в виде консольных приложений. Их можно легко изменить и перевести в обычные приложения (например, оформить в виде функции обработки события Click нажатия кнопки Button), заменив вывод функцией printf на вывод в метку Label или в массив строк объекта Memo (Memo1->Lines->Add(str)), функцию ввода scanf ‑ на ввод из полей Edit и удалить функцию задержки работы программы getch. Внимание! В консольных приложениях используется кодировка символов, принятая в DOS. Это не позволяет выводить без дополнительной перекодировки текст, набранный при создании консольного приложения в С++ Builder. Для быстрого освоения и перехода из Delphi в C++ Builder и обратно приведем основные общие черты и различия между ними. Основные общие черты C++ Builder и Delphi · Единая библиотека визуальных компонентов (VCL) с одинаковым набором и обозначениями компонентов, их свойств, методов и событий. · Практически одинаковая технология и единая визуальная среда быстрой разработки приложений. · много одинаковых функций (например, преобразования данных). Основные отличия C++ Builder от Delphi · Используются различные языки C++ и Delphi соответственно. · Прописные и строчные буквы в С++ различаются, что требует от пользователя соблюдения регистров при написании идентификаторов. · Для функций без параметром указываются круглые скобки. · Свойствам Caption и Text можно присваивать текстовые, числовые и датные значения, а не обязательно только текстовые, как в Delphi. · Операторы присваивания и сравнения на равенство записываются в виде одного и двух знаков равенства, соответственно, вместо «:=«и «=«. · Символьные константы заключаются в кавычки (fam=«Иванов»). · Директивы компиляции задаются в виде #pragma <значение>. · Для ссылки на объект, созданный из компонента VCL используется не точка, а косвенная ссылка в виде стрелочки из двух символов («->«) или прямая ссылка в виде (* <имя объекта> ).
Пример: Button1->Caption=«Выход» или (*Button1).Caption=«Выход» · Для включения в приложение модуля требуется выполнение команды File/Include Unit.... · Условные выражения в командах if, while, switch заключаются в круглые скобки и логические операции имеют меньший приоритет, чем операции сравнения. · Оператор присоединения With отсутствует. · Можно использовать библиотеку фундаментальных классов MFC. · Используя ключевое слово as, в Delphi можно написать: procedure TForm1.Button1Click(Sender: TObject); begin with Sender as TButton do Caption:='Выход'; end. · Слова as нет в C++ Builder, но есть оператор динамического преобразования типа dynamic_cast, который не связан с исключениями. Используя его, можно записать последний пример в C++ Builder в виде: void __fastcall TForm1::Button1Click(TObject *Sender) // знак:: см. в п. 6.6.1 { TButton* Button=dynamic_cast <TButton*> (Sender); if (Button) Button1->Caption=«Выход»; }
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|