Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Фокселл Дж.Д. -> "Освой самостоятельно Visual Basic.NET за 24 часа" -> 128

Освой самостоятельно Visual Basic.NET за 24 часа - Фокселл Дж.Д.

Фокселл Дж.Д. Освой самостоятельно Visual Basic.NET за 24 часа — М.: Вильямс, 2002. — 416 c.
ISBN 5-8459-0304-1
Скачать (прямая ссылка): osvoysamostoyatelnovsn2002.pdf
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 181 >> Следующая

выполнения цикла. Как вы уже видели, при отсутствии этого оператора в
задании цикла, переменная счетчика всегда увеличивается на единицу. Если
вам именно это и нужно, не задавайте выражение Step. Однако если вы
хотите задать шаг приращения больший чем единица, то должны использовать
step.
Вот пример использования в цикле For.,.Next выражения step:
Dim lngCounter As Long
For lngCounter=l To 100 Step 4
Debug.WriteLine(lngCounter)
Next lngCounter
Этот фрагмент работает подобно предыдущему, за исключением того, что
после каждого выполнение цикла счетчик увеличивается не на единицу, а на
4. Этот цикл будет выполнен не 100, а 25 раз. Для задания цикла, в
котором значение счетчика не увеличивается, а уменьшается, задайте
отрицательное значение шага step, как показано ниже:
Dim lngCounter As Long For lngCounter=100 To 1 Step -1
Debug.WriteLine(lngCounter)
Next lngCounter
В данном примере начальным значением счетчика является 100, и переменная
lngCounter после каждого выполнения цикла уменьшается на единицу, пока не
достигнет величины 1 (конечное значение).
Таким образом, мы заранее знаем начальное и конечное значения счетчика в
цикле For...Next уже в момент его инициализации (без этих значений вы не
можете создать такой цикл). Если же требуется завершить выполнение цикла
раньше, чем будет
Час 15. Создание циклов
289
достигнуто конечное значение, можно использовать оператор Exit For, что и
показано в следующем примере:
Dim lngCounter As Long For lngCounter=l To 100
If lngCounter=75 Then Exit For Debug.WriteLine(lngCounter)
Next lngCounter
Когда Visual Basic обнаруживает оператор Exit For, выполнение немедленно
передается оператору, следующему за оператором Next данного цикла. При
этом выполнение цикла прерывается. В данном примере 74 будет последним
числом, выведенным на печать, так как выполнение цикла прервется, когда
счетчик станет равным 75.
Построение примера цикла For.,.Next
Сейчас мы создадим процедуру, содержащую два вложенных цикла For...Next.
Счетчик первого цикла принимает значения от 1 до 100, присваивая эти
значения свойству Width элемента Label. При этом будет происходить
постепенное движение индикатора процесса выполнения. Для замедления
движения этого индикатора будет использован второй пустой цикл (старый
программистский трюк, использующий цикл For-.Uex t).
Итак, создайте новый проект приложения с именем ForNextExdmple.
Установите имя главной формы в rclsForMextExairipls. установите свойство
Text формы в For...Next Example. Добавьте в форму элемент Label, дважды
щелкнув на соответствующей пиктограмме на панели инструментов. Установите
значения свойств этого элемента согласно таблице:
Свойство Значение
Name lblMeter
BackColor Установите в светло-синий или любой другой цвет по вашему
выбору
Location 100,100
T ext Оставьте пустым
size 100,17
После этого добавьте элемент кнопки в форму, дважды щелкнув на
соответствующей пиктограмме панели инструментов. Установите значения
свойств кнопки согласно с таблицей:
Свойство Значение
Name BtnForNext
Location 88,125
Text Run a For-Next Loop
Size 125,23
После этого ваша форма будет выглядеть подобно рис. 15.1,
Все, что теперь осталось сделать, - это написать текст программы. Дважды
щелкните по элементу кнопки, чтобы получить доступ к процедуре обработки
ее события Click, и введите следующий текст:
Dim intLabel'Widch at Integer Dim lngPauseCounter as Long For
intLabelWidth=l To 100
290
Часть III. Начинаем программировать!
LblMeter U -Width=intl.abeIWidth LblMeterO . Refresh ()
For =1 To 600000
Next IngPauseCounter Next intLabelWidth
I ih4"-mH Hompk '•Bcrmoft Visual Busk .'if I {design) • Forml.vtl
[Design]*
Browser . ftwrol .1ОДОДМ* j
Ожиж DieiogAettit
Oodc
EnaWed
FletStrle
Ц Controvert
?T(tm)n*>
Run 9 Г 01 Neu* tooo "-Г--TJ-------d
IrrvigeAign
Im"g"Ind"
Imogelet
location
loctod
RightTaLeft
c-
lablnder
Tab&op
T"q
TertAbgr.
v-sttc
Л/с .15.1. Этот простой проект будет эмулировать полосу индикатора
процесса выполнения
Теперь приведенный текст уже не является для вас бессмысленным. В первых
двух строках определяются переменные счетчиков циклов. В третьей строке
начинается выполнение цикла For...Next, использующего переменную
intLabelWidth, устанавливая ее начальное значение в 1 и конечное значение
- в 100. Так как выражение step опушено, то переменная счетчика цикла
будет увеличиваться каждый раз на единицу.
Первая строка внутри цикла For...Next устанавливает ширину элемента Label
в значение счетчика цикла intLabelWidth. Ширина этого элементы будет
изменена 100 раз. В следующей строке просто вызывается метод Refresh для
обновления отображения этого элемента на экране. Часто обновление
прерывается, когда процессор компьютера переходит в спящий режим. Так как
мы хотим, чтобы расширение ползунка элемента Label было плавным, нам
необходимо убедиться, что отображение на экране элемента обновляется при
каждом выполнении цикла.
Предыдущая << 1 .. 122 123 124 125 126 127 < 128 > 129 130 131 132 133 134 .. 181 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.