Использование элементов управления при проектировании форм приложения

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

ble = .T.

WAIT

 

< Пример 4: Рассмотрим подробнее параметры метода ChartWizard.

lExpression.ChartWizard(Source, Gallery, Format, PlotBy, CategoryLabels, SeriesLabels, HasLegend, Title, CategoryTitle, ValueTitle, ExtraTitle).ource - источник данных диаграммы

Gallery - тип диаграммы. Может принимать следующие значения:

- Диаграмма с областями

- Линейная диаграмма

- Гистограмма

- График

- Круговая диаграмма

- Лепестковая диаграмма

- Точечная диаграмма

- Нестандартная, график\гистограмма

- Объемный вариант диаграммы с областями

- Объемный вариант линейной диаграммы

- Объемный вариант гистограммы

- Объемный вариант графика

- Объемный вариант круговой диаграммы

- Объемный вариант поверхности

- Кольцевая диаграмма

Format - Разновидность диаграммы, выбранной в параметре Gallery.

PlotBy - Определяет ряды в строках или столбцах. Значение 1 - строки, 2 - столбцы.

SeriesLabels - Имена рядов данных. Задается номер столбца или строки, содержащей названия рядов, отображаемые в легенде.

HasLegend - Определяет включать или нет легенду в диаграмму.

Title - Название диаграммы

CategoryTitle - заголовок оси Х

ValueTitle - заголовок оси Y.

Часто на практике необходимо использовать не просто числовые значения, а данные таблиц. Рассмотрим пример создания рабочего листа с диаграммой, где исходные данные для диаграммы берутся из таблиц Money и Kyrs. Рассмотрим динамику изменения курса одной валюты, для выбора валюты используем элемент управления ComboBox, источником данных для которого является код валюты. Наименование валюты хранится в элементе TextBox - txtName_val.

Public data_n,data_f,n

*Записываем в переменные начальную и конечную дату для выборки,

*которые хранятся в элементах TextBox - text1 и text2.

data_n = ThisForm.text1.Value_f = ThisForm.text2.Value

*Используя команды SELECT проводим выборку значений из таблиц

*и записываем их в курсор kurs

Select k.kod_val, v.name_val, k.kyrs_pok, k.kyrs_prod, k.data_kurs;kurs K, money V; Where K.kod_val=V.kod_val; And K.kod_val=val(Alltrim(ThisForm.Combo1.DisplayValue)); And (Between(K.data_kurs,data_n,data_f)); Group By K.data_kurs; Into cursor kurs

*Для удобства использования данных при построении диаграммы

*необходимые значения можно записать из курсора в массив

select k.kyrs_pok, k.kyrs_prod, k.data_kurs, k.name_val; kursy k;array kursy

*Переменная для подсчета количества строк в массиве

n = Alen(kursy,1)= CreateObject("Excel.Application")

*Добавляем книгу.WorkBooks.Add.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(1,1).Value='Покупка'.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(1,2).Value='Продажа'.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(1,3).Value='Дата'

*Заполняем ячейки первого листа книги значениями из массива *kursy

For i=1 to n.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(i+1,1).Value=kursy(i,1).WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(i+1,2).Value=kursy(i,2).WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(i+1,3).Value=kursy(i,3)

*Добавляем диаграмму .Charts.Add

*Выделение данных, создание диаграммы

Fula='A1:B'+Transform(n)

oExlApp.ActiveChart.ChartWizard(oExlApp.WorkBooks.Item(1).WorkSheets.Item(1).Range(Fula),4,2,2,,1,1,ThisForm.txtName_val.Value+' - График изменения курса по дням','Дата','Курсы в тенге')

*Используя язык макросов Excel, можно создать подписи к оси X

oExlApp.ActiveChart.SeriesCollection(1).XValues = '=Лист1!R1C3:R'+Transform(n)+'C3'

*Сохраняем и закрываем книгу..WorkBooks(1).SaveAs('C:\Temp.xls').WorkBooks(1).CloseoExlAppForm "C:\a\graph.scx"

Чтобы просматривать диаграмму с помощью формы, необходимо сделать следующее. Создаем таблицу Tgraph с полем типа General. Создаем форму Graph.scx, с размещенным на ней элементом OLEBOUNDCONTROL, источником данных для которого является поле таблицы Tgraph.

В событие Init формы записываем:

CLOSE TABLE ALLTgraph1ALL IN 1 NOOPTIMIZEBLANK && Добавляем запись

*Вставляем в поле General объект Excel

Append General gen FROM ('C:\Temp.xls') Class ExcelChart.oleboundcontrol1.refresh().oleboundcontrol1.visible=.t.

< Пример 5: Для расчитывания сложных математических задач посредством Excel, можно использовать функции Excel.

*Рассчитываем произведение матриц

*Диапазон ячеек, куда будет сохраняться результат произведения

Fla = 'A'+Transform(m)+':E'+Transform(m+4)

*формула расчитывающая произведение двух матриц= '=MMULT(A'+Transform(m+2-7)+':E'+Transform(m+2+4-7)+',A'+Transform(m-n+1-7)+':E'+Transform(m-7)+')'.Application.WorkBooks.Item(1).WorkSheets.Item(1).(Fla).FormulaArray = Formula

*Рассчитываем обратную матрицу

Fla = 'A'+Transform(m4+1)+':E'+Transform(m4+1+4)= '=MINVERSE

(A'+Transform(m3+1)+':E'+Transform(m3+1+4)+')'.Application.WorkBooks.Item(1).WorkSheets.Item(1).Range(Fla).FormulaArray = Formula

*Рассчитываем среднее значение= '=AVERAGE(A'+Transform(2)+':A'+Transform(n+1)+')'.Application.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(m6+1,1).Formula = Formula

*Рассчитываем степень числа= '=POWER(A'+Transform(m7+i)+',2)'.Application.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(m7+i,6).Formula = Formula

*Рассчитываем сумму ряда и корень из полученного числа

Formula = '=SUM(J'+Transform(m7+1)+':J'+Transform(m7+n)+')'.Application.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(m8,10).Formula = Formula= '=SQRT(F'+Transform(m8)+')'.Application.WorkBooks.Item(1).WorkSheets.Item(1).Cells.Item(m8+1,6).Formula = Formula

1)Спроектировать запрос (реализовать в виде формы), в результате работы которого выполнить следующие действия:

а) данные из .DBF таблицы передать в Excel;

в) полученные данные в Excel обработать с помощью Мастера функций;

с) построить график в Excel по данным результата вычислений;

д) создать отчет в VFP и добавить к нему построенный график из Excel.

 

9. Использование элементов управления ActiveX при проектировании приложения пользователя

 

Элементы управления ActiveX являются одним из наиболее мощных средств создания приложений. Элемент ActiveX представляет собой файл с расширением OCX, который имеет интерфейс для управления свойствами, событиями и методами элементов ActiveX как на этапе проектирования, так и во время работы приложения.

Перечень поставляемых с Visual FoxPro элементов управления ActiveX приведен в таблице 1.

 

Таблица 1 Элементы управления ActiveX

Имя файлаЭлемент управления ActiveXНазначениеCOMCTRL.OCXImageList ControlДля хранения коллекции объектов ListImageListView ControlДля отображения списков различных объектовProgressBar ControlДля визуально?/p>