“В МИР ИНФОРМАТИКИ” № 72

Школа программирования. Основы программирования на Visual Basic

Н.М. Тимофеева,
г. Обнинск Калужской обл.

Продолжение. Начало см. “В мир информатики” № 69–71 (“Информатика” № 4–6/2006)

Пример программирования № 3 “Стили шрифта”

Постановка задачи

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

План решения

Эскиз на рис. 1 показывает предлагаемый дизайн экрана:

37-0.gif (12588 bytes)

Рис. 1

Назначение каждого элемента управления:

1) текстовое окно — для ввода текста;

2) флажок Жирный — для изменения стиля шрифта текста в окне на жирный по щелчку на этом флажке;

3) флажок Курсив — для изменения стиля шрифта на курсив по щелчку на нем;

4) надпись — “подсказка” для ввода текста;

5) кнопка — для завершения программы по щелчку на ней.

N–S-диаграммы для разработки каждой подпрограммы:

Подпрограмма для флажка Жирный

 

Подпрограмма для флажка Курсив

 

Создание интерфейса

Для этого приложения требуется одна надпись, одно текстовое окно, два флажка (CheckBox) и одна кнопка:

Рис. 2

Установка свойств

 

Написание кода

Напишите следующий код для флажка chkЖирный:

Private Sub chkЖирный_Click()

'Если флажок установлен для жирного шрифта

If chkЖирный.Value = 1 Then

'то установить жирный шрифт

txtТекст.FontBold = True

Else

'иначе жирный шрифт не устанавливать

txtТекст.FontBold = False

End If

End Sub

Дважды щелкните по флажку с именем chkКурсив и введите следующий код:

Private Sub chkКурсив_Click()

'Если флажок установлен для курсива

If chkКурсив.Value = 1 Then

'то установить курсив

txtТекст.FontItalic = True

Else

'иначе курсив не устанавливать

'txtТекст.FontItalic = False

End If

End Sub

Процедура обработки события “щелчок на кнопке” та же, что и в предыдущих проектах:

Private Sub cmdВыход_Click()

End 'Закончить программу

End Sub

Сохранение проекта

Создайте папку ПРИМЕР3 и сохраните в ней форму и проект под именами шрифт.frm и шрифт.vbp.

Тестирование приложения

  • § Запустите программу.
  • § Введите какой-нибудь текст в текстовое окно и установите один из флажков (или оба). Убедитесь, что соответствующее свойство текста в текстовом окне изменяется.

Рис. 3

Взгляд назад

Проверьте, что программа выполняет все, что было задано в первом шаге. Довольны ли вы результатом? Нужны ли инструкции для флажков? После анализа всех шагов вы можете сделать некоторые улучшения.

Пояснения

1. В коде рассматриваемого примера используется так называемый “условный оператор”. Синтаксис этого оператора следующий:

If <Условие> Then

<Действие(ия)1>

Else

<Действие(ия)2>

End If

2. Вы можете заметить, что в приведенном коде некоторые строки условного оператора написаны с отступами. Код, записанный таким образом, легче читать. Это не обязательно, но рекомендуемо. Скоро вы и сами увидите, как помогают такие отступы пониманию кода при его чтении. Это особенно справедливо, когда код становится более сложным.

3. В этом примере также используются комментарии. Перед комментариями обязательно ставится апостроф (').

4. Для флажка свойство Value (Значение) может быть либо 1 (флажок установлен, выбран), либо 0 (не выбран, сброшен)1.

5. Элемент управления Текстовое окно (Text Box) используется в этом приложении, чтобы принять ввод [1] (исходные данные). В текстовом окне можно набрать любой текст. Поэтому в данном случае ошибки быть не может. В большинстве же случаев ошибочные исходные данные приводят к ошибке во время выполнения или к ошибочным результатам.

6. Свойства FontBold и FontItalic текстового окна могут принимать значения True (Истина) или False (Ложь). Значения True и False относятся к логическому (булеву) типу.

7. Установка свойства MultiLine текстового окна в True обеспечивает автоматический перенос слов внутри текстового окна. Проверьте, что изменится, если вы установите значение этого свойства в False.

8. В Visual Basic нужно очень внимательно читать знак равенства ( = ). Он имеет два значения. Одно значение — сравнить, другое — присвоить.

В части <условие> условного оператора он используется для сравнения. Результат сравнения — True (Истина) или False (Ложь). В первом случае выполняется <Действие(ия)1>, во втором — <Действие(ия)2>. Например, в последней программе мы видели строку кода:

If chkКурсив.Value = 1 Then

Результатом сравнения является Истина или Ложь, в соответствии с чем и указывалось то или иное действие для выполнения.

В коде txtТекст.FontItalic = True знак равенства используется для присваивания (логическое значение True присваивается свойству FontItalic текстового окна).

9. Другие (кроме знака равенства) знаки, используемые для сравнения:

39-0.gif (1564 bytes)

Операция, в которой используются эти 6 знаков, называют операцией отношения.

10. Операция отношения может сравнивать не только числа, но и строки (или отдельные символы). При этом происходит посимвольное сравнение строк до момента, когда встретятся различные символы. После этого сравниваются коды этих символов — та из строк, в которой код различающегося символа больше, будет также больше. Например, каждая из следующих операций сравнения дает истинный результат:

"А" < "Б"

"Телевидение" <> "ТВ"

"Русь" > "Россия"

"Ру" > "РУ"2

Вопросы и задания для проверки знаний

1. В приложении свойства элементов управления установлены следующим образом:

lblИнструкция.Caption = "Сделай свой выбор"

hsbВес.Max = 150

txtТекст.FontBold = True

chkКурсив.Value = 0

Перечислите приведенные в коде:

а) элементы управления;

б) свойства.

Значения следующих условий истинны или ложны:

а) lblИнструкция.Caption = "Сделай свой выбор";

б) hsbВес.Max > 100;

в) chkКурсив.Value < 1.

2. Определите, какое из двух возможных значений имеет знак равенства в следующих фрагментах кода:

— If chkКурсив.Value = 1 Then

— txtТекст.FontItalic = True

3. Значения следующих условий истинны или ложны?

a) “Кот” > “Котик”;

б) “Варвара” < “Варя”;

в) “ул. Луговая, д. 2” < “ул. Луговая, д. 15”;

г) “четырнадцать” <> “14”.

4. Что случится с текстом в текстовом окне, если свойство Multiline установить в False?

5. Элемент управления Переключатель подобен флажку, за исключением того, что, когда один из переключателей включен, другие обязательно выключены. Заметьте, что тип значения свойства Value (Значение) этого элемента — логический (True или False).

6. Разработайте приложение, которое показывает приветствие на одном из языков, выбранном пользователем. Предоставьте выбор по крайней мере из четырех языков (вам придется провести некоторые “языковые” исследования).

39-1.gif (12723 bytes)

Литература

1. Тимофеева Н.М. Как решать задачи? / “В мир информатики” № 67 (“Информатика” № 2/2006).

Продолжение следует


1 Возможно также значение, равное 2 (в этом случае флажок в программе недоступен). — Ред.

2 Код строчной буквы больше кода соответствующей прописной буквы. — Ред.

TopList