Документ взят из кэша поисковой машины. Адрес оригинального документа : http://hist.msu.ru/Departments/Inf/Stud/les4.doc
Дата изменения: Tue Apr 7 05:38:26 2009
Дата индексирования: Tue Oct 2 01:52:42 2012
Кодировка: koi8-r

Занятие 4 (10 марта).
Часть 2 (методическая).
. Работа с изображениями и анимацией
. Компоненты
. Встроенные функции
. Ввод/вывод информации

Часть 3 (практикум).
. Рандомизация.
. Открытие и закрытие файлов.
. Запись и чтение файлов.
. Создание рабочей формы для теста.
*************************

Упражнение 1
Создать форму с двумя текстовыми полями, двумя командными кнопками, двумя
метками и одним окном рисунка со свойством PictureSizeMode = 3 (zoom).
У первой кнопки свойство Caption - "Загрузить картинку", у второй
"Сохранить картинку". У первой метки свойство Caption - "Введите имя файла
с картинкой", у второй " Введите имя файла для сохранения картинки".
Загружаться картинка будет из файла, имя которого задается в первом
текстовом поле, сохраняться - в файл, имя которого задается во втором
текстовом поле.

Код 1
Private Sub CommandButton1_Click()
If TextBox1.Text = "" Then
Label1.ForeColor = vbRed
End If
Image1.Picture = LoadPicture(TextBox1.Text) 'Картинка из файла, заданного в
1-м поле, загружается в объект Image
End Sub

Private Sub CommandButton2_Click()
If TextBox2.Text = "" Then
Label2.ForeColor = vbRed
Else
SavePicture Image1.Picture, TextBox2.Text 'Картинка из объекта Image
загружается в файл, заданный во 2-м поле
End If
End Sub


Упражнение 2
Создать форму, на которой разместить кнопку и текстовое поле. При нажатии
на кнопку текстовое поле будет сдвигаться на 10 пикселей (попробуйте
самостоятельно проделать это с другим объектом).

Код 2
Private Sub CommandButton3_Click()
TextBox3.Left = TextBox3.Left + 10 'текстовое поле при щелчке будет
сдвигаться на десять пикселей (вместо текстового поля можно указать любой
другой объект).
End Sub
Упражнение 3
Создать форму с кнопкой, текстовым полем (свойство текст=Цвет) и
компонентом Microsoft Common Dialog Control 6.0 (свойство имя=CD1). Если
компонент отсутствует на панели элементов управления, его можно добавить:
Tools -> Additional Controls -> Microsoft Common Dialog Control 6.0.
При нажатии на командную кнопку будет появляться палитра цветов. После
выбора цвета текст в текстовом поле будет меняться на выбранный

Код 3
Private Sub CommandButton4_Click()
CD1.ShowColor ' Вызов стандартного окна выбора цвета
TextBox4.ForeColor = CD1.Color ' Текст будет показан таким же цветом, какой
был выбран
End Sub


Упражнение 4
Создать форму с кнопкой, текстовым полем и компонентом Microsoft Common
Dialog Control 6.0 (свойство имя=CD1). При нажатии на командную кнопку
будет появляться окно диалога открытия файла. После выбора файла в
текстовом поле появится его имя.

Код 4
Private Sub Commandbutton1_Click()
CD1.ShowOpen 'Вызов стандартного окна открытия файла
TextBox1.Text = CD1.FileName 'В текстовом окне появится имя выбранного
файла
End Sub

Замечание. Некоторые свойства Common Dialog:
InitDir определяет диск и папку, которая будет открыта первой.
Filter - фильтр, например, *.doc

Упраженение 5
Создать форму и поместить на нее 5 текстовых полей.
Объявить два массива: числовой (j1) и текстовый (v) по 5 элементов каждый.
Значения массива v:
"Первый", "Второй", "Третий", "Четвертый", "Пятый"
Массив j1 должен содержать перемешанные в случайном порядке числа от 1 до
5, для чего используется генератор случайных чисел. В результате в
текстовых полях должны появиться элементы массива v в случайном порядке
(повторы не допускаются!)

Код 5
Dim j1(1 To 5) As Integer, v(1 To 5) As String
Private Sub UserForm_Click()
v(1) = "Первый"
v(2) = "Второй"
v(3) = "Третий"
v(4) = "Четвертый"
v(5) = "Пятый"
For j = 1 To 5
start: Randomize
j1(j) = Int(5 * Rnd + 1)
For i = 1 To j - 1
If j1(j) = j1(i) Then GoTo start
Next i
Next j
TextBox1.Text = v(j1(1))
TextBox2.Text = v(j1(2))
TextBox3.Text = v(j1(3))
TextBox4.Text = v(j1(4))
TextBox5.Text = v(j1(5))
End Sub

Работа с файлами
open "имя файла" for режим as номер канала
операторы
сlose номер канала

"Имя файла" - полный путь
Режимы:
Input - для чтения данных из файла;
Append - для записи в конец существующего (создаваемого) файла
Output - для записи в существующий (создаваемый) файл. Старое
содержимое стирается.
Номер канала должен быть не занят.

Упражение 6
Создать форму с командной кнопкой и текстовым полем. При нажатии на кнопку
вводится построчно файл, содержащий массив из 25 строк и 7 столбцов (тест).
После ввода текста 20-я строка выводится в текстовое поле (свойство
multiline=True).

Код 6
Private Sub commandbutton2_Click()
Open "c:\test.txt" For Input As #1
For i = 1 To 25
For j = 1 To 7
Line Input #1, v(i, j)
Next j
Next i
Close #1
TextBox1.Text = ""
For i = 1 To 7
TextBox1.Text = TextBox1.Text & v(20, i) & Chr(10)
Next i
End Sub

Упражнение 7
Создать форму с командной кнопкой и текстовым полем. При нажатии на кнопку
в файл результатов и в текстовое поле построчно добавляются данные.

Код 7
Private Sub commandbutton3_click()
student = "Иванов" + Str(5)
TextBox1.Text = TextBox1 + student + Chr(10)
Open "C:\res.txt" For Append As #2
Print #2, student
Close #2
student = "Петров" & Str$(4)
TextBox1.Text = TextBox1 + student + Chr(10)
Open "C:\res.txt" For Append As #2
Print #2, student
Close #2
student = "Сидоров " & 3
TextBox1.Text = TextBox1 + student + Chr(10)
Open "C:\res.txt" For Append As #2
Print #2, student
Close #2
End Sub