RSS    

   Контрольная работа: Диаграммы в 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 с.


Страницы: 1, 2


Новости


Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

                   

Новости

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.