Опубликован: 31.08.2006 | Доступ: свободный | Студентов: 3927 / 218 | Оценка: 4.14 / 3.89 | Длительность: 39:16:00
ISBN: 978-5-9570-0021-3
Лекция 8:

Циклы и таймеры

< Лекция 7 || Лекция 8: 123456 || Лекция 9 >

Создание сложных циклов For ... Next

Переменная-счетчик в цикле For...Next может стать мощным инструментом вашей программы. При некотором воображении вы можете использовать ее для создания в ваших циклах нескольких полезных последовательностей чисел. Чтобы создать цикл с шаблоном счетчика, отличным от 1, 2, 3, 4 и т.д., вы можете указать в цикле различные начальные значения, а затем использовать ключевое слово Step для увеличения счетчика на различные интервалы. Например, код

Dim i As Integer
Dim Wrap As String
Wrap = Chr(13) & Chr(10)

For i = 5 To 25 Step 5
TextBox1.Text = TextBox1.Text & "Строка " & i & Wrap
Next i

отобразит в текстовом поле следующую последовательность номеров строк:

Строка 5
Строка 10
Строка 15
Строка 20
Строка 25

Если вы объявите i как переменную с плавающей точкой одинарной или двойной точности, вы сможете указать в цикле десятичные значения. Например, цикл For...Next

Dim i As Single
Dim Wrap As String
Wrap = Chr(13) & Chr(10)

For i = 1 To 2.5 Step 0.5
TextBox1.Text = TextBox1.Text & "Строка " & i & Wrap
Next i

отобразит в текстовом поле следующие номера строк:

Строка 1
Строка 1.5
Строка 2
Строка 2.5

В дополнение к отображению переменной-счетчика, вы можете использовать этот счетчик для установки свойств, вычисления значений или обработки файлов. В следующем упражнении показано, как можно использовать счетчик для открытия значков Visual Basic, которые хранятся на вашем жестком диске в файлах, содержащих в своих именах числа. Такие файлы можно найти в папке c:\program files\microsoft visual studio.net 2003\common7\graphics\icons\misc.

Открытие файлов с помощью цикла For ... Next
  1. В меню File (Файл) укажите на New (Создать), а затем щелкните на Project (Проект). Появится диалоговое окно New Project (Создать проект).
  2. В папке c:\vbnet03sbs\Гл.7 создайте новый проект Windows Application (Приложение Windows) на Visual Basic с именем My For Loop Icons. Будет создан новый проект, и в Windows Forms Designer (Конструктор Windows Forms) появится пустая форма.
  3. Щелкните в окне области элементов на элементе управления PictureBox, расположенном на закладке Windows Forms, а затем нарисуйте в центре верхней половины формы объект вывода изображения средних размеров.
  4. Щелкните в области элементов на элементе управления Button, а затем нарисуйте под полем вывода изображений широкую кнопку (чтобы уместился длинный текст).
  5. Установите для этих двух объектов следующие свойства:

    Объект Свойство Установка
    PictureBox1 BorderStyle Fixed3D
    SizeMode StretchImage
    Button1 Text "Показать четыре рожицы"
  6. Чтобы вывести на экран процедуру события для кнопки Показать четыре рожицы, дважды щелкните на этой кнопке. В Редакторе кода появится процедура события Button1_Click.
  7. Введите следующий цикл For...Next:

    Dim i As Integer
    For i = 1 To 4
    PictureBox1.Image = System.Drawing.Image.FromFile_
    ("c:\vbnet03sbs\Гл.7\face0" & i & ".ico")
    MsgBox("Щелкните здесь, чтобы посмотреть следующую рожицу.")
    Next

    Совет. Метод FromFile в этой процедуре события слишком длинный, чтобы поместиться в одной строке этой книги, так что я разбил его на две с помощью пробела и символа продолжения строки (_). Вы можете использовать этот символ в вашей программе везде, за исключением строковых выражений.

    Для загрузки четырех значков из файлов, расположенных в папке c:\vbnet03sbs\Гл.7 на вашем жестком диске, этот цикл использует метод FromFile. Имя файла создается с помощью переменной-счетчика и оператора конкатенации, который вы использовали ранее в этой лекции. Код

    PictureBox1.Image = System.Drawing.Image.FromFile_
    ("c:\vbnet03sbs\Гл.7\face0" & i & ".ico")

    для создания четырех корректных имен файлов значков, хранящихся на жестком диске, объединяет путь, имя файла и расширение .ico. В этом примере вы загружаете в поле вывода изображений файлы face01.ico, face02.ico, face03.ico и face04.ico. Этот оператор работает потому, что несколько файлов в папке c:\vbnet03sbs\Гл.7 имеют шаблон имен facexx.ico. Использование этого шаблона позволяет создать для этих имен файлов цикл For...Next.

    Примечание. Функция отображения сообщения ( MsgBox ) используется в первую очередь для того, чтобы замедлить работу и позволить вам увидеть, что происходит в цикле For...Next. В нормальном приложении вы, вероятно, не будете использовать такие функции (хотя такая возможность у вас есть).

  8. Чтобы сохранить изменения, щелкните на кнопке Save All (Сохранить все) на стандартной панели инструментов.
  9. Чтобы запустить программу, щелкните на кнопке Start (Начать) на стандартной панели инструментов, а затем на кнопке Показать четыре рожицы. (Готовая программа For Loop Icons лежит в папке c:\vbnet03sbs\Гл.7\For loop icons.) Цикл For...Next загружает в область вывода изображений первую рожицу, а затем отображает окно сообщения.


    Примечание. Если Visual Basic выдает сообщение об ошибке, проверьте код программы на предмет опечаток, а затем убедитесь, что файлы значков находятся по указанному вами в программе пути. Если вы установили файлы практических занятий этой книги в папку, отличную от папки по умолчанию, или переместили файлы значков после установки, то путь в этой процедуре события может оказаться неверным.

  10. Чтобы показать следующую рожицу, щелкните на кнопке OK. Ваш экран будет выглядеть примерно так.


  11. Щелкните на кнопке OK еще три раза, чтобы увидеть весь набор рожиц. Если хотите, то можете повторить всю последовательность.
  12. Когда закончите, щелкните на кнопке Close формы, чтобы выйти из программы. Программа остановится, и вернется среда разработки.
< Лекция 7 || Лекция 8: 123456 || Лекция 9 >
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Анатолий Федоров
Анатолий Федоров
Россия, Москва, Московский государственный университет им. М. В. Ломоносова, 1989
Светлана Ведяева
Светлана Ведяева
Россия, Саратов