Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» Страница 171

Тут можно читать бесплатно Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория». Жанр: Разная литература / Газеты и журналы. Так же Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте 500book.ru или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»
  • Категория: Разная литература / Газеты и журналы
  • Автор: Журнал «Домашняя лаборатория»
  • Страниц: 192
  • Добавлено: 2024-04-22 04:38:35
  • Внимание! Книга может содержать контент только для совершеннолетних. Для несовершеннолетних просмотр данного контента СТРОГО ЗАПРЕЩЕН! Если в книге присутствует наличие пропаганды ЛГБТ и другого, запрещенного контента - просьба написать на почту pbn.book@yandex.ru для удаления материала


Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» краткое содержание

Прочтите описание перед тем, как прочитать онлайн книгу «Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»» бесплатно полную версию:

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

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» читать онлайн бесплатно

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория» - читать книгу онлайн бесплатно, автор Журнал «Домашняя лаборатория»

End Sub

мы по небрежности где-нибудь напишем оператор типа Пи = 2.87, то Visual Basic выдаст сообщение об ошибке и мы будем этому рады, так как число Пи — очень известная константа, равная 3.14, и никто не имеет права менять ее значение.

Таким образом, при помощи объявления констант мы повышаем надежность программирования.

Обратите внимание, что термином "константа" мы обозначаем два близких понятия: с одной стороны число 100, строку "Волга" и т. п., а с другой стороны имена Otstup, Пи и т. п., обозначающие эти величины. Не думаю, что в будущем эта путаница принесет нам какой-нибудь вред.

Кроме перечисленных выше констант существует еще большое число так называемых внутренних констант Visual Basic. Объявлять их не надо, ими можно сразу пользоваться, если знать их имена и смысл. Например, такими константами являются названия цветов — vbRed, vbBlack и т. п. Каждая из таких констант имеет конкретное численное значение (например, vbRed=255), но названия запоминаются легче, чем числа. Имена, смысл и значение внутренних констант вы найдете в Object Browser.

Процедуры с параметрами

Процедуры с параметрами — мощный инструмент программирования и применяется программистами очень широко.

Вообразите, что вы решили фотографии разного с вашей точки зрения качества помечать значками разного отступа, размера и цвета, чтобы по значку легко было догадаться о качестве. Вот ваши предпочтения:

Но как это сделать? Ведь в процедуре Рисуем_мой_значок каждой из этих переменных присвоено одно единственное значение, поэтому, какую бы фотографию ни взять, значок всегда будет одинаковый. Можно было бы написать отдельную процедуру для каждого значка, но делать этого не хочется, потому что процедуры эти будут почти одинаковы. А тогда где экономия?

Выход есть. Заметим, что присваивать значения переменным не обязательно внутри процедуры Рисуем_мой_значок. Вот вариант программы, который будет работать:

Dim Otstup As Integer

Dim Razmer As Integer

Dim Tsvet As Long

Private Sub Рисуем_мой_значок()

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), Tsvet, В

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), Tsvet

    Picture1.Line (Otstup, Otstup + Razmer)-(Otstup + Razmer, Otstup), Tsvet

End Sub

Private Sub Command1_Click()

    Picture1.Picture = LoadPicture("c: \temp\Rockies.bmp")

    'Фото неважное

    Otstup = 100

    Razmer = 200

    Tsvet = vbBlue

    'Рисуем_мой_значок

    Picture1.Print, "21.07.2001"

End Sub

Private Sub Command2_Click()

    Picture1.Picture = LoadPicture("c: \temp\Porthole.bmp")

    'Фото хорошее Otstup = 200 Razmer = 400

    Tsvet = RGB(100, 250, 150)

    'Рисуем_мой_значок

    Picture1.Print, "28.07.2001"

End Sub

Как видите, в процедуре Рисуем_мой_значок значения переменным не присваиваются, а присваиваются в процедурах, которые ее вызывают, причем присваиваются непосредственно перед вызовом. Убедитесь в пошаговом режиме, что все работает нормально.

Нормально-то нормально, да вот опять наша программа начала разбухать — в каждой вызывающей процедуре добавилось по три лишних строчки. За красивую жизнь приходится платить. Но и тут создатели языков программирования идут навстречу программистам. Имеется возможность вместо

Otstup = 100

Razmer = 200

Tsvet = vbBlue

Рисуем_мой_значок писать

Рисуем_мой_значок 100, 200, vbBlue

Все так и делают. Значения, идущие после имени процедуры через запятую, называются параметрами процедуры. Но откуда компьютер знает, что, например, Otstup = 100 и Razmer = 200, а не наоборот — Otstup = 200 и Razmer = 100? Компьютеру это объясняют в заголовке процедуры Рисуем_мой_значок, который теперь пишется по-другому:

Private Sub Рисуем_мой_значок (Otstup As Integer, Razmer As Integer,

Tsvet As Long)

Как видите, здесь задаются и порядок параметров и их тип.

Вот как компактно теперь выглядит наша программа. Это и есть ее окончательный вид, к которому мы стремились на протяжении этой главы:

Private Sub Рисуем мой значок (Otstup As Integer, Razmer As Integer, Tsvet As Long)

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), Tsvet, В

    Picture1.Line (Otstup, Otstup)-(Otstup + Razmer, Otstup + Razmer), Tsvet

    Picture1.Line (Otstup, Otstup + Razmer)-(Otstup + Razmer, Otstup), Tsvet

End Sub

Private Sub Command1_Click()

   Picture1.Picture = LoadPicture("c: \temp\Rockies.bmp")

   Рисуем_мой_значок 100, 200, vbBlue

   Picture1.Print, "21.07.2001"

End Sub

Private Sub Command2_Click()

    Picture1.Picture = LoadPicture("c: \temp\Porthole.bmp")

    Рисуем_мой_значок 200, 400, RGB(100, 250, 150)

    Picture1.Print, "28.07.2001"

End Sub

Обратите внимание, что мы убрали за ненадобностью фрагмент объявлений:

Dim Otstup As Integer

Dim Razmer As Integer

Dim Tsvet As Long

так как эти переменные уже объявлены в заголовке процедуры.

Наткнувшись в процессе выполнения программы на обращение к процедуре (Рисуем_мой_значок 100, 200, vbBlue), Visual Basic присваивает параметрам, приведенным в заголовке процедуры (Otstup, Razmer, Tsvet), указанные значения, а затем выполняет тело процедуры.

В качестве значений параметров в обращениях к процедурам можно писать не только константы, но и переменные, и выражения. Например, вместо Рисуем_мой_значок 100, 200, vbBlue можно было написать а=100

Рисуем_мой_значок а, 2 * a, vbBlue

Типы параметров

Параметры могут иметь не только числовой, но и строковый и многие другие типы. Пример:

Private Sub Печатаем_3_раза(Что_нибудь As String)

    Print Что_нибудь

    Print Что_нибудь

    Print Что_нибудь

End Sub

Private Sub Command1_Click()

    Печатаем_3_раза "Кто там? — Это почтальон Печкин!"

    Печатаем_3_раза "Дядя Федор"

End Sub

Здесь вы видите процедуру пользователя Печатаем_3_раза и ее параметр — строковую переменную с именем Что_нибудь. При нажатии на кнопку Command1 программа начинает работать и печатает следующий текст:

Кто там? — Это почтальон Печкин!

Кто там? — Это почтальон Печкин!

Кто там? — Это почтальон Печкин!

Дядя Федор Дядя Федор

Дядя Федор

Вот другой пример. Для начала отметим, что величины, которые указываются в скобках функций (например, в Round (5.82716, 3) или LoadPicture("с: \temp\Rockies.bmp")), тоже называются параметрами, хотя их называют также аргументами. Здесь в функции LoadPicture адрес файла взят в кавычки, значит этот параметр является строкой. Можно написать такую программу, которая по нажатии на кнопку Command1 показывает сразу два фото:

Private Sub Показываем_два_фото (Фото_1 As String, Фото_2 As String)

    Picture1.Picture = LoadPicture (Фото_1)

    Picture2.Picture = LoadPicture (Фото_2)

End Sub

Private Sub

Перейти на страницу:
Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.
Комментарии / Отзывы
    Ничего не найдено.