Студентам > Курсовые > Анализ средствами Visual Basic и Microsoft Access
Анализ средствами Visual Basic и Microsoft AccessСтраница: 3/5
Form3.Show
Этот код скрывает вторую форму и делает видимой третью
форму.
В третьей форме, согласно заданию, необходимо провести сортировку данных о
Японии по цене на нефть. Для этого необходимо, во-первых, считать данные,
которые будут сортироваться. Для этого в первой форме в процедуру
Command2_Click () введем
код, позволяющий считывать данные из текстовых полей и заносить их в
вспомогательный файл, названный ‘data1’:
Open "data1" For Output As
#1
For i = 1 To 32
Write #1, mag(i), mas(i), ma(i), maq(i), maw(i),
mar(i), maz(i)
Next i
Close #1
Прежде чем проводить сортировку данных, необходимо
считать их из вспомогательного файла. Для этого создадим в третьей форме
командную кнопку с названием ‘Сортировка данных по цене на нефть’ и в
процедуру Command1_Click () введем следующий код:
Open "data1" For Input As #1
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
После того, как данные из вспомогательного файла будут
считаны, необходимо провести их сортировку по цене на нефть. Это значит, что
значения цены на нефть будут располагаться по возрастанию, а все остальные
значения показателей будут отображаться соответственно этим значениям.
Для того, чтобы после запуска программы при нажатии кнопки происходила
сортировка, необходимо в процедуру
Command1_Click () ввести
следующий код:
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
Else
GoTo 20
End If
30 If pr = False Then
GoTo 10
Else
GoTo 200
End If
200 End Sub
Это программа сортировки, позволяющая расположить
значения цены на нефть по возрастанию, а остальные значения – соответственно
этому.
После проведения сортировки данных по цене на нефть, необходимо вывести эти
сортированные данные в списки. Для этого в третьей форме создадим семь списков
(по количеству показателей), в которых будут отображаться сортированные данные.
Над ними разместим семь меток с названиями соответствующих списков: «Год»,
«Размер ВВП» и т. д. Для отображения в списках сортированных данных необходимо
создать в третьей форме вторую командную кнопку, для которой в окне свойств в
графе Caption установим
значение ‘Вывод сортированных данных’.
Чтобы сделать эту кнопку недоступной до проведения сортировки, в процедуру
Form_Load () добавим
код:
Command2.Enabled = False
Чтобы
сделать доступной кнопку вывода сортированных данных после нажатия кнопки
сортировки и недоступной саму кнопку сортировки, в процедуру Command1_Click () введем
код:
Command2.Enabled = True
Command1.Enabled = False
Для
того, чтобы после запуска программы при нажатии на вторую командную кнопку в
третьей форме сортированные данные отображались в
списках, необходимо
в процедуру
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
На этом операции, выполнение которых предусмотрено заданием, заканчиваются. Но
может возникнуть ситуация, когда пользователю будет нужно после выполнения всех
действий в третьей форме вернуться в первую или во вторую формы. Для
обеспечения возможности таких переходов, создадим в третьей форме рамку
(элемент управления Frame), в которой разместим два элемента управления
OptionButton. С помощью этих переключателей будет осуществляться
переход в первую или во вторую формы. Коды в них будут аналогичны кодам в
кнопках перехода от одной формы к другой:
Form3.Hide
Form1.Show для первого переключателя и
Form3.Hide
Form2.Show для второго переключателя.
После написания необходимых кодов ко всем элементам управления, можно перейти к
визуальному оформлению форм, используя такие свойства элементов управления, как
BackColor, ForeColor, Font, чтобы придать им желаемый внешний вид.
Согласно заданию, после того, как будут выполнены
все необходимые операции в третьей форме, надо посмотреть, существует ли
зависимость между ценой на нефть и темпами изменения размера внутреннего
валового продукта.
Исходя из соображений логики, можно сделать некоторые предварительные
заключения. Япония – страна с высоким уровнем развития, занимающая одну из
передовых позиций на мировом рынке. Но, как известно, она испытывает недостаток
в ресурсах, имеющихся в ее владении, поэтому вынуждена импортировать их из
других стран. Что касается нефти, которая крайне важна для любой страны, Япония
закупает ее у различных государств, в том числе и у России. Внутренний валовой
продукт включает в себя государственные расходы на все покупки ресурсов, а,
значит, и нефти. И хотя можно проследить зависимость между размером ВВП и
величиной цены на нефть, делать выводы о прямой пропорциональности цены на
нефть размеру ВВП, скорее всего, нельзя, так как необходимо принимать во
внимание множество прочих факторов, оказывающих влияние на экономическое
состояние страны, индикатором которого является внутренний валовой продукт. А
потому можно сказать, что, вероятно, на каком-либо небольшом отрезке времени будет
наблюдаться прямая зависимость цены на нефть от размера ВВП, но возможны также
периоды, где эта зависимость будет обратной. Для более полного анализа
необходимо иметь сведения о большом количестве экономических показателей и
принимать во внимание даже такие факторы, как ситуация в обществе, войны,
природные катаклизмы, положение в других странах и во всем мире в целом.
АЛГОРИТМ
В курсовом проекте были приведены коды для отдельных элементов управления. Ниже
даются тексты программ с комментариями для более полного восприятия.
· ДЛЯ ПЕРВОЙ ФОРМЫ:
Dim mas(40) As Single
Dim mag(40) As Single
Dim ma(40) As Single
Dim maq(40) As Single
Dim maz(40) As Single
Dim mar(40) As Single
Dim maw(40) As Single
Dim j, i As Integer
Dim h(10) As Single
Dim q(10) As Single
Dim w(10) As Single
Dim r(10) As Single
Dim p(10) As Single
Dim x(10) As Single
Private Sub Command1_Click()
Data1.Recordset.MoveFirst 'Переходит к
первой строке данных
MsgBox "Эта кнопка выведет средние значения данных за 4-летние
периоды, начиная с 1960 года!" ‘Выдает сообщение о кнопке’
For i = 1 To 32 'Ввод данных в массивы из текстовых полей
mag(i) = Text1.Text
mas(i) = Text2.Text
ma(i) = Text3.Text
maq(i) = Text4.Text
maw(i) = Text5.Text
mar(i) = Text6.Text
maz(i) = Text7.Text
Data1.Recordset.MoveNext 'Переходит к
следующей строке данных
Next i
j = 1
For i = 1 To 32 Step 4 'Вычисление
средних значений по данным и ввод их в массивы
h(j) = (mas(i) + mas(i + 1) + mas(i + 2) + mas(i + 3)) / 4
q(j) = (ma(i) + ma(i + 1) + ma(i + 2) + ma(i + 3)) / 4
w(j) = (maq(i) + maq(i + 1) + maq(i + 2) + maq(i + 3)) / 4
p(j) = (maz(i) + maz(i + 1) + maz(i + 2) + maz(i + 3)) / 4
r(j) = (mar(i) + mar(i + 1) + mar(i + 2) + mar(i + 3)) / 4
x(j) = (maw(i) + maw(i + 1) + maw(i + 1) + maw(i + 3)) / 4
j = j + 1
Next i
For i = 1 To 8 'Вывод средних значений
в списки
List2.List(i - 1) = h(i)
List3.List(i - 1) = q(i)
List4.List(i - 1) = w(i)
List5.List(i - 1) = p(i)
List6.List(i - 1) = r(i)
List7.List(i - 1) = x(i)
Next i
Dir1.Enabled = True
‘Делает доступным DirListBox
Drive1.Enabled = True ‘Делает доступным
DriveListBox
File1.Enabled = True
‘Делает доступным FileListBox
Command1.Enabled = False 'Делает кнопку
нахождения ср. значений недоступной
Label14.Visible = True ‘Делает видимой метку с сообщением
End Sub
Private Sub Command2_Click()
Open File1 For Output As #1 'Открывает
файл, выбранный пользователем
For i = 1 To 8 'Записывает данные в
файл
Write #1, h(i), q(i), w(i), p(i), r(i), x(i)
Next i
Close #1 'Закрывает файл
Open "data1" For Output As #1 'Создает
вспомогательный файл "data1"
For i = 1 To 32 'Записывает в него все
данные
Write #1, mag(i), mas(i), ma(i), maq(i), maw(i), mar(i), maz(i)
Next i
Close #1 'Закрывает файл
"data1"
Command2.Enabled = False 'Делает
кнопку записи данных в файл недоступной после записи
Command3.Enabled = True 'Делает
доступной кнопку перехода в др. форму
End Sub
Private Sub Command3_Click()
Form1.Hide 'Скрывает 1 форму
Form2.Show 'Показывает 2 форму
Command1.Enabled = True 'Делает доступной
кнопку нахождения средних значений
End Sub
Private Sub Dir1_Change()
File1 = Dir1 ‘Отображает в FileListBox файлы,
содержащиеся в DirListBox
End Sub
Private Sub Drive1_Change()
ChDrive Drive1 ‘Меняет диск
Dir1 = Drive1 ‘Отображает в
DirListBox каталоги диска, указанного в
DriveListBox
ChDir Dir1 ‘Меняет каталог
End Sub
Private Sub File1_Click()
Command2.Enabled = True 'Делает кнопку
записи данных в файл доступной
End Sub
Private Sub Form_Load()
Label14.Visible = False
‘Делает невидимой метку с сообщением
Dir1.Enabled = False
‘Делает недоступным DirListBox
Drive1.Enabled = False ‘Делает недоступным
DriveListBox
File1.Enabled = False ‘Делает недоступным
FileListBox
Command2.Enabled = False 'Делает кнопку
записи данных в файл недоступной
Command3.Enabled = False 'Делает
недоступной кнопку перехода в др. форму
MsgBox "Привет! Добро пожаловать в Visual Basic!" 'Выдает
сообщение ‘Выдает приветственное сообщение
End Sub
|