Главная страница

Разработка интегрированных прикладных программ (Меньшикова К. Г.). Разработка интегрированных прикладных программ (Меньшикова К. Г.. Методическое пособие по курсу Проектирование программного обеспечения автоматизированных систем для студентов, обучающихся по направлению Прикладная математика и информатика


Скачать 313.5 Kb.
НазваниеМетодическое пособие по курсу Проектирование программного обеспечения автоматизированных систем для студентов, обучающихся по направлению Прикладная математика и информатика
АнкорРазработка интегрированных прикладных программ (Меньшикова К. Г.).doc
Дата19.03.2019
Размер313.5 Kb.
Формат файлаdoc
Имя файлаРазработка интегрированных прикладных программ (Меньшикова К. Г..doc
ТипМетодическое пособие
#26104
КатегорияИнформатика. Вычислительная техника
страница8 из 9
1   2   3   4   5   6   7   8   9

3.4.Работа с серверами из Delphi (позднее связывание)


При создании контроллеров позднего связывания на Delphi следует обратить особое внимание на различия в синтаксисе обращений к членам коллекций объектов Excel и Word: в случае MS Word используется метод Item, в Excel члены коллекции рассматриваются как элементы массивов. В предыдущем параграфе было показано, что в С++Builder различие офисных серверов сказалось на использовании различных функций.

При работе с MS Excel доступ к объектам можно организовать так:

AppE:=CreateOleObject('Excel.Application');
WorkBs:=AppE.Workbooks;
WorkSh:=AppE.Workbooks[1].WorkSheets[2];
WorkSh:=AppE.ActiveWorkBook.WorkSheets[2];

Методы серверных объектов можно вызывать обычным образом:

WorkBs.Add; AppE.Quit;
AppE.Workbooks[2].Activate; AppE.WorkBooks[2].Close;
AppE.ActiveWorkBook.Close(True,'D:\Work1.xls');

Последний пример хорошо иллюстрирует еще одно преимущество позднего связывания. Метод Close на самом деле имеет несколько параметров, но поскольку компилятор в данном случае не проверяет правильность обращений контроллера, то можно закрыть рабочую книгу, используя параметры по умолчанию.

Задание свойств объектов не отличается от случая обычных компонентов AppE.Visible:=true; Worksh.Name:='Результаты';

К ячейкам таблицы можно обращаться как к элементам двумерного массива, а группу ячеек задает свойство Range:

Worksh.Cells[1,2].Value:=25;
Worksh.Cells[1,2].Font.Name:='Arial';
AppE.WorkBooks[1].WorkSheets[3].Range['B2:C4'].Value:='5';

В случае контроллера MS Word доступ к объектам выглядит несколько иначе:

WordDs:=AppW.Documents; WordD:=WordDs.Item(1);
WordPar:=WordD.Paragraphs.Item(3);

Перед вызовом методов объекта коллекции также приходится предварительно обращаться к методу Item:

AppW.Documents.Item(2).Activate;

Работа с текстом может осуществляться так:

// вставка текста после указанного абзаца
Rng:= AppW.ActiveDocument.Paragraphs.Item(1).Range;
Rng.InsertAfter(‘Новый текст’);
Rng.Copy; // копирование фрагмента текста
AppW.Documents.Item(1).Paragraphs.Item(2).Range.Paste;
// вставка текста после символов:
WordD.Range(6,8).InsertAfter('Текст 2');

4.Элементы управления ActiveX

4.1.Создание ActiveX на основе компонентов VCL


Для демонстрации создадим управляющий элемент на основе компонента TMonthCalendar:

  • открыть окно галереи объектов и создать пустую библиотеку, выбрав значок ActiveX Library на странице ActiveX. Сохранить проект (например, MC_Project.dpr);

  • добавить в созданную библиотеку элемент управления, выбрав значок ActiveX Control и заполнить поля диалогового окна ActiveX Control Wizard: VCL Class Name (выбрать TMonthCalendar), New ActiveX Name (предложено MonthCalendarX), Implementation Unit;

  • сохранить, скомпилировать проект и зарегистрировать ActiveX в реестре.

Для регистрации используется команда Run | Register ActiveX Server, и будет получено сообщение: Successfully registred ActiveX Server, ‘D:\ActiveX\Delphi – ActiveX\ MC_Project.ocx’. В папке проекта можно видеть, что кроме самого элемента ActiveX (файл MC_Progect.ocx), создана его библиотека типов (файл MC_Project.tlb).

4.2.Тестирование ActiveX


Лучшим средством для тестирования элементов управления являются инструментарии фирмы Microsoft, так как спецификация элементов управления создавалась, в первую очередь, в расчете на эти средства разработки. К тому же проверять работоспособность созданного элемента лучше в среде, отличной от среды его создания. Для созданного нами элемента можно использовать Visual Basic, Visual C++, а проще всего Visual Basic for Applications (Microsoft Word или Excel).

Тестирование с использованием VBA


  • Запустить Microsoft Excel (Word), создать и сохранить документ, войти в редактор VBA.

  • В окне проекта (Project) выделить имя документа и выбрать меню команду Insert | User Form.

  • В контекстном меню панели элементов (toolbox) выбрать команду Additional Controls и в открывшемся списке всех зарегистрированных управляющих элементов выбрать MonthCalendarX Control.

  • Поместить элемент управления на форму и в окне Properties изменить его свойства (при необходимости или для проверки).

  • В документе создать кнопку Button1 и в связанную с ней процедуру CommandButton1_Click добавить строку UserForm1.Show, проверить ее работу.
1   2   3   4   5   6   7   8   9


написать администратору сайта