КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функция MsgBox
В 2.10 я вкратце описал, как пользоваться оператором MsgBox. Здесь я более подробно разберу действие функции MsgBox. Функция отличается от оператора тем, что она встречается в выражениях и в правой части оператора присваивания, и еще тем, что подобно переменной имеет значение. Например, возьмем оператор присваивания: y = MsgBox("Привет!") При выполнении этого оператора мы увидим на экране точно такое же окно сообщения, как при выполнении оператора MsgBox("Привет!") Но вдобавок к этому, после того, как мы нажмем на кнопку ОК, переменной y будет присвоено некое значение. Что это за значение и зачем оно нужно, мы сейчас выясним.
Задача: В текстовом поле Visual Basic для нашей пользы печатает, сколько будет дважды два. После чего, заботясь о нашем зрении, он выводит следующее окно сообщения:
При нажатии на Yes шрифт увеличивается, при нажатии на No ничего не происходит. Вот программа: Private Sub Command1_Click() Text1.Text = 2 * 2 y = MsgBox ("Не мелковат ли шрифт?", vbQuestion + vbYesNo, "Забота о пользователе") If y = vbYes Then Text1.FontSize = 20 End Sub Пояснения: Здесь полужирным шрифтом я выделил новые для вас элементы. Константа vbQuestion означает приказ изменить внешний вид окна сообщения, конкретнее - изобразить в нем картинку со знаком вопроса. Константа vbYesNo означает приказ поместить в окне сообщения кнопки Yes и No. Знаком плюс эти константы соединены, так как имеют некие численные значения, о которых вам, впрочем, не обязательно задумываться. После нажатия на кнопку Yes функция MsgBox приобретает значение vbYes. После нажатия на кнопку No функция MsgBox приобретает значение vbNo. Поэтому фрагмент If y = vbYes … можно перевести так: "Если была нажата кнопка Yes …"
Вот константы для задания внешнего вида окна сообщения: VbCritical, vbQuestion, vbExclamation, vbInformation. Вот константы для задания кнопок в окне сообщения: VbOKOnly, vbOKCancel, vbAbortRetryIgnore, vbYesNoCancel, vbYesNo, vbRetryCancel. Вот константы для задания значения функции MsgBox после нажатия на кнопку: vbOK, vbCancel, vbAbort, vbRetry, vbIgnore, vbYes, vbNo. Поэкспериментируйте со внешним видом окна сообщения. Поведение окна сообщения определяется еще кое-какими константами, но мы на них не будем останавливаться. Названия кнопок сами по себе не играют никакой роли, их действие полностью определяется кодом, который вы напишете в процедуре. Однако, в среде пользователей и программистов уже утвердились некоторые привычки, которые вам небесполезно знать: OK - просто принять сообщение к сведению, Cancel - отменить намечавшееся действие, Abort - прекратить неудавшуюся попытку (например, когда ваша процедура занимается распечаткой документа на принтере и приходит сообщение "Принтер не готов"), Retry - повторить неудавшуюся попытку, Ignore - проигнорировать предупреждение и продолжать, как ни в чем не бывало, Yes-No - ответить да или нет на вопрос, содержащийся в сообщении. Глава 6. Циклические программы Идею цикла я поясню на примере движения объектов по экрану. Возьмем игру в воздушный бой. Самолетик по экрану должен двигаться. Но в списках операторов большинства языков программирования, используемых профессиональными программистами для создания игр, нет команды движения. Здесь нужно задаться вопросом - а что такое движение? Рассмотрим иллюзию движения, возникающую на экране кинотеатра. Если вы держали в руках кинопленку фильма, изображающего, скажем, движение автомобиля, то должны были обратить внимание, что она состоит из множества неподвижных слайдов-кадров, на каждом следующем из которых автомобиль находится чуть-чуть в другом месте, чем на предыдущем. Показывая эти кадры один за другим с большой скоростью, мы создаем иллюзию движения автомобиля. Точно так же поступают с созданием иллюзии движения на экране компьютера. Запишем алгоритм движения самолетика по экрану слева направо:
1. Зададим в уме компьютера позицию самолетика в левой части экрана. 2. Нарисуем самолетик. 3. Сотрем его. 4. Изменим в уме компьютера позицию самолетика на миллиметр правее. 5. Перейдем к команде 2.
Каждая из приведенных команд алгоритма легко программируется на большинстве языков. Любой компьютер, выполнив очередную команду, автоматически переходит к выполнению следующей. Так, выполнив команду 2, компьютер всегда перейдет к выполнению команды 3, независимо от того, какую команду он выполнял перед командой 2. Однако, если мы захотим, то можем заставить компьютер изменить этот порядок, что мы и сделали в команде 5. Из-за нее компьютер выполняет команды в таком порядке: 1-2-3-4-5-2-3-4-5-2-3-…. Таким образом, многократно выполняется последовательность команд 2-3-4-5. Такая многократно выполняемая последовательность называется циклом. Можно сказать, что цикл - это одно из средств заставить компьютер долго работать при помощи короткой программы. В коротком промежутке времени после выполнения команды 2 самолетик будет появляться на экране и на команде 3 исчезать, но этого достаточно, чтобы человеческий глаз его заметил. Благодаря циклу самолетик будет мелькать каждый раз в новом месте, а поскольку смена “кадров” будет очень быстрой, нам будет казаться, что происходит плавное движение самолетика. Не нужно думать, что циклы применяются лишь при движении. Они пронизывают все программирование.
Дата добавления: 2014-12-23; Просмотров: 479; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |