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

Элемент управления RichTextBox

Этот компонент отсутствует в стандартной панели инструментов, его нужно туда добавить:

1. Пункт меню Project \ Components

2. Выбрать Microsoft RichTextBox Control 5.0

Этот элемент позволяет выводить текст шрифтами разного стиля, разного размера и разного цвета. Кроме того, отсутствует ограничение на размер вводимого текста в 64 КВ.

Для демонстрации возможностей элемента напишите следующее приложение:

Имя RichTextBox 1 было заменено на RTB.

Код

Private Sub Command 1_Click()

RTB.SelBold = Not (RTB.SelBold)

sf

End Sub

Private Sub Command2_Click()

RTB.SelUnderline = Not (RTB.SelUnderiine)

sf

End Sub

Private Sub Command3_Click()

RTB.Selltalic = Not (RTB.Selltalic)

sf

End Sub

Private Sub Command4_Click()

Static с As Integer: с = с + 1 I

If c/2=c\2 Then ' смотри ниже

RTB.SelColor = vbBlack

Else

RTB.SelColor = vbRed

End If

sf

End Sub

Private Sub Command5_Click()

Static n As Integer

n = n + 10

RTB.SelFontSize = n

sf

End Sub

Public Sub sf()

RTB.SetFocus

End Sub

Эта программа изменяет параметры ВЫДЕЛЕННОГО текста. Однако при работе видно неудобство - выделение снимается, хотя все работает. Чтобы выделение не снималось, надо свойство RTB.HideSelection установить в false.

Далее, для того, чтобы курсор находился все время в поле текста, создана подпрограмма установки фокуса. Подпрограмма использована для того, чтобы не писать 5 раз одну и ту же строку RTB.SetFocus. Как видите, подпрограмма вызывается по имени в конце каждой процедуры. Условие с/2 = с\2 проверяет четность переменной с.(Вспомните - целочисленной деление «\». т .е. деление без остатка). Если «с» - четное, то печатает черным, иначе - красным.

Объект Printer

VB использует принтер, установленный по умолчанию в операционной системе. Синтаксис команды:

Printer.Print "Строка текста"

Управлять свойствами шрифта можно обычным образом:

Printer.Font.Name = "Courier"

Printer.Font.Size = 25

Некоторые полезные свойства:

Printer.Copies устанавливает количество копий

Printer. EndDoc сообщает Windows об окончании работы с документом

Printer.NewPage перейти к следующей странице

Printer.Pages сохраняет количество напечатанных страниц

Создайте приложение с одной командной кнопкой, под которой находится код:

Private Sub Print_Click()

Printer.Print "Напечатано"

End Sub

Дополнительные возможности работы со строками Оператор Like и неопределенный поиск

Оператор Like позволяет сравнивать строки, используя обычные шаблоны для поиска файлов в DOS, однако значительно превосходя их по возможностям. Например, этот оператор может указать, присутствуют ли цифры внутри строки, либо назвать отсутствующие в строке символы. Для ненулевых строк данный оператор возвращает значение True, когда находит совпадение, a False - в случае неудачи. Зависимость от регистра символов здесь определяется текущими установками Option Compare в форме или модуле (конечно, такого рода задачи можно решать и при помощи функции Instr, но оператор Like работает быстрее и. что немаловажно, сохраняет время программиста). Как и в DOS. вопросительный знак (?) означает ровно один символ, а "*" заменяет произвольное количество символов. Например, в операторе If-Then, как здесь:

If'QuickBasic" Like "*Basic" Then

Print "a Basic lanquaqe"

Else

Print "not a Basic lanquaqe"

End If

будет выведена фраза

"a Basic language".

Алгоритм по-русски:

Если "QuickBasic" совпадает с "*Basic", (где «*» - любое количество символов перед Basic ) то ...

Но если изменить выражение:

If "QuickBasic" Like "?Basic"

Then на экране будет виден результат "not a Basic language"

В следующей таблице представлен обзор возможных шаблонов.

? один любой символ

* от нуля до нескольких символов

# одна любая цифра

[список символов] один любой символ из списка

[!список символов] один любой символ не из списка

Например:

Х = (“###" Like "123") 'значение X - true, так как ### означает 3 ЛЮБЫХ цифры, а не то что 123.

Х = ("[AВС]" Like "123") -значение X – false.

A если так. то:

Х=("[!АВС|" Like "123") 'значение Х - true

Еще пример:

If "[0-9]" Like A$

Означает, есть ли цифры в переменной А$

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]