Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа1.doc
Скачиваний:
1
Добавлен:
29.07.2019
Размер:
143.87 Кб
Скачать

Лабораторная работа

Попробуем написать первую программу на Visual Basic - программу для решения квадратных уравнений.

a*x*x + b*x + c = 0

Чтобы решить такое уравнение, нужно найти его дискриминант и затем, корни. Дискриминант ищется по формуле:

D = b*b - 4*a*c

А корни:

Если дискриминант > 0, то

X1 = (b + (корень из D)) / 2*a X2 = (b - (корень из D)) / 2*a

Если дискриминант = 0, то X1 = X2 = b / 2*a

Если дискриминант < 0, то корней не существует.

Итак, что вышло:

Входные данные в программу - коэффициенты a,b,c. Данные будем вводить в текстовые поля для ввода (TextBox).

Выходные данные - корни (если они есть) и дискриминант. Данные будем выводить в элемент метку (Label). Запускать решение будем нажатием на кнопку (Command Button).

С первым пунктом разобрались. Переходим ко второму - проектирование интерфейса будущей программы.

2. Проектирование интерфейса.

Вставляем формуInsert-Form. Поместите на форму элементы управления, как показано на рисунке:

Нужные элементы управления выделены красным цветом. Для чего нужны эти элементы? Элемент метка (Label) нужен для отображения текста. Т.е. служит как бы подсказкой. В нём мы будем выводить наш дискрименант и корни. Элемент текстовое поле (TextBox) предназначен для ввода пользователем информации. Введённую информации можно легко получить в коде программы. Для этого у TextBox есть свойство Text. Ну, и наконец, элемент кнопка (CommandButton), нужен для запуска некоторого действия. В нашем случае действием будет решение квадратного уравнения. А запускаться оно будет при нажатии на кнопку.

Разместить элементы управления лучше следующим образом: поместите сначала на форму элемент Label. В окне Properties измените свойство Caption этого элемента на "A:". Затем перетащите на форму элемент TextBox так, чтобы он оказался рядом с элементом Label. Удалите текст из элемента TextBox (свойтво Text). Затем выделите оба этих элемента (используя Ctrl) и скопируйте их в буфер обмена клавишами Ctrl+C. Далее нажмите Ctrl+V. Visual Basic спросит вас, нужно ли создать массив из вставляемых элементов управления? Ответьте Нет. Теперь на форме появилась копия элементов Label и TextBox (для параметра B). Скопируйте таким же образом элементы для параметра C. У кнопки измените свойство Caption на "Решить!". Изменяя свойство Caption кнопки, вы, тем самым изменяете текст на самой кнопке. (Если этого не сделать, то пользователю нашей программы трудно было бы догадаться, что же произойдёт при нажатии на кнопку Command1!?). Обратите внимание на кнопки управления формой (справа вверху). Их 3 штуки: свернуть, развернуть и закрыть. Кнопка развернуть нашей форме совсем не к чему. Давайте её уберём. Для этого выделите форму (щёлкните по ней) и в окне Properties отредактируйте свойство BorderStyle. Вам предложат выбрать несколько значений из списка, а именно:

0-None - у формы не будет заголовка и кнопок управления. 1-Fixed Single - форма будет иметь заголовок и одну кнопку - закрыть. 2-Sizeable - задаётся по умолчанию. Форма имеет все 3 кнопки. 3-Fixed Dialog - то же, что и 1, но форму не будет видно на панели задач 4-Fixed ToolWindow - сокращённый вид заголовка и одна кнопка - закрыть 5-Sizeable ToolWindow - то же что и 4, но можно изменять размеры формы

Укажите 1 номер (Fixed Single). Обратите внимание на кнопки управления - осталась только одна - закрыть форму. Но куда же делась кнопка свернуть? Она могла бы нам пригодиться! Давайте вернём её. Для этого нужно установить свойство формы MinButton в True. Теперь всё ОК.

Ну и последний штрих. Сделаем текст "Результаты решения" подчёркнутым. Для этого выделите Label и найдите в окне Properties свойство Font. Если выделить это свойство, то справа появится маленькая кнопочка, при нажатии на которую откроется окно выбора шрифта. Возможно это окно вы уже где-то видели. Например при выборе шрифта в Блокноте. Дело в том, что это окно - одно из общих диалогов Windows (Common Dialogs). К ним относятся такие окна, как "Открытие файла", "Сохранение файла", "Настройки принтера", "Выбор цвета", "Выбор шрифта", "Выбор каталога", "Поиск и замена текста". такие окна не нужно создавать самому. Их предоставляет Windows. Итак, в окне выбора шрифта поставьте галочку - Подчёркнутый. Нажмите ОК.

Вы уже наверное давно заметили тот факт, что у разных элементов управления некоторые свойства часто повторяются (об этом я говорил на предыдущих уроках). Например свойство Caption, Name или свойство Font. Более того, свойство Name есть у ЛЮБОГО элемента управления. Это связано с объектно ориентированным программированием (ООП). Мы не будем подробно на этом останавливаться, т.к. сейчас это не столь важно. Позже, я постараюсь затронуть эту тему и рассказать про ООП. А пока примите это как факт.

Обратите внимание на имена (свойство Name в окне Properties) только что созданных элементов. Label1, Label2... Text1, Text2.... Command1. При создании нового элемента Visual Basic всегда даёт такие имена сам. В последствии они могут быть изменены. Вообще, имена элементов управления очень важная вещь. Такая же важная, как имена переменных. По этим именам вы будете обращаться к вашим элементам управления в коде программы. Существуют некоторые рекомендации по именованию элементов управления. Всегда придерживайтесь их! Подробнее об этом можно прочитать здесь.

Тип элемента

Префикс

Пример

AniButton

ani

aniMailBox

CheckBox

chk

chkReadOnly

ComboBox

cbo

cboRussian

CommandButton

cmd

cmdExit

CommonDialog

dig

dIgFileOpen

Элемент управления (используется в процедурах, когда конкретный тип не определен)

ctr

ctrUnknown

Data control

dat

datOrders

Data-bound ComboBox

dbcbo

dbcboLanguage

Data-bound Grid

dbgrd

dbgrdQueryResult

Data-bound list box

dblst

dblstSchetType

Directory ListBox

dir

dirSource

Drive ListBox

drv

drvSource

File ListBox

fil

filSource

Form

frm

frmSchet

Frame

fra

fraLanguage

Gauge

gau

gauStatus

Grid

grd

grdTovar

Horizontal ScrollBar

hsb

hsbVolume

Image

img

imglcon

Label

Ibl

IblHelp

Line

lin

linVertical

ListBox

lst

lstOrder

MAPI message

mpm

mpmSentMessage

Давайте переименуем элементы управления. Для этого измените свойство Name каждого элемента управления согласно таблице: