Обзор остальных возможностей
Программирование для Интернет: создание собственного броузера; загрузка и передача файлов и документов; прием и отправка электронной почты, кодирование файлов; работа с группой новостей; обмен текстовыми сообщениями и двоичными файлами; передача данных по протоколу 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;
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|