Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 [ 119 ] 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

30 26 20 15 Ю

5 -И

□ Группа 1 Г-:уппэ 2

□ Jjjynna

И1н«нени«

данкыя для

Изменены вк(Ай

Ткп J


Рис. 10.7. Форма для представления графиков с помощью MS Excel 7.0

В современных условиях все больше специалистов могут самостоятельно использовать стандартные пакеты программ. Например, готовить графики и другую расчетную информацию с помощью пакета Excel. В этом случае достаточно только правильно импортировать данные из СУБД в Excel. Один из возможных способов представлен ниже. Он реализован в форме "Характеристика модели автомобиля", разработка которой была описана в предыдущей главе.

Программный код для передачи данных в Microsoft Excel:

oleExcel=CREATEOBJECT("Excel.Application") &&Создаем объект Excel oleExcel.Visible=.T. && Делаем его видимым oleExcel.Workbooks.Add && Добавляем Книгу oleExcel.Selection.ColumnWidth = 20 && Ширина 1 колонки oleExcel.Range("B1").Select

oleExcel.Selection.ColumnWidth = 12 && Ширина 2 колонки oleExcel.Range("C1").Select

oleExcel.Selection.ColumnWidth = 12 && Ширина 3 колонки oleExcel.Columns("A:A").Select && Отмечаем 1 колонку oleExcel.Selection.WrapText = .T.

&& Перенос непоместившихся символов на следующую строку

oleExcel.Range("A1:C1").Select

oleExcel.Selection.HorizontalAlignment =7

&& Заголовок размещаем в 1, 2 и 3 ячейках первой строки

oleExcel.Range("A2:C2").Select

oleExcel.Selection.HorizontalAlignment = -4108

&& Центрируем 1, 2 и 3 ячейки второй

&& строки

oleExcel.Columns("A:B").Select

oleExcel.Selection.Borders(2).Weight=2 && Линия справа oleExcel.Columns("A:C").Select

oleExcel.Selection.Borders(3).Weight=2 && Нижняя линия oleExcel.Range("A2:C2").Select oleExcel.Selection.Borders(3).Weight=-4138 && Верхняя линия

oleExcel.Selection.Borders(4).Weight=-4138 && Нижняя линия oleExcel.Range("A1:C1").Select oleExcel.Selection.Font.Bold = .T. oleExcel.Selection.Font.ColorIndex = 25

oleExcel.ActiveCell.FormulaR1C1 = "Характеристика модели автомобиля"

oleExcel.Range("A2").Select

oleExcel.ActiveCell.FormulaR1C1 = "Наименование модели" oleExcel.Range("A2:C2").Select oleExcel.Selection.Font.Bold = .T.

oleExcel.Range("B2").Select



oleExcel.ActiveCell.FormulaR1C1 = "Мощность" oleExcel.Range("C2").Select

oleExcel.ActiveCell.FormulaR1C1 = "Крутящий момент" ******* Добавления значений ******* FOR I = 1 TO KOL Z

oleExcel.Cells(i+2,1).Value = all value(i,1) oleExcel.Cells(i+2,2).Value = all value(i,2) oleExcel.Cells(i+2,3).Value = all value(i,3) ENDFOR

******* Строим диаграмму ******* oleExcel.ActiveSheet.ChartObjects.Add(245, 10, 340, 270).Select oleExcel.ActiveChart.;

chartwizard(oleExcel.range(oleExcel.cells(2,1),oleExcel.cells(12,3)),;

-4100,5,1,1,1,2,"Десять лучших","","","")

&& Где:

&& Gallery - -4100,

&& Format - 5,

&& PlotBy - 1,

&& CategoryLabels - 1,

&& SeriesLabels - 1,

&& HasLegend - 2,

&& Title - "Десять лучших",

&& CategoryTitle - "",

&& ValueTitle - "",

&& ExtraTitle - "" ******* Изменяем угол просмотра ******* oleExcel.ActiveChart.Elevation = 0 oleExcel.ActiveChart.Rotation = 328

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

»я Ёадм Фщдаг Снушл Д»м 2

Lsv-I

i авттшЕии

ИРМ пи

HfliiHcuib

Turin

»

г, \..- -ri

J !:>"" 11;

з":-.::" :i

11 ::«CpJC

t?;L?№ 4.0

1J:li.

1 i: f.-h 1с; " jKer Jj6

1ь.14

i; ; :<iwnV1i:tiitna 1£

и;:(В!Л


J>« 14Мт«н>и flurrtuubJ щмшнп «« A«HUM

Рис. 10.8.

Построение отчета в Word for Windows

Чрезвычайно популярным пакетом для подготовки текстовой информации в нашей стране является текстовый процессор Word for Windows. Поэтому вполне объяснимо желание пользователя увидеть нужные ему данные в любимом редакторе и самостоятельно преобразовать



их в требуемый вид. Приведем образец кода для передачи данных из формы "Характеристика модели автомобиля" в Microsoft Word:

oleWord=CREATEOBJECT("Word.Basic")

oleWord.FileNewDefault

oleWord.AppShow

oleWord.FilePageSetup(„"2,54 см","2,54 см","2,5 см","1,5 см","0 см","21 см","29,7 см")

oleWord.FormatFont("14",0,9,0,0,0,0,1,0,"0 пт","0 пт",0,"", ,"Times New Roman Cyr", , 1)

oleWord.FormatParagraph( "0 см", "0 см","0 пт","0 пт", 0,"",1,1, 0, 0, 0, 0, 0,"0","0 см")

oleWord.Insert("Характеристика модели автомобиля")

oleWord.InsertPara

oleWord.InsertPara

*********Создание таблицы*************** oleWord.TableInsertTable( ,"3",ALLT(STR(Kol z+1))) oleWord.TableSelectColumn && Выделение колонки oleWord.LeftPara && Выравнивание по левому краю oleWord.TableSelectTable && Выделение таблицы oleWord.TableRowHeight("0",2,"25 пт","0 см", 0,1) oleWord.TableSelectColumn && Выделение колонки oleWord.LineDown(1)

oleWord.LineUp(1)

oleWord.TableSelectColumn && Выделение колонки

oleWord.TableColumnWidth("11 см","0,38 см") && Установка ширины выделенной колонки oleWord.NextCell

oleWord.NextCell

oleWord.TableSelectColumn && Выделение колонки oleWord.TableColumnWidth("3,5 см","0,38 см") oleWord.NextCell oleWord.NextCell

oleWord.TableSelectColumn && Выделение колонки oleWord.TableColumnWidth("3,5 см","0,38 см") oleWord.TableSelectTable && Выделение таблицы

oleWord.FormatBordersAndShading (3, 0, 2, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, "0 пт", 0, 0, 0,"0", -1)

oleWord.CharRight(1) oleWord.LineUp(1)

oleWord.TableSelectRow && Выделение ряда

oleWord.TableHeadings

oleWord.Bold

oleWord.CenterPara

oleWord.FormatParagraph("","","","",4,"25 пт")

oleWord.CharLeft(1)

oleWord.Insert("Наименование модели") oleWord.NextCell oleWord.Insert("Мощность") oleWord.NextCell

oleWord.Insert("Крутящий момент") oleWord.NextCell

******* Добавления значений в таблицу******* FOR I = 1 TO KOL Z

oleWord.Insert(all value(i,1))

oleWord.NextCell

oleWord.Insert(STR(all value(i,2))) oleWord.NextCell

oleWord.Insert(STR(all value(i,3)))

IF I<<KOL Z

oleWord.NextCell ENDIF ENDFOR

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 [ 119 ] 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146