Drive1.Enabled = False ‘Делает недоступным DriveListBox
File1.Enabled = False ‘Делает недоступным FileListBox
Command2.Enabled = False 'Делает кнопку записи данных в файл недоступной
Command3.Enabled = False 'Делает недоступной кнопку перехода в др. форму
MsgBox "Привет! Добро пожаловать в Visual Basic!" 'Выдает сообщение ‘Выдает приветственное сообщение
End Sub
Private Sub Text1_Change()
Text1.Enabled = False 'Делает текстовое поле недоступным
End Sub
Private Sub Text2_Change()
Text2.Enabled = False 'Делает текстовое поле недоступным
End Sub
Private Sub Text3_Change()
Text3.Enabled = False 'Делает текстовое поле недоступным
End Sub
Private Sub Text4_Change()
Text4.Enabled = False 'Делает текстовое поле недоступным
End Sub
Private Sub Text5_Change()
Text5.Enabled = False 'Делает текстовое поле недоступным
End Sub
Private Sub Text6_Change()
Text6.Enabled = False 'Делает текстовое поле недоступным
End Sub
Private Sub Text7_Change()
Text7.Enabled = False 'Делает текстовое поле недоступным
End Sub
· ДЛЯ ВТОРОЙ ФОРМЫ:
Dim q(10) As Single
Dim t(10) As Single
Dim p As Integer
Dim per As Integer
Dim i, j As Integer
Dim a1(50) As Single
Dim a2(10) As Single
Dim a3(10) As Single
Dim a4(10) As Single
Dim a5(10) As Single
Dim a6(10) As Single
Private Sub Command1_Click()
Open File1 For Input As #1 'Открывает файл
For i = 1 To 8 'Считывает данные в массивы
Input #1, a1(i), a2(i), a3(i), a4(i), a5(i), a6(i)
L1.List(i - 1) = a1(i) 'Выводит в список данные о ВВП
Next i
Close #1 'Закрывает файл
j = 1
For i = 1 To 8
t(j) = a1(i + 1) - a1(i) 'Рассчет прироста ВВП
j = j + 1
Next i
For i = 1 To 7 ' Выводит данные о приросте в список
L2.List(i - 1) = t(i)
Next i
Command1.Enabled = False 'Делает недоступной кнопку вывода данных о приросте
Command2.Enabled = True 'Делает доступной кнопку нахождения max прироста
End Sub
Private Sub Command2_Click()
Max = 0 'Нахождение max прироста
For i = 1 To 7
If t(i) > Max Then
Max = t(i)
p = i 'Счетчик
End If
Next i
T1.Text = Max 'Выводит значение max прироста в текст. поле
If p = 1 Then 'Определяет период max прироста и выводит его в текст. поле
T2.Text = "1964 - 1967 гг."
End If
If p = 2 Then
T2.Text = "1968 - 1971 гг."
End If
If p = 3 Then
T2.Text = "1972 - 1975 гг."
End If
If p = 4 Then
T2.Text = "1976 - 1979 гг."
End If
If p = 5 Then
T2.Text = "1980 - 1983 гг."
End If
If p = 6 Then
T2.Text = "1984 - 1987 гг."
End If
If p = 7 Then
T2.Text = "1988 - 1991 гг."
End If
j = 1
For i = 1 To 8
q(j) = a1(i + 1) / a1(i) 'Рассчет отношения ВВП последующего периода к ВВП предыдущего периода
j = j + 1
Next i
For i = 1 To 7 'Находит и выводит в текст. поле период прироста в 50%, если такой имеется
If q(i) = 1.5 Then
per = i 'Счетчик
T3.Text = q(i)
Else
T3.Text = " ----------------------------"
T4.Text = "НЕТ"
End If
Next i
If per = 1 Then
T4.Text = "1964 - 1967 гг."
End If
If per = 2 Then
T4.Text = "1968 - 1971 гг."
End If
If per = 3 Then
T4.Text = "1972 - 1975 гг."
End If
If per = 4 Then
T4.Text = "1976 - 1979 гг."
End If
If per = 5 Then
T4.Text = "1980 - 1983 гг."
End If
If per = 6 Then
T4.Text = "1984 - 1987 гг."
End If
If per = 7 Then
T4.Text = "1988 - 1991 гг."
End If
Command1.Enabled = False ‘Делает недоступной кнопку нахождения ВВП
Command2.Enabled = False 'Делает недоступной кнопку рассчета max прироста
Command3.Enabled = True 'Делает доступной кнопку перехода в др. форму
End Sub
Private Sub Command3_Click()
Form2.Hide 'Скрывает 2 форму
Form3.Show 'Показывает 3 форму
Command1.Enabled = True ' Делает доступной кнопку рассчета прироста ВВП
End Sub
Private Sub Dir1_Change()
File1 = Dir1
End Sub
Private Sub Drive1_Change()
ChDrive Drive1
Dir1 = Drive1
ChDir Dir1
End Sub
Private Sub File1_Click()
Label7.Visible = False ‘Делает невидимой метку с собщением
Command1.Enabled = True ‘Делает доступной кнопку нахождения прироста ВВП
Drive1.Enabled = False ‘Делает недоступным DribeListBox
Dir1.Enabled = False ‘Делает недоступным DirListBox
End Sub
Private Sub Form_Load()
Command1.Enabled = False ‘Делает недоступной кнопку нахождения прироста ВВП
T1.Enabled = False 'Делает недоступными текст. поля
T2.Enabled = False
T3.Enabled = False
T4.Enabled = False
Command2.Enabled = False 'Делает недоступной кнопку рассчета max прироста
Command3.Enabled = False 'Делает недоступной кнопку перехода в др. форму
End Sub
· ДЛЯ ТРЕТЬЕЙ ФОРМЫ:
Dim maq(40) As Single
Dim mag(40) As Single
Dim ma(40) As Single
Dim mas(40) As Single
Dim maz(40) As Single
Dim mar(40) As Single
Dim maw(40) As Single
Dim buf1 As Single
Dim buf2 As Single
Dim buf3 As Single
Dim buf4 As Single
Dim buf5 As Single
Dim buf6 As Single
Dim buf As Single
Private Sub Command2_Click()
For i = 1 To 32 'Вывод сортированных данных в списки
List1.List(i - 1) = mag(i)
List2.List(i - 1) = mas(i)
List3.List(i - 1) = ma(i)
List4.List(i - 1) = maq(i)
List5.List(i - 1) = maw(i)
List6.List(i - 1) = mar(i)
List7.List(i - 1) = maz(i)
Next i
Command2.Enabled = False 'Делает недоступной кнопку вывода сортированных данных
End Sub
Private Sub Command1_Click()
Command1.Enabled = False ‘Делает недоступной кнопку сортировки
MsgBox "Эта кнопка проведет сортировку данных по возрастанию цены на нефть!" ‘Вывод сообщения
Command1.Enabled = True 'Делает доступной кнопку вывода сортированных данных
Open "data1" For Input As #1 'Открывает файл "data1"
For i = 1 To 32 Считывает данные из файла в массивы
Input #1, mag(i), mas(i), ma(i), maq(i), maw(i), mar(i), maz(i)
Next i
Close #1
10 pr = True 'Сортировка по возрастанию цены на нефть
i = 1
20 If ma(i) > ma(i + 1) Then
buf = ma(i)
buf1 = mag(i)
buf2 = mas(i)
buf3 = maq(i)
buf4 = maw(i)
buf5 = mar(i)
buf6 = maz(i)
ma(i) = ma(i + 1)
mag(i) = mag(i + 1)
mas(i) = mas(i + 1)
maq(i) = maq(i + 1)
maw(i) = maw(i + 1)
mar(i) = mar(i + 1)
maz(i) = maz(i + 1)
ma(i + 1) = buf
mag(i + 1) = buf1
mas(i + 1) = buf2
maq(i + 1) = buf3
maw(i + 1) = buf4
mar(i + 1) = buf5
maz(i + 1) = buf6
pr = False
End If
i = i + 1
If i = 32 Then
GoTo 30 'Переход на 30 строку
Else
GoTo 20 'Переход на 20 строку
End If
30 If pr = False Then
GoTo 10 'Переход на 10 строку
Else
GoTo 200 'Переход на 200 строку
End If
200 End Sub
Private Sub Form_Load()
Command2.Enabled = False 'Делает недоступной кнопку вывода сортированных данных
End Sub
Private Sub Option1_Click()
MsgBox "Перейти к первой форме?" ‘Выдает сообщение
Form3.Hide 'Скрывает 3 форму
Form1.Show 'Показывает 1 форму
Command1.Enabled = True 'Делает доступной кнопку нахождения ср. значений
Command2.Enabled = True 'Делает доступной кнопку записи в файл
End Sub
Private Sub Option2_Click()
MsgBox "Перейти ко второй форме?" ‘Выдает сообщение
Form3.Hide 'Скрывает 3 форму
Form2.Show 'Показывает 2 форму
Command1.Enabled = True 'Делает доступной кнопку нахождения темпов изменения ВВП
Command2.Enabled = True 'делает доступной кнопку нахождения max прироста ВВП
End Sub
Ниже приводятся формы, как они выглядят в режиме проектирования, то есть до запуска программы.
ПЕРВАЯ ФОРМА
ВТОРАЯ ФОРМА
ТРЕТЬЯ ФОРМА
Далее приводятся формы в режиме Run, то есть после запуска программы.
ПЕРВАЯ ФОРМА
1. После рассчета средних значений данных за 4-летние периоды:
2.
ВТОРАЯ ФОРМА
1. После считывания данных, определения ВВП и темпов его изменения:
2. После нахождения периода максимального прироста и прироста в 50%:
ТРЕТЬЯ ФОРМА
1.После проведения сортировки:
Чтобы убедиться, что в процессе выполнения программ данные действительно записываются в файл, ниже показана структура файлов, использованных в проекте: