Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Использования сервера автоматизации
В предыдущем примере мы рассмотрели встраивание в проект других приложений. Но это не все. Оказывается, можно использовать объекты этих приложений как свои собственные в программах на VB. Такая технология называется технологией клиент/сервер. Наше приложение выступает в роли клиента, который просит приложение-сервер обработать свои данные. Объекты приложений-серверов, используемые в сторонних проектах, получили название серверов автоматизации. Разработаем программу, которая будет проверять грамматические ошибки в нашем тексте, подобно тому, как это делается в MS Word. Создадим новый проект. Разместим в нем текстовое поле с вертикальной полосой прокрутки, установим его свойство MultiLine в True, чтобы текст переносился в поле, также разместим две командные кнопки. Чтобы можно было обратиться к серверам автоматизации, надо установить на них ссылки в нашем проекте. Выберите команду Проект/Ссылки в главном меню среды программирования. В открывшемся окне (а там очень много ссылок!) найдите ссылку на библиотеку объектов Ms Word. Она должна называться Microsoft Word 8.0 Object Library. Установите флажок напротив этой ссылки и нажмите кнопку ОК. Теперь мы можем обращаться к библиотеке объектов текстового редактора Word. Конечно, он должен быть установлен на вашей машине, иначе его библиотеки будут недоступны. Свяжите с событийными процедурами нижеследующий код. Сохраните в вашей папке проект под именем Автоматизация.
1) Option Explicit
2) Dim Ob As Object
3) Private Sub Command1_Click() 4) Text1.Text = "Однажды в студеную зимнию пору" & _ 5) "я ис леса вышил, был сыльный мароз." & _ 6) " Сматрю паднимается медлено в гору лашадка" & _ 7) " визущая хвораста вос. Откуда дровишки -" & _ 8) " из лесу вестимо, отец слышко рубит, а я отвжу." 9) Form1.Enabled = False 10) Set Ob = CreateObject("Word.Application") 11) With Ob 12).Visible = False 13).Documents.Add 14).Selection.Text = Text1.Text 15).ActiveDocument.CheckSpelling 16) Text1.Text = Ob.Selection.Text 17).ActiveDocument.Close SaveChanges:=wdDoNotSaveChanges 18).Quit 19) Set Ob = Nothing 20) End With 21) Form1.Enabled = True 22) Form1.Show 23) MsgBox "Проверка орфографии в Ва-" & Chr(13) + Chr(10) & "шем документе закончена!",, "Проверка" 24) Command2.SetFocus 25) End Sub
26) Private Sub Command2_Click() 27) End 28) End Sub
29) Private Sub Form_Activate() 30) Text1.SetFocus
31) End Sub Мы ввели проверяемый текст с характерными ошибками прямо в программу. Но это не обязательно. Можете переделать программу так, чтобы она проверяла любой текст, который вы будете вводить в окно. Текст загружается в элемент Text при нажатии кнопки, но это можно было сделать (и так даже лучше) в процедуре, связанной с открытием формы. У нас же при активизации формы только устанавливается фокус на элемент Text1. После появления текста форма становится недоступной, так что его нельзя изменить. В программе описана переменная Ob как переменная объектного типа. Такая переменная содержит ссылку на экземпляр объекта и позволяет оперативно работать со всеми его свойствами. В строке 10 создается экземпляр объекта Word и ссылка на него присваивается объектной переменной Ob с помощью ключевого слова Set. Это слово употребляется только вместе с объектными переменными для присвоения им значений. В строках с 11 по 20 с помощью специальной конструкции With…End With целому ряду свойств объекта Ob присваиваются некоторые значения. Эта конструкция позволяет не писать каждый раз имя объекта при работе с его свойствами, а ставить только точку перед именем свойства. В этом куске кода происходит во что: окно Word скрывается, в него добавляется текст из нашего проекта и затем он выделяется, проверяется с помощью средств Word и возвращается обратно в окно нашего проекта. Далее окно документа Word закрывается без сохранения изменений, произошедших во время исправления ошибок и затем закрывается окно самого Word (в этот момент вы кратковременно увидите его на экране). После окончания проверки выполняются остальные строки процедуры. В строке 23 выдается сообщение об окончании проверки и устанавливается фокус на кнопку "Выполнено". Строка 23 специально оформлена так, чтобы показать вам, как можно в окне функции MsgBox переносить текст со строки на строку. В этом примере мы рассмотрели конструкцию With…End With, познакомились с серверами автоматизации, объектной переменной и способом установки ее свойств, научились переносить сообщения со строки на строку в окне функции MsgBox. Мы изучили примеры использования всех инструментов из окна инструментов среды программирования и добавили к ним новые. Поскольку вы уже кое-что знаете о программировании, в следующем разделе приводятся функционально законченные небольшие программы, основанные на уже изученном материале, но без описания. Вы должны из текста программы установить, какие функции выполняет программа, изучить, набрать и отладить приведенный код самостоятельно, спроектировать интерфейс по своему усмотрению для выполнения всех функций программы. Он не обязательно должен быть похож на наш.
|