Учебные материалы по математике | Пример отображения на форме vb графика функции | Matematiku5
Вузы по математике Готовые работы по математике Как писать работы по математике Примеры решения задач по математике Решить задачу по математике online

Пример отображения на форме vb графика функции


Передвигает указатель мыши по диаграмме.

MouseUp

Закончил перемещение мыши и освободил кнопку.

Resize

Изменил размер диаграммы.

Select

Выделил некоторый элемент диаграммы

SeriesChange

Изменил значение точки ряда данных.

Построение обработчиков событий

Обработчики событий для объектов Workbook, Worksheet и объектов Chart, задающих листы диаграмм, построить нетрудно. Все эти события по умолчанию включены, поэтому для построения обработчика достаточно перейти в окно проектов, выбрать модуль, обрабатывающий события этого объекта, в окне объектов этого модуля выбрать нужный объект, а затем в окне событий и процедур выбрать из списка имя события. В результате этих действий появится заготовка, содержащая заголовок обработчика события, после чего останется написать код обработчика. Более сложно строятся обработчики событий для объектов Chart, задающих встроенные диаграммы. О том как создаются обработчики событий для тех объектов, у которых события по умолчанию выключены, я подробно рассказал при рассмотрении событий объекта Application. Остается только коротко напомнить схему действий:

·  Вначале нужно создать класс, в котором следует объявить объект Chart с событиями (With Events)

·  Затем нужно объявить глобальный объект созданного класса — объект, уже имеющий события. После этого остается написать инициализирующую процедуру, в которой связывается глобальный объект с объектом, задающим встроенную диаграмму.

·  Поскольку объект Chart с событиями появляется в окне созданного класса, то к нему применяется обычная схема создания обработчиков событий.

·  После запуска инициализирующей процедуры, объект, задающий встроенную диаграмму, будет реагировать на события.

48. Пример отображения на форме VB графика функции с использованием объектной модели MS Excel. Рассмотреть способ передачи графика через диск и через буфер обмена.

Пример. (Отобразить на форме график функции, используя объектную модель MS Excel.)

Private Sub Command1_Click()

Dim GraphFunc As String, FileName As String, ObjRange As Object

Dim xmin As Double, xmax As Double, h As Double, ObjExcel As Object

‘xmin — начало диапазона, xmax — конец, h — шаг

Dim n As Integer ‘ счетчик строк

Const xlLines = 4

Const xlColumns = 2

Const xlPrimary = 1

Const xlCategory = 1

Const xlLocationasObject = 2

‘Создаем объект OLE Automation

Set ObjExcel = CreateObject("Excel. Application")

‘Задаем свойства рабочей книги и листа

With ObjExcel

.WorkBooks. Add

.ActiveSheet. Name = "График"

.Visible = True

.DisplayAlerts = False

End With

ObjExcel. Range("A1:B150").Clear

‘ Присваиваем имя "X" ячейки A1

ObjExcel. Range("A1").Name = "X"

‘Считываем параметры графика из полей

GraphFunc = "=" & Text1

xmin = Text2

xmax = Text3

h = Text4

‘Задаем параметры графика и координатной сетки

With ObjExcel. WorkSheets("График")

.Range("A1").Value = xmin

.Range("A1").DataSeries RowCol:=xlColumns, Step:=h, Stop:=xmax

‘Определяем число заполненных строк

n = .Range("A2").CurrentRegion. Rows. Count

.Range("B1").Formula = GraphFunc

.Range("A1:A" & LTrim(CStr(n))).Name = "X"

.Range("B1").AutoFill Destination:=.Range(.Cells(1, 2), .Cells(n, 2)), Type:=0

End With

FileName = App. Path& "График. gif" ‘ App. Path – путь к файлу

With ObjExcel

.Charts. Add

.ActiveChart. ChartArea. Font. Size = 10

.ActiveChart. ChartArea. Font. Bold = True

.ActiveChart. ChartArea. Font. Name = "Times New Roman Cyr"

.ActiveChart. ChartType = xlLines

.ActiveChart. ChartArea. Interior. ColorIndex = 6 ‘Желтый

.ActiveChart. ChartArea. Border. ColorIndex = 5 ‘Синий

.ActiveChart. PlotArea. Interior. ColorIndex = 2 ‘Белый

.ActiveChart. SetSourceData Source:=.Sheets("График").Range("B1:B" & LTrim(CStr(n))), PlotBy:=xlColumns

.ActiveChart. SeriesCollection(1).XValues = "=График! R2C1:R" & LTrim(CStr(n) & "C1")

.ActiveChart. Location Where:=xlLocationasObject, Name:="График"

With. ActiveChart

.HasTitle = True

.ChartTitle. Characters. Text = Trim(Text1)

.Axes(xlCategory, xlPrimary).HasTitle = True

.Axes(xlCategory, xlPrimary).AxisTitle. Characters. Text = "X"

.HasLegend = False

.Export FileName, FilterName:="GIF"

End With

Image1.Picture = LoadPicture(FileName) ‘Загружаем график с диска

End With

ObjExcel. Quit ‘Закрываем Excel без сохранения

Set ObjExcel = Nothing ‘ Удаление объекта

End Sub

Private Sub Form_Load()

Caption = "Пример на OLE Automation"

Command1.Caption = "График"

Text1 = "3 * SIN(ABS(X)^0.5) + 0.35 * X — 3.8"

Text2 = "-1"

Text3 = "8"

Text4 = "0,1"

Text1.TabIndex = 0

End Sub

Когда запись на диск из прикладной программы невозможна (например, проект был запущен с компакт-диска), то диаграмму следует передавать на форму через буфер обмена. Тогда вместо следующих строк

FileName= App. Path& "Градус. gif"

ObjExcel. ActiveChart.ExportFileName, filtername:="GIF"

Image1.Picture = LoadPicture(FileName)

Следует записать строки:

ObjExcel. ActiveChart. ChartArea.Select

‘Если диаграмма была уже выделена, то не нужно методом Select дополнительно ее выделять

ObjExcel. ActiveChart. ChartArea.Copy

Image1.Picture = Clipboard.GetData

49. Методы SolverOK и SolverAdd библиотеки Solver. xla.

Кроме нахождения корня нелинейного уравнения с помощью библиотеки-надстройки Solver. xla можно находить корни систем уравнений и решать различные задачи оптимизации. Эта библиотека содержит набор функций (макросов). Основными из них являются: SolverOk, SolverAdd, SolverOptions, SolverSolve.

Функция SolverOk позволяет поставить задачу оптимизации решения. Она задает значения тех параметров, которые вручную устанавливаются пользователем в окне Поиска решения

Синтаксис:

SolverOk (SetCell, MaxMinVal, ValueOf, ByChange),

Где SetCell – задает ячейку, содержащую формулу с функцией цели;

MaxMinVal–задает тип задачи, решаемой для функции цели, и может иметь следующие значения: 1 –для задачи максимизации; 2 –для задачи минимизации; 3 –для задачи нахождения значения;

ValueOf–задает то значение, которое функция цели должна достичь, если значение параметра MaxMinVal равно 3;

ByChange–задает диапазон изменяемых ячеек, то есть тех ячеек, в которых размещены переменные оптимизационной задачи.

Функция SolverAdd позволяет добавлять ограничения в модель. Она задает значения тех параметров, которые вручную устанавливаются пользователем в окне Добавление ограничения

Синтаксис: SolverAdd(CellRef, Relation, FormulaText),

Где CellRef – задает ссылку на ячейку или диапазон ячеек из левой части ограничений;

Relation – задает тип соотношения между левой и правой частями ограничения и может иметь следующие значения: 1 – соответствует соотношению "<="; 2 – соответствует соотношению "="; 3 – соответствует соотношению">="; 4 – допустимыми значениями диапазона ячеек, заданного параметром CellRef, являются целые числа (значение параметра FormulaText опускается); 5 – допустимыми значениями диапазона ячеек, заданного параметром CellRef, являются толькочисла 0 и 1 (значение параметра FormulaText также опускается);

FormulaText – задает ссылку на ячейку или диапазон ячеек в правой части ограничений либо значение в правой части ограничений.

50. Методы SolverOptions, SolverSolve и SolverDelete, SolverSave, SolverLoad библиотеки Solver. xla.

Функция SolverOptions задает значения тех параметров Поиска решения, которые вручную устанавливаются в окне Параметры поиска решения

Синтакси: SolverOptions(MaxTime, Iterations, Precision, AssumeLinear, StepThru, Estimates, Derivatives, Search, IntTolerance, Scaling, Convergence, AssumeNonNeg).

Значение каждого параметра легче понять, глядя на рис. Так, MaxTime – задает максимальное время; Iterations – предельное число итераций; Precision – относительная погрешность; AssumeLinear – флажок Линейная модель; StepThru – флажок Показывать результаты итераций; Estimates – опция в рамке Оценки, Derivatives – опция в рамке Разности, Search – опция в рамке Метод поиска, IntTolerance – допустимое отклонение, Scaling – флажок Автоматическое масштабирование, Convergence – сходимость, AssumeNonNeg – флажок Неотрицательные значения.

Функция SolverSolve запускает Поиск решения. Ее действие эквивалентно нажатию на кнопку Выполнить окна Поиск решения.

Наташа

Автор

Наташа — контент-маркетолог и блогер, но все это не мешает ей оставаться адекватным человеком. Верит во все цвета радуги и не верит в теорию всемирного заговора. Увлекается «нефрохиромантией» и тайно мечтает воссоздать дома Александрийскую библиотеку.

Распродажа дипломных

 Скидка 30% по промокоду Diplom2020