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

Использование массивов и коллекций для управления данными

Хранение интернет-адресов с помощью коллекции

  1. Щелкните на команде Close Solution (Закрыть решение) в меню File (Файл). Текущий проект закроется.
  2. В папке c:\vbnet03sbs\Гл.11 создайте новый проект на Visual Basic с именем My URL Collection.
  3. В верхней части формы нарисуйте широкий объект текстового поля, отцентрированный по горизонтали.
  4. В форме под этим объектом текстового поля нарисуйте два широких объекта кнопок, расположенных одна под другой.
  5. Установите для формы и ее объектов следующие свойства:

    Объект Свойство Установка
    TextBox1 Text http://www.microsoft.com/mspress
    Button1 Text "Посетить сайт"
    Button2 Text "Создать список посещенных сайтов"
    Form1 Text "Коллекция URL"
  6. Ваша форма должна выглядеть примерно так.


  7. Чтобы отобразить Редактор кода, щелкните в Обозревателе решений на кнопке View Code (Просмотреть код).
  8. Прокрутите программный код формы в самый верх, и прямо под тэгом "Windows Form Designer generated code" ("Код, автоматически созданный конструктором форм Windows") введите следующее объявление переменной:

    Dim URLsVisited As New Collection()

    Этот оператор создает новую коллекцию и присваивает ее переменной с именем URLsVisited. Так как вы расположили это объявление в верхней части формы, коллекция будет иметь область видимости, распространяющуюся на все процедуры событий формы.

  9. Снова отобразите форму, сделайте двойной щелчок мышью на кнопке Посетить сайт, а затем введите в процедуре события Button1_Click следующий код:

    URLsVisited.Add(TextBox1.Text)
    System.Diagnostics.Process.Start(TextBox1.Text)

    Этот код программы использует метод Add для заполнения коллекции ее членами. Когда пользователь щелкает на объекте Button1, программа полагает, что в объект TextBox1 был введен правильный интернет-адрес. Каждый раз при щелчке на объекте Button1 текущий URL из TextBox1 копируется как строка в коллекцию URLsVisited. Далее вызывается метод System.Diagnostics.Process.Start с этим URL в качестве параметра. Так как параметр представляет собой URL, метод Start пытается открыть этот URL с помощью веб-браузера системы по умолчанию. (Если URL некорректен или соединение с интернетом не может быть установлено, то ошибку будет обрабатывать веб-браузер.)

    Примечание. Программа добавляет в коллекцию URLsVisited только те URL, которые вы указали в объекте TextBox1. Если вы переходите на дополнительные веб-сайты с помощью собственно браузера, эти сайты не будут добавлены в коллекцию. (О комплексном способе отслеживания веб-сайтов с помощью объектной модели Internet Explorer см. "Отображение документов HTML с помощью Internet Explorer" .)
  10. Снова отобразите форму, а затем сделайте двойной щелчок мышью на кнопке Создать список посещенных сайтов.
  11. Введите в Редакторе кода следующий код программы:

    Dim URLName, AllURLs As String
    For Each URLName In URLsVisited
      AllURLs = AllURLs & URLName & vbCrLf
    Next URLName
    MsgBox(AllURLs, MsgBoxStyle.Information, "Посещенные сайты")

    Эта процедура события с помощью цикла For Each...Next и функции MsgBox печатает всю коллекцию. Этот код объявляет строковую переменную с именем URLName, которая хранит каждый из членов коллекции при его обработке, а его значение с помощью оператора конкатенации (&) и строковой константы vbCrLf добавляется в строку с именем AllURLs.

    Наконец, строка AllURLs, которая представляет всю коллекцию URLsVisited, отображается в окне сообщения. Я добавил к функции MsgBox аргумент MsgBoxStyle.Information, чтобы подчеркнуть, что отображаемый текст является общей информацией, а не предупреждением. ( MsgBoxStyle.Information также является встроенной константой Visual Basic.)

  12. Чтобы сохранить изменения, щелкните на кнопке Save All (Сохранить все).
Примечание. Чтобы запустить программу URL Collection, ваш компьютер должен установить соединение с интернетом и иметь установленный веб-браузер, такой, как Microsoft Internet Explorer или Netscape Navigator.

Запуск программы URL Collection

  1. Чтобы запустить программу, щелкните на кнопке Start (Начать).

    Примечание. Готовая программа Collection лежит в папке c:\vbnet03sbs\Гл.11\url collection.

    Утилита содержит в текстовом поле URL адрес веб-сайта по умолчанию, так что при первом запуске вам не требуется вводить ваш собственный интернет-адрес.

  2. Щелкните на кнопке Посетить сайт. Visual Basic добавит в коллекцию URLsVisited веб-сайт Microsoft Press (http://www.microsoft.com/mspress/), а затем откроет веб-браузер вашей системы по умолчанию и загрузит требуемую страницу, как показано на рисунке вверху следующей страницы. Если вам интересно, изучите содержимое этого веб-сайта.
  3. Снова щелкните на форме. (Возможно, нужно будет щелкнуть на значке на панели задач Windows.)

  4. Щелкните на кнопке Создать список посещенных сайтов. Visual Basic исполняет процедуру события для объекта Button2. Вы увидите такое окно сообщения.


  5. Щелкните в окне сообщения на OK, введите в текстовое поле формы другой веб-сайт, а затем щелкните на кнопке Посетить сайт. Чтобы узнать больше о Visual Basic .NET, посетите веб-сайт Microsoft Visual Basic (по адресу http://msdn.microsoft.com/vbasic/).
  6. Посетите еще несколько веб-сайтов с помощью формы Коллекция URL, а затем щелкните на кнопке Создать список посещенных сайтов. Каждый раз, когда вы щелкаете на кнопке Создать список посещенных сайтов, функция MsgBox расширяется для показа растущего списка URL, как показано ниже.


    Если вы посетили более десятка веб-сайтов, то вам понадобится заменить функцию MsgBox многострочным текстовым полем в форме.

  7. Когда закончите, щелкните на кнопке Закрыть формы, а затем закройте веб-браузер.

Поздравляем! Вы узнали, как использовать коллекцию Controls и создавать новые коллекции и как обрабатывать их с помощью цикла For Each...Next. Эти навыки будут полезны всегда, когда вы будете работать с коллекциями.

Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

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