Контрольная работа: Диаграммы в Visual Basic
Dim i As Integer
Dim a As Variant ' переменная для хранения списка названий
a = Array («Торт Пражский», «Крупа гречневая», «Кофе ЧИБО», «Вафли шоколадные», «Бананы», «Яблоки», «Конфеты Коркунов», «Сосиски молочные», «Всего»)
' настройки таблицы
Form1.MSFlexGrid1. ColWidth(0) = 4200
Form1.MSFlexGrid1. ColWidth(1) = 3000
Form1.MSFlexGrid1. Col = 0
Form1.MSFlexGrid1. Row = 0
Form1.MSFlexGrid1. Text = «Товар»
Form1.MSFlexGrid1. Col = 1
Form1.MSFlexGrid1. Text = «Стоимость, руб.»
' заполнение данными
For i = 0 To 8
Form1.MSFlexGrid1. Col = 0
Form1.MSFlexGrid1. Row = i + 1
Form1.MSFlexGrid1. Text = a(i)
Name_Tovar(i) = a(i)
Next i
' настройка диаграммы
Form1.MSChart1. Title = «Диаграмма стоимости товаров»
Form1.MSChart1. Plot. Axis(0).AxisTitle. Text = «Товары»
Form1.MSChart1. Plot. Axis(1).AxisTitle. Text = «Цена»
End Sub
Public Sub Column_Data()
' процедура заполняет графу цен случайными значениями
Dim i As Integer
Dim k As Integer
Form1.MSFlexGrid1. Col = 1
Randomize
For i = 1 To 8
k = Rnd(1) * 100
Form1.MSFlexGrid1. Row = i
Form1.MSFlexGrid1. Text = Format$(k, «#0.00»)
Next i
End Sub
Public Sub Sort()
' сортировка списка по-возрастанию цены
Dim i, k As Integer
Dim R As String ' временная переменная для хранения названия товара
Dim P As Currency ' временная переменная для хранения цены товара
For i = 0 To 7
Form1.MSFlexGrid1. Col = 1
Form1.MSFlexGrid1. Row = i + 1
Price(i) = Val (Form1.MSFlexGrid1. Text)
Next i
' сортировка
For k = 0 To 7
For i = 0 To 6
If Price(i) > Price (i + 1) Then
R = Name_Tovar(i)
P = Price(i)
Price(i) = Price (i + 1)
Name_Tovar(i) = Name_Tovar (i + 1)
Name_Tovar (i + 1) = R
Price (i + 1) = P
End If
Next i
Next k
' перезаполнение таблицы
For i = 0 To 7
Form1.MSFlexGrid1. Col = 0
Form1.MSFlexGrid1. Row = i + 1
Form1.MSFlexGrid1. Text = Name_Tovar(i)
Form1.MSFlexGrid1. Col = 1
Form1.MSFlexGrid1. Text = Format$(Price(i), «#0.00»)
Next i
End Sub
Public Sub MyChart()
' процедура отображения табличной информации на диаграмме
Dim i As Integer
Form1.MSChart1. ColumnCount = 1
Form1.MSChart1. RowCount = 8
For i = 1 To 8
Form1.MSChart1. Row = i
Form1.MSChart1. Data = Price (i – 1)
Form1.MSChart1. RowLabel = Name_Tovar (i – 1)
Next i
End Sub
Public Sub EditGridData()
' окно редактирования стоимости товара
Dim s As String
If Form1.MSFlexGrid1. Col = 1 Then
s = InputBox («Введите новую стоимость для товара» + Name_Tovar (Form1.MSFlexGrid1. Row – 1), «Изменение стоимости», Form1.MSFlexGrid1. Text)
If (s <> Form1.MSFlexGrid1. Text) And (Len(s) <> 0) Then
Form1.MSFlexGrid1. Text = s
End If
End If
End Sub
Public Sub UpdateChart()
' процедура выводит информацию о свободном месте на диске в mschart1
' создаем объекты файловой системы для получения информации о дисках
Dim fso As Object
Dim dr As Object
Set fso = CreateObject («Scripting. FileSystemObject»)
Set dr = fso. GetDrive (Mid(Dialog. Drive1. Drive, 1, 1))
' заполняем массив, который послужит источником данных для диаграммы
Dim arrData (0, 1 To 3)
arrData (0, 1) = «Диск» & Dialog. Drive1. Drive
arrData (0, 2) = dr. FreeSpace
arrData (0, 3) = dr. TotalSize – dr. FreeSpace
Dialog.MSChart1. ChartData = arrData
Dialog.lFreeSpace. Caption = «Свободно:» + Format$(dr. FreeSpace / 1048576, «#0.00») +» МБ»
End Sub
Public Sub SaveChart()
' сохраняем диаграмму в папку, выбранную пользователем
Dim i As Integer
Dim s As String
i = 0
Do
i = i + 1
s = Dialog. Dir1. Path + «\» + Format(i) +».bmp»
Loop While PathFileExists(s) = 1
Form1.MSChart1. EditCopy
SavePicture (Clipboard. GetData, s)
MsgBox («Диаграмма сохранена в файл:» + s)
End Sub
Процедуры и функции из вышеописанного модуля вызываются по следующим событиям формы:
Private Sub Command1_Click()
' подсчитываем стоимость всех товаров
Summa
End Sub
Private Sub Command2_Click()
' упорядочиваем список товаров по стоимости
Sort
End Sub
Private Sub Command3_Click()
' отображаем таблицу в диаграмме
MyChart
Command5. Enabled = True
End Sub
Private Sub Command4_Click()
' генерируем случайные цены
Column_Data
End Sub
Private Sub Command5_Click()
' показываем диалог сохранения диаграммы
Dialog. Show 1
End Sub
Private Sub Command6_Click()
' завершаем работу приложения
End
End Sub
Private Sub Form_Load()
' заполняем таблицу и выравниваем форму по центру экрана
Dim w, h As Integer
Column_Name
Column_Data
h = Screen. Height
w = Screen. Width
Form1. Left = (w – Form1. Width) / 2
If Form1. Left < 0 Then Form1. Left = 0
Form1. Top = (h – Form1. Height) / 2
If Form1. Top < 0 Then Form1. Top = 0
End Sub
Private Sub MSFlexGrid1_DblClick()
' открываем окно редактирования стоимости выбранного продукта
EditGridData
End Sub
Private Sub Option1_Click()
' изменяем тип диаграммы на 2D Bar
MSChart1.chartType = VtChChartType2dBar
End Sub
Private Sub Option2_Click()
' изменяем тип диаграммы на 2D Line
MSChart1.chartType = VtChChartType2dLine
End Sub
Private Sub Option3_Click()
' изменяем тип диаграммы на 3D Line
MSChart1.chartType = VtChChartType3dLine
End Sub
Private Sub Option4_Click()
' изменяем тип диаграммы на 3D Bar
MSChart1.chartType = VtChChartType3dBar
End Sub
Помимо главной формы, в проекте представлена диалоговая форма сохранения диаграммы. Исходный код модуля имеет следующий вид:
Option Explicit
Private Sub CancelButton_Click()
' закрываем диалоговую форму
Me. Hide
End Sub
Private Sub Drive1_Change()
' при изменении диска, обновляем диаграмму и директорию в Dir1
On Error GoTo errmsg
Dir1. Path = Drive1. Drive
UpdateChart
Exit Sub
errmsg:
MsgBox («В данный момент выбранный диск недоступен»)
End Sub
Private Sub Form_Load()
' выравниваем форму по центру экрана
Dim w, h As Integer
h = Screen. Height
w = Screen. Width
Dialog. Left = (w – Dialog. Width) / 2
If Dialog. Left < 0 Then Dialog. Left = 0
Dialog. Top = (h – Dialog. Height) / 2
If Dialog. Top < 0 Then Dialog. Top = 0
UpdateChart
End Sub
Private Sub OKButton_Click()
' сохраняем изображение в выбранной папке
SaveChart
Me. Hide
End Sub
Заключение
диаграмма программный язык интерфейс
В данной работе была создана программа, демонстрирующая основные возможности диаграмм. Для ее написания был использована среда разработки Visual Basic 6.0. В ходе работы были продемонстрированы основные возможности диаграмм, а также средства Visual Basic для их реализации. Была подтверждена простота и удобство создания приложений в среде Visual Basic.
Способ, которым информация представляется в диаграммах, позволяет быстро работать с большими объемами данных. Например, главная форма программы, представляет таблицу товаров и их стоимостей. Если бы человек искал товар с наибольшей стоимостью, ему пришлось бы перебирать весь список и сравнивать цены. В диаграмме же достаточно одного взгляда, чтобы выявить товар с наибольшей ценой и выделить его из списка. Если эту функцию может выполнить упорядочивание товаров по цене, то оценка разброса значений – критерий субъективный и диаграмма позволяет пользователю сделать этот вывод, всего лишь окинув ее взглядом.
Диаграмма на диалоговой форме сохранения изображения позволяет пользователю визуально оценить наличие свободного пространства на диске и решить куда сохранять файл.
Задача данного курсового проекта выполнена. Доказана польза и удобство использования диаграмм, представлены способы их реализации средствами Visual Basic.
Список использованной литературы
1. Браун С. Visual Basic 5 c самого начала – СПб: Питер, 1998
2. Иванов М.Н., Суворов С.В. Информатика Часть 2. Программирование. Учебно-методическое пособие – М.; МГИУ, 2004
3. Использование Visual Basic 6.: Пер. с англ. – К.; М.; СПб.: Издательский дом «Вильямс», 1999. – 608 с.
4. Материалы сайта www.visual2000.ru
5. Материалы сайта www.compress.ru
6. Visual Basic 6. Руководство разработчика: В 2 т.: Пер с англ. – К.: Издательская группа BHV, 2000. – Т 2 – 560 с.