Visual Basic 6. Руководство разработчика



         

Чтение имен процедур


Метод

AddCode элемента управления Script позволяет добавлять к нему несколько процедур. Иногда ему необходим список имен всех процедур. Свойство Procedures является семейством, содержащим все процедуры, добавленные в элемент управления Script. Оно имеет свойство Count,

которое возвращает количество процедур, и свойство /tern, возвращающее, собственно, процедуру. Приведенный ниже цикл сканирует все процедуры в списке.

For i=1 To ScriptControll.Procedures.Count

{обработка элемента ScriptControll.Procedures (i)}

Next

Каждый элемент в семействе Procedures имеет свойство Name, которое соответствует имени процедуры, и свойство HasReturn Value, которое возвращает значение True, если процедура возвращает результат (т.е. является функцией). Кнопка List Procedures на форме SEdit выводит список имен и типов всех процедур в нижний элемент управления TextBox.

Программа 20.10. Список процедур

Private Sub Coinmand2 Click ()

On Error GoTo CodeError

ScriptControll.AddCode Text1.Text

For i=1 To ScriptControll.Procedures.Count

If ScriptControll.Procedures(i).HasReturnValue Then

Text2.Text = Text2.Text & vbCrLf & "Function " _

& ScriptControll.Procedures(i).Name

Else

Text2.Text = Text2.Text & vbCrLf S "Subroutine " _

& ScriptControll.Procedures(i).Name

End If

Next

Exit Sub

CodeError:

MsgBox Err.Description

End Sub

Обратите внимание, как код различает процедуры и функции с помощью свойства

HasReturn Value.

Совет

Хотелось бы, чтобы существовало какое-нибудь свойство, называемое, например, Code, возвращающее текст процедуры. К сожалению, такого свойства не существует. Нет простого способа получить код отдельной процедуры. Более того, отсутствует метод удаления отдельной процедуры. Необходимо удалить все процедуры методом Reset элемента управления Script, а затем добавить их по одной, исключив ненужную. При этом придется сохранить список процедур в отдельном элементе (например, в TextBox). В проекте SEdit для извлечения отдельной процедуры выполняется просмотр содержимого верхнего элемента управления TextBox.




Содержание  Назад  Вперед