Вход


Главная страница >> Учебный процесс >> Конспекты >> MS Office. Руководство программиста по Visual Basic для MS Office 97 >> Опимизация кода >> Основные принципы оптимизации кода >> Mинимизация числа ссылок на OLE-объекты >> Вынос обращений к методам и свойствам за пределы цикла

Переход на главную страницу

Сервер поддерживается
кафедрой информатики и вычислительной техники ГрГУ
тел. +375-(0)152-445-101
E-mail :
kadan@grsu.grodno.by


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

  


Вынос обращений к методам и свойствам за пределы цикла


Значения переменных считываются быстрее, чем значения свойств. Поэтому, если внутри цикла нужно значение какого-то свойства, следует присвоить это значение переменной до входа в цикл, а в самом цикле использовать уже переменную, а не свойство. Следующий цикл работает медленно, так как значение свойства Value считывается на каждой итерации:

For iLoop = 2 То 200
═════Cells(iLoop, 1).Value = Cell(1. 1).Value
Next

Но присвоим значение Cell(1, l).Value переменной cv до входа в цикл, и тогда в теле цикла останется обращение лишь к одному свойству (а не к двум).?

cv = Cells(1, 1).Value
For iLoop = 2 To 200
═════Cells(iLoop, 1).Value = cv
Next

Если Вы используете в цикле аксессоры (свойства или методы, обеспечивающие доступ к какому-то объекту), постарайтесь вынести их за пределы цикла. Вот пример, где на каждой итерации цикла вызываются свойства Active-Workbook, Sheets и Cells:

For с=1 To 1000
═════ActiveWorkbook.Sheets(1).Cells(c, 1) = c
Next

Перестроив этот фрагмент кода под оператор With, можно вынести вызов свойств ActiveWorkbook и Sheets за пределы цикла. (То же самое реализуется и с помощью объектной переменной.)

With ActiveWorkbook. Sheets(1)
═════For с=1 To 1000
══════════.Cells(c, 1) = с
═════Next
End With



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

  



Текст пособия подготовлен на основе материалов книги
Microsoft Corporation. Руководство программиста по Visual Basic для Microsoft Office 97 / Пер. с англ. - М.: Издательский отдел "Русская Редакция" ТОО "Channel Trading Ltd.", 1997. - 544 с.: илл.
c Оригинальное издание на английском языке,
Microsoft Corporation, 1997
c Русский перевод,
Microsoft Corporation, 1997

  
За содержание страницы отвечает Гончарова М.Н.
©
Кафедра СПиКБ, 2002-2017