Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Объектно-ориентированный язык программирования Visual Basic. Практикум

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
450 Кб
Скачать

Метод PSet устанавливает цвет отдельного пикселя на экране. Он имеет синтаксис

Object.PSet[Step](x,y),[цвет]

где: Step – ключевое слово, определяющее, что координаты относительно текущей графической позиции;

(x,y) – константы, определяющие координаты для установки цвета; Цвет – значение, определяющее цвет отметки.

3. Порядок проведения работы

Загрузите VB 6.0 (стандартный). Откройте проект.

Впроцедуру обработки события Form_Click поместите программный код, который изображает вложенные друг в друга квадраты разных цветов.

Dim Cx, Cy, Radius, Limit, F1, F1, F2, I ScaleMode = 3

Cx = ScaleWidth/1 Cy = ScaleHeight/2 Drawwidth = 5

For I = 50 To 0 Step -1 For J = 1 To 100000 Next J

F = I/50

F1 = 1 - F : F2 = 1 + F Forecolor = QBColor(I Mod 13)

Line (Cx * F1, Cy * F1) – (Cx * F2, Cy * F2),, BF Next I

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

Создайте новый проект.

Впроцедуру обработки Form_Click поместите программный код, который изображает разноцветные концентрические окружности

Dim Cx, Cy, Radius, Limit ScaleMode = 13

Cx = ScaleWidth/2 Cy = Scaleheght/2

If Cx > Cy = 0 Then Limit = Cy Else Limit = Cx

For Radius = 0 To Limit

32

For I = 1 To 10000 Next I

Circle (Cx,Cy), Radius, RGB(Rnd * 255, Rnd * 255, Rnd *255) Next Radius

Сохраните проект в своей папке. А затем запустите на выполнение. После щелчка по форме программа начинает концентрические окружности с разной цветовой гаммой.

Откройте новый проект.

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

Dim Pi, Cel, J, Kx, Ky As Double Cx =20

Pi = 3.14

Kx = ScaleWidth/(2 * Pi) Ky = ScaleHeight/2

Line(Cx, Cx) – (Cx, ScaleHeight – Cx)

Line(Cx, ScaleHeight/2) – (ScaleWidth, ScaleHeight/2) For J = 0 To 2 * Pi Step 0.001

Pset(Cx + Kx * J, ScaleHeight/2 – Ky * Sin(J)), QBColor(4)

Pset(Cx + Kx * J, ScaleHeight/2 - Ky * Cos(J)), QBColor(3)

Pset(Cx + Kx * J, ScaleHeight/2 - Ky * Tan(J)), QBColor(2)

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

4.Контрольные вопросы

Скакой целью в проектах VB используются графические изображения? Какие графические методы VB вы знаете?

Как можно заменить во время выполнения программы один растровый

рисунок на другой?

Какие средства графического управления есть в VB 6.0?

33

Практическая работа № 7

Работа с текстовыми файлами

Продолжительность 2 часа

1. Вопросы (задачи), подлежащие исследованию

Изучить возможности VB 6.0 по обработке файла с последовательной организацией данных..

Возможности языка VB 6.0 по обработке файла с прямым доступом.. Файл и его структура, физическая и логическая запись.

Разработать алгоритм решения в соответствии с заданием. Составить программы решения задачи.

2. Краткие теоретические или справочно-информационные материалы

Файлы с последовательным доступом Файлы с последовательным доступом состоят из записей переменной

длины. Они называются файлами с последовательным доступом потому, что могут читаться только с начала по порядку. Запись нельзя прочитать из середины файла. Каждая запись является строкой текста, которая заканчивается специальными символами – разделителями.

Для открытия файла используется оператор Open. Формат оператора

OpenИмя Файла For Режим доступа As # Номер файла Закрытие файла осуществляется с помощью оператора Close Формат оператора

Close [# номер Файла][,# Номер файла]

Для чтении информации из текстового файла можно использовать оператор

Line Input# и Input#.

Формат оператора

Line Input# номер файла, имя переменной

Для выяснения, прочитан ли файл до конца, используется функция EOF. Формат функции

EOF (Номер открытого файла)

Запись в файл последовательного доступа осуществляется оператором

Print# и Write#.

Формат оператора Print#

Print# Номер Файла, [Список вывода]

34

Формат оператора Write#

Write# Номер Файла, [Список Вывода]

Файлы с произвольным доступом.

Файл с произвольным доступом обладает заданной структурой и состоит из записей. Каждая запись в файле имеет определенный размер и номер. Доступ к данным осуществляется именно по номеру записи. Данные из файла такого типа читаются и записываются записями.

Для открытия файла используется оператор Open. Формат оператора

Open Имя Файла [For Random] As# Номер Файла Len = Длина записи

Для записи данных в файл используется оператор Put#. Формат оператора

Put# Номер Файла, [Номер Записи] Переменная

Размер файла определяют с помощью функции LOF. Формат функции

LOF [Номер Открытого Файла]

Для считывания данных из файла используется оператор Get#. Формат оператора Get#

Get# Номер Файла, [Номер Записи] Переменная

3. Порядок проведения работы

Загрузите VB 6.0 (стандартный).

Расположите объекты на форме в соответствии с рисунком.

Последовательный файл

_

Работа с файлом

Окно ввода текста

Пуск

Выход

35

a.

b.

c. Установить для объектов формы основные свойства в соответствии с таблицей.

Объект

Свойство

Установленные

 

 

значения

 

 

 

Label1

Caption

Работа с файлом

 

 

 

Label2

Caption

Пусто

 

 

 

Label3

Caption

Окно ввода текста

 

 

 

TextBox

Multiline

True

 

Enabled

False

 

ScrollBars

2 – vertical

 

Text

Пусто

 

 

 

Command1

Caption

Пуск

 

 

 

Command2

Caption

Выход

 

 

 

d.Щелкните два раза кнопке «Пуск» и выйдите в окно программного кода.

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

Private Sub Command_Click( ) Dim S1 As String*22

Dim ZText As String

Number = FreeFile

Open ―D:\Nabor1.txt‖ For output As # Nomber D0

S1 = InputBox(―Введите реквизиты‖, ―Окно ввода‖)

If S1 < > ― ― Then

Print # Number, S1

36

Else

Label2.Caption = ―Пустая строка‖

Exit D0 End If Loop Chose #1

ZText = ― ―

Open ―D:\Nabor1.txt‖ For Input AS # Number

D0 Until EOF (Number)

Line Input # Number, S1

ZText = ZText + S1+ ― ‖ loop

Text1.Text = ZText

Text1.Enable = True End Sub

f. Запустите процедуру на выполнение клавишей F5. g.

Введите в окно сообщения данные и изучите результат вывода данных. Сохраните проект.

Создайте новый проект командой ( Новый – Стандарт ).

h. Расположите объекты на форме в соответствии с рисунком.

Файл прямого доступа

_

Работа с файлом

Старт

Финиш

37

i.

j. Установите для объектов формы основные свойства в соответствии с таблицей.

k.

Объект

Свойство

Установленное значение

 

 

 

Label1

Caption

Работа с файлом

 

 

 

Text1

Text

Пусто

 

 

 

Text2

Text

Пусто

 

 

 

Text3

Text

Пусто

 

 

 

Command

Caption

Старт

1

 

 

 

 

 

Command

Caption

Финиш

2

 

 

 

 

 

l.

m.Щелкните по направленной вниз стрелке рядом с кнопкой <Add Form> на панели инструментов. К проекту будет добавлен модуль Module1.

n. В добавленном модуле следует ввести структуру записи

Type recordtype Nam As String*20 Nam1 As String*20 NomGz As String*8 End Type

o.Щелкните два раза по кнопке «старт» и войдите в окно программного

кода.

p.Наберите программный код процедуру заполнения файла прямого доступа записями заданной структуры с последующим чтением записи заданного номера.

Private Sub Command1_Click( ) Dim Rec As recordtype

Dim Nomer As Integer, Nomer1 As Integer Dim RecInt as Integer

Dim NomFile = FreeFile

Open ―D:\File1.txt‖ For Random As # NomFile Len = 48

Nomer = D0

Rec.Nam = InputBox(―Введите реквизит1‖)

Rec.Nam1 = InputBox(―Введите реквизит2‖) Rec.NomGz= InputBox(―Введите реквизит3‖)

38

Put # NomFile, Nomer, Rec

RecInt = MsgBox(―Ввод продолжить? Да или нет.‖, VbQuestion + Vb Yes

No,―Окно‖)

If RecInt = 6 Then

Nomer = Nomer + 1 Else

Exit D0

Next If

Loop

Nomer1 = InputBox(―Введите № записи, которую нужно выдать‖)

If Nomer1 <= Nomer And Nomer1 < > 0 Then Get # NomFile, Nomer1, Rec

Text1.Text = Rec.Nam

Text2.Text = RecNam1

Text3.Text = Rec.NomGz Else

MsgBox(―Запись не найдена, Vb Critical‖,‖Ошибка‖)

End If Exit Sub End Sub

Запустить программу для исполнения клавишей F5.

Ввести в окна сообщения данные и получить результат для вводавывода данных.

Сохраните проект в своей папке.

4.Контрольные вопросы.

Какие операции предусмотрены в VB 6.0 для работы с файлами? В чем отличия файлов прямого и последовательного доступа?

Какие команды используются для записи и чтения в файлах прямого и последовательного доступа?

Как распознать конец файла данных? Как распознать файл на диске?

39

Список литературы

1.Ананьев А., Федоров А. Самоучитель Visual Basic 6.0 -СПб.: БХВПетербург, 2005.

2.Гусева О.Л. Основы программирования Visual Basic. -М.: НГУ, 2004.

3Назаров С.В и др. Программирование на MS Visual Basic. -М.: Финансы

истатистика, 2001.

40

ДЛЯ ЗАМЕТОК

41

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