Обзор остальных возможностей

Программирование для Интернет: создание собственного броузе­ра; загрузка и передача файлов и документов; прием и отправка элек­трон­ной почты, кодирование файлов; работа с группой новостей; об­мен тек­сто­выми сообщениями и двоичными файлами; передача данных по протоко­лу UDP; создание собственных протоколов и серверов Интер­нет; создание рас­пределенных многопользовательских приложений для Интернет и локальных сетей TCP/IP; создание Web‑приложения доступа к базе данных; использование активных форм в Интернете [4].

Работа с панелью управления Windows: создание заготовки ап­плета, регистрация и отладка библиотеки CPL [2; 7].

Управление работой офисных приложений: офисные программы как серверы автоматизации COM; загрузка и применение [2; 7].

Установка и развертывание приложений: работа с системным реестром; настройка версий приложения; локализация приложений [2; 7].

Поддержка работы группы разработчиков больших приложений: система TeamSource [2; 7].

Формирование отчетов, диаграмм и анализа данных пакетом Crystal Reports

Пакет Crystal Report (версии 10) является самым мощным сов­ре­менным автономным средством формирования выходных доку­мен­тов: отчетов, диаграмм и оперативного анализа дан­ных (OLAP‑тех­но­ло­гии). Достоинствами пакета являются его широкие воз­мож­ности, ви­зуаль­ность, универсальность (возможность выбирать инфор­мацию из баз дан­ных с различными СУБД), простота подключения (через ActiveX‑элемен­ты командой Componet/Import ActiveX Control) и использования. Выходные доку­мен­ты наиболее часто подвержены изменениям, это приводит к необходимости корректировать тексты приложений и заново их создавать, что весьма трудоемко. Если выходные документы подготовить автономно средствами этого пакета и включить вызов процедур формирования доку­мен­тов в меню приложения, то документы можно корректировать автоном­но, не изменяя приложения.

Работа с Excel

Приведем примеры работы с Excel:

Пример создания новой книги и записи в нее данных.

// на форме размещаются объекты: Button (Button1) и Edit (Edit1)

uses ComObj, ActiveX;

procedure TForm1.Button1Click(Sender: TObject);

var xlap,xl:variant;

begin

if SaveDialog1.Execute then // открыть окно диалога

begin

xlap:= CreateOLEObject('Excel.Application'); // создать OLE-объект

xlap.workbooks.add; // создать новую книгу

xlap.visible := true;

xl:=xlap.Workbooks[1].Sheets[1]; //первая страница первой книги

xl.Cells[1,1].Value:=edit1.text; // записать в ячейку текст из Edit1

// сохранить книгу под заданным в диалоге названием

xlap.ActiveWorkbook.SaveAs(SaveDialog1.FileName);

xlap.quit; // выход из Excel

end;

end;

Пример создания новой таблице в Excel 2000:

uses ComObj, ActiveX;

var Row, Col: integer; DestRange: OleVariant; Excel: Variant;

begin

Excel := CreateOleObject('Excel.Application.9'); //создать OLE-объект

Excel.Visible := True;

Excel.WorkBooks.Add; //создать новую таблицу

//Поместить слово тест в диапазон ячеек

Excel.ActiveSheet.Range['A2', 'B3'].Value := 'Тест';

//Или число

Excel.ActiveSheet.Range['A4', 'B5'].Value := 42;

//А вот так задаётся формула

Excel.ActiveSheet.Range['A10', 'A11'].Formula := '=RAND()';

//Можно задавать номера ячеек и столбцов

Excel.ActiveSheet.Cells.Item[1, 1].Value := 'Первая ячейка';

Row:=1; Col:=3;

Excel.ActiveSheet.Cells.Item[Row, Col].Value := 'Другая ячейка';

//Можно скопировать данные из одного диапазона ячеек в другой

DestRange := Excel.Range['D6', 'F10'];

Excel.Range['A1', 'C5'].Copy(DestRange);

//Можно задавать параметры шрифта в определенной ячейке

Excel.Range['A2', 'A2'].Font.Size := 20;

Excel.Range['A2', 'A2'].Font.FontStyle := 'Bold';

Excel.Range['A2', 'A2'].Font.Color := clFuchsia;

Excel.Range['A2', 'A2'].Font.Name := 'Arial';

//Можно еще и так изменить цвет диапазона ячеек

Excel.Range['B2', 'C6'].Interior.Color := RGB(223, 123, 123);

end;

Пример открытия и закрытия таблицы:

uses ComObj, ActiveX;

var Excel: Variant; WBk : OleVariant; SaveChanges: OleVariant;

begin

Excel := CreateOleObject('Excel.Application.9');

Excel.Visible := True;

//Открыть существующую книгу

WBk := Excel.WorkBooks.Open('C:\Test.xls');

...

//Закрыть книгу с сохранением

WBk.Close(SaveChanges := True);

Excel.Quit;

end;

Работа с Word

Поместите на форму компонент WordApplication и задайте свойство ConnectKind. Оно может принимать значения: ckRunningOrNew (подключение к уже запущенному серверу Word), ckNewInstance (приложение обязательно запустит для своих целей собственный экземпляр сервера), ckRunningInstance (приложение подключается только к работающему экземпляру сервера), ckRemote (соединение с сервером на удаленном компьютере).

За соединение с сервером Word отвечает метод Connect. Тип соединения задается свойством ConnectKind.

Пример соединения с выполняющимся сервером Word (тип соединения установим в ckRunningInstance):

try WordApplication1.Connect;

except application.messagebox('приложение будет закрыто', 'ошибка!', 0);

application.Terminate;

end;

Для отсоединения используется метод Disconnect.

Рассмотрим основные свойства сервера.

AutoConnect, AutoQuit - позволяют производить соединение (True) с Word и отсоединение от него автоматически соответственно. Однако постоянно держать соединение с Word обычно не требуется.

Visible=True - MS Word во время нашей работы с ним будет видим. Обычно работа с документами производится в невидимом режиме, а потом показывают на экране уже готовый результат. Но на этапе отладки удобнее видеть своими глазами, что делает программа.

Version - версия MS Word установленного на машине.

Documents - позволяет открыть документ или создать новый, обеспечивает доступ к уже открытым документам.

Пример открытия документа (предварительно описываем переменную FileName типа OleVariant и присваиваем ей имя файла):

WordApplication1.Connect;

WordApplication1.Documents.Open(FileName,

EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam, EmptyParam,

EmptyParam, EmptyParam);

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

Пример создания нового документа:

WordApplication1.Connect;

WordApplication1.Documents.Add(EmptyParam, EmptyParam, EmptyParam, EmptyParam);

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

При наличии нескольких открытых документов можем переключаться между ними, но не прямо, а через «активное» окно Word.

Пример:

var vid: OleVariant;

begin vid := 2;

WordApplication1.Windows.Item(vid).Activate;

WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

При этом переменная vid может принимать значения от 1 до WordApplication1.Documents.Count. Далее можем работать с указанным документом. Нумерация документов происходит в порядке их открытия.

Можно отключить проверку правописания и грамматики:

WordApplication1.Options.CheckSpellingAsYouType := False;

WordApplication1.Options.CheckGrammarAsYouType := False;

Чтобы выгрузить Word, вызываем метод Quit.

Компонент WordDocument предназначен для работы с документами. Для соединения документов служит метод ConnectTo. Если открыт только один документ, то соединяемся с «активным» документом.

Для сохранения документа используем метод Save [(<новое имя>)]

Пример: filename := 'd:\test.doc'; WordDocument1.Save(filename);

Если нужно записать документ не только под другим именем, но и в другом формате, используем Save с двумя параметрами:

WordDocument1.SaveAs(FileName, FileFormat).

Переменная FileFormat типа OleVariant может принимать значения: wdFormatDocument (документ Word), wdFormatDOSText (простой текст), wdFormatRTF (файл RTF). Полный список форматов можно найти в заголовочном файле, введя в строку поиска «Format».

Можно для сохранения использовать и метод Close.

Пример:

var vschange: OleVariant;

begin vschange := wdSaveChanges; //режим сохранения

WordDocument1.Close(vschange);

Константа сохранения изменений может принимать значения: wdSaveChanges (сохранить изменения), wdDoNotSaveChanges (без сохранения), wdPromptToSaveChanges (при выходе стандартный диалог сохранения изменений).

Метод Close можем вызвать и без параметров. Но если в документ вносились какие-то изменения, будет выдан стандартный запрос на их сохранение.

Часто перед работой с Word возникает необходимость проверить, нет ли на машине открытых документов, сохранить их и закрыть во избежание порчи:

Var i, doccount: Integer;

begin doccount := WordApplication1.Documents.Count;

for i := 1 to doccount do

begin WordDocument1.ConnectTo(WordApplication1.ActiveDocument);

WordDocument1.Save; WordDocument1.Close;

end;








Дата добавления: 2016-03-22; просмотров: 627;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.018 сек.