Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы Visual Basic.docx
Скачиваний:
4
Добавлен:
03.11.2018
Размер:
54.75 Кб
Скачать

4.4 Свойства объектов

Свойства объектов имеют много общего с переменными: так, например, они тоже имеют имя (к примеру Form.Caption) и значение (к примеру "Моя первая программа V2.0b"). Большинству из них можно также присваивать значения в ходе программы:

Form.Caption = "Теперь здесь стоит что-то другое."

впечатляет, когда вдруг в заголовке окна вдруг появляется что-нибудь другое! Кроме того, можно кругом, где только могут стоять имена переменных, подставлять их имена:

Line (1000,1000)-(5000,5000),Form.BackColor,BF

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

4.5 Команды со значением (функции)

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

PSet (500,1000), 8887245

чтобы нарисовать свело-коричневую точку, можно просто написать:

PSet (500,1000), RGB(205,155,135)

что означает тоже самое! RGB-функция переводит части красного, зелёного и синего цветов в длинный номер цвета.

Поэтому

Print RGB(205,155,135)

не выдаст ничего другого как число 8887245 в окне.

И тут же другой пример функции:

Print Weekday("29.10.1970")

компьютер напишет цифру 5, номер дня недели той даты, которая стоит в скобках (причём: 1-воскресенье, 2-понедельник, 3-вторник и т.д.). Короче, дата будет переведена в номер дня недели. (англ. weekday: день недели)

Всё, что стоит после функции в скобках, называют аргументами или параметрами функции. "Результат" функции зависит, конечно же, от этих параметров: если я впишу другую дату, то и получу другой день недели (во всяком случае чаще всего). Важно то, чтобы были заданы правильные параметры: если функции нужна дата, то и нужно дать ей дату, иначе появится сообщение об ошибке (и функция будет бессмысленной).

4.6 MsgBox, InputBox

При помощи этих двух команд можно вызывать так называемые диалоговые окна на экран - это такие окна, которые о чём-то уведомляют пользователя или о чём-то спрашивают. Тогда пользователь "принуждён" на них отреагировать, т.к. пока он этого не сделает, не сможет использовать программу дальше.

С помощью команды MsgBox (англ. message box: ящик сообщения) получают окно, в котором просто стоит текст, и в котором можно видеть некоторые иконки. Пользователь должен ответить, чтобы продолжить дальше.

Простейшая программа, если нужен только текст и ОК-кнопка:

MsgBox "Не надо паники!"

появится маленькое окошко с текстом "Не надо паники!". Окошко с заголовком

можно получить при помощи команды:

MsgBox "Не надо паники!", 0,"Клёво."

Почему между запятыми стоит нуль сейчас будет разъяснено, но сначала вот что: позади второй запятой можно определять надпись для заголовка диалогового окна, в этом примере - "Клёво.". Если эта часть будет пропущена, в этом заголовке будет просто имя проекта.

А теперь этот "мистический" нуль: эта часть кода определяет для компьютера, какая иконка и сколько кнопок должно быть показано в диалоговом окне. Часть этого кода я хочу здесь раскрыть:

0 показать только "OK" (это будет сделано также тогда, когда там не будет ничего вообще).

1 показать "OK" и "Отмена".

2 показать "Отмена", "Повторить" и "Игнорировать".

3 показать "Да", "Нет" и "Отмена".

4 показать "Дa" и "Нет".

5 показать "Повторить" и "Отмена".

Команда MsgBox ". пока смерть не разлучит вас?", 3 поставит пользователя перед выбором между "Да", "Нет" и "Отмена". Однако такие команды в программах не встречаются, т.к. программа так никогда может и не узнать решение пользователя! Поэтому для таких случаев имеется практичный вариант команды MsgBox: команда MsgBox как функция! Можно к примеру объявить переменную "Reshenie" и потом написать:

Reshenie = (MsgBox ". пока смерть не разлучит вас?", 3)

Если эта строка будет выполнена, на экране появится диалоговое окно с тремя кнопками, и в зависимости от того какую кнопку нажмёт пользователь, переменная Reshenie получит соответствующее значение:

Значение Нажатая кнопка

1 OK

2, 3 Отмена

4 Повторить

5 Игнорировать

6 Дa

7 Нет

Программа может тогда при помощи команды If (см. ниже) продолжать в зависимости от значения переменной.

Но только как функция имеется очень похожая команда InputBox (англ. input: ввод). Которую применяют, если от пользователя требуется больше чем просто решение - например, его имя или возвраст.

Пример:

FirstName = InputBox("Введите ваше имя!")

Выдаст диалоговое окно с текстом, двумя кнопками (ОК и Отмена) и полем для ввода (некрасивое, но практичное). То, что введёт пользователь будет стоять в переменной FirstName. Если будет нажата кнопка "Отмена", тогда перменная FirstName окажется пустой. Как и у команды MsgBox имеется возможность задать заголовок окна. Также имеется возможность вписать текст в текстовое поле, так сказать, предложить пользователю один из вариантов.

Otpusk = InputBox("Ваше времяпровождение?","Что я люблю","Компьютер")

выдаст под заголовком "Что я люблю" вопрос "Ваше времяпровождение?" и в поле ввода уже будет стоять ответ "Компьютер". [мои прим.: Вы должны будете либо согласится с предлагаемым вариантом и подтвердить или ввести свой и подтвердить]. Попробуйте!