Опубликован: 31.08.2006 | Уровень: специалист | Доступ: платный
Лекция 11:

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

Работа с открытыми переменными

Объявление глобальной, или открытой, переменной в стандартном модуле достаточно просто - вы вводите ключевое слово Public, за которым следует имя переменной и объявление ее типа. После того, как вы объявили переменную, вы можете читать ее содержимое, изменять его или отображать его на экране в любой процедуре вашей программы. Например, оператор программы

Public RunningTotal As Integer

объявляет открытую переменную с именем RunningTotal типа Integer.

В следующих упражнениях демонстрируется использование в стандартном модуле открытой переменной с именем Wins. Вы пересмотрите "Семерку" - первую программу из этой книги - и будете использовать переменную Wins для записи того, сколько раз вы выигрывали за время работы игрового автомата.

Примечание. "Семерка" - это программа игрового автомата из "Ваша первая программа" .

Доработка проекта "Семерка"

  1. Чтобы сохранить изменения, щелкните на кнопке Save All (Сохранить все) на стандартной панели инструментов, а затем на команде Close Solution (Закрыть решение) из меню File (Файл) . Команда Close Solution (Закрыть решение) убирает из среды разработки текущее решение и проекты.
  2. Откройте проект Track Wins, расположенный в папке c:\vbnet03sbs\ Гл.10\track wins. Этот проект откроется в среде разработки.
  3. Если форма не отображается, отобразите ее сейчас. Вы увидите следующий интерфейс пользователя.


    Решение Track Wins - это та же самая программа игрового автомата, которую вы создали в "Ваша первая программа" . Она позволяет пользователю щелкать на "вращающей" кнопке и отображать в трех полях вывода чисел "случайные" числа, и если в одном из этих полей появится число "7", компьютер выдаст звуковой сигнал и отобразит растровое изображение, показывающее старинный рисунок выплаты денег. Я просто переименовал в этой лекции решение "Семерка", чтобы не изменять его оригинальную версию.

  4. Чтобы запустить программу, щелкните на кнопке Start (Начать) на стандартной панели инструментов.
  5. Щелкните шесть или семь раз на кнопке Крутить, а затем на кнопке Выход. Вы выиграете первые пять игр (в каждой из них появится число "7"), а затем удача покинет вас. Если помните, каждый раз, когда вы щелкаете на кнопке Крутить, программа для генерации трех случайных чисел использует функцию Rnd. Если одно из этих чисел равно "7", то процедура события кнопки Крутить ( Button1_Click ) отображает картинку выплаты денег и подает звуковой сигнал.

Теперь, чтобы расширить эту программу, вы должны отредактировать форму и добавить в проект стандартный модуль.

Добавление стандартного модуля

  1. Откройте форму проекта Track Wins.
  2. Щелкните на элементе управления Label в окне области элементов, а затем создайте под меткой Счастливая семерка новую прямоугольную метку.
  3. Установите для новой метки и формы свойства, приведенные в следующей таблице. Чтобы облегчить идентификацию новой метки в коде программы, необходимо изменить имя объекта этой метки на lblWins.

    Объект Свойство Установка
    Label5 Font Arial, Bold Italic (Жирный курсив), 12-point (12 пунктов)
    ForeColor Green (на закладке Custom)
    Name lblWins
    Text "Выигрышей: 0"
    TextAlign MiddleCenter
    Form1 Text "Счастливая семерка"

    Когда вы это сделаете, ваша форма должна выглядеть примерно так, как показано на следующей иллюстрации.


    Теперь вы должны добавить в проект новый стандартный модуль.

  4. Щелкните на команде Add New Item (Добавить компонент) в меню Project (Проект), выберите шаблон Module, а затем щелкните на Open (Открыть). В Редакторе кода появится модуль с именем Module1.vb.
  5. Переместите курсор на пустую строку между операторами Module Module1 и End Module, введите Public Wins As Short, а затем нажмите на (Enter). Этот оператор программы объявляет в программе открытую целочисленную переменную типа Short. Он идентичен обычным объявлениям переменных, которые вы делаете в коде ваших программ, за исключением ключевого слова Public вместо ключевого слова Dim. При запуске программы каждая процедура события этой программы получит доступ к этой переменной. Ваш стандартный модуль должен выглядеть примерно так.


  6. В Обозревателе решений щелкните на Form1.vb, далее на кнопке View Designer (Просмотреть конструктор), а затем сделайте двойной щелчок на кнопке Крутить. В Редакторе кода появится процедура события Button1_Click для кнопки Крутить.
  7. Введите в этой процедуре события после оператора Beep() следующие операторы:

    Wins = Wins + 1
    lblWins.Text = "Выигрышей: " & Wins

    Это та часть кода программы, которая увеличивает открытую переменную Wins, если при "вращении" появляется "7". Второй оператор использует оператор конкатенации (&), с помощью которого присваивает объекту lblWins строку в формате Выигрышей: X, где X - это число выигрышей. Законченная процедура события выглядит так.


  8. Чтобы сохранить все изменения на диске, щелкните на кнопке Save All (Сохранить все) на стандартной панели инструментов.

    Примечание. Готовая программа называется Final Track Wins и расположена в папке c:\vbnet03sbsГл.10\final track wins.

    Опиция Save All (Сохранить все) сохраняет изменения не только в модуле, но и в форме и в процедурах событий.

  9. Чтобы запустить программу, щелкните на кнопке Start (Начать).
  10. Щелкните 10 раз на кнопке Крутить. Метка Выигрышей: отслеживает ваши выигрыши. Каждый раз, когда вы выигрываете, она увеличивается на 1. За 10 "вращений" вы выигрываете шесть раз, как показано на рисунке ниже.


  11. Чтобы выйти из программы, щелкните на кнопке Закрыть.
Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

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

Виталий Григорьев
Виталий Григорьев
Россия, москва, мгсги, 2011
Надежда Серекпаева
Надежда Серекпаева
Россия, Тюмень, Тюменский индустриальный институт, 1992