Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
68
Добавлен:
10.05.2015
Размер:
388.61 Кб
Скачать
  1. Vtf как com-клиент.

Для того чтобы получить ссылку на COM-объект нужно использовать функцию CreateObject(). В скобках указывается имя объекта и его класс.

Листинг программы экспорта в Word

Процедуру необходимо адаптировать к Вашему проекту.

  1. LOCAL loWord

  2. loWord=CREATEOBJECT("Word.Application")

  3. loWord.displayAlerts=.F.

  4. loWord.Documents.Add("Normal",.F.)

  5. with loWord

  6. .Visible=.t.

  7. with .Selection

  8. .Font.Bold=.T.

  9. .Font.SIZE=16

  10. .Font.NAME="Times New Roman"

  11. .ParagraphFormat.ALIGNMENT=1

  12. .typeText('Динамика выполнения дипломного проектирования на кафедре ИТС')

  13. .Font.SIZE=12

  14. .Font.NAME="Times New Roman"

  15. .typeParagraph

  16. .Font.Bold=.F.

  17. Use data1!rukovoditely

  1. SELECT TRIM(s_fam),Trim(r_fam),TRIM(group),Trim(sr_1),Trim(sr_2);

  2. FROM data1!rukovoditely;

  3. order by group,s_fam;

  4. INTO ARRAY a

  5. IF _TALLY>0

  6. .typeParagraph

  7. .typeText('')

  8. rowsCount=ALEN(a,1)

  9. colsCount=ALEN(a,2)

  10. loWord.ActiveDocument.TABLES.ADD(.RANGE,rowsCount+1,colsCount)

  11. T=.TABLES(1)

  12. WITH T

  13. .cell(1,1).RANGE.TEXT='Дипломник'

  14. .cell(1,1).RANGE.FONT.Bold=.T.

  15. .cell(1,2).RANGE.TEXT='Руководитель'

  16. .cell(1,2).RANGE.FONT.Bold=.T.

  17. .cell(1,3).RANGE.TEXT='Группа'

  18. .cell(1,3).RANGE.FONT.Bold=.T.

  19. .cell(1,4).RANGE.TEXT='На 27.11.06'

  20. .cell(1,4).RANGE.FONT.Bold=.T.

  21. .cell(1,5).RANGE.TEXT='На 12.12.06'

  22. .cell(1,5).RANGE.FONT.Bold=.T.

  23. j=2

  24. FOR j=2 TO rowsCount+1

  25. .cell(j,1).RANGE.TEXT=a[j-1,1]

  26. .cell(j,2).RANGE.TEXT=a[j-1,2]

  27. .cell(j,3).RANGE.TEXT=a[j-1,3]

  28. .cell(j,4).RANGE.TEXT=a[j-1,4]

  29. .cell(j,5).RANGE.TEXT=a[j-1,5]

  30. ENDFOR

  31. ENDWITH

  32. .EndKey(6)

  33. .typeParagraph

  34. RELEASE a

  35. ELSE

  36. .typeParagraph

  37. .typeText("Нет сведений о дипломниках")

  38. .typeParagraph

  39. ENDIF

  40. ENDWITH

  41. ENDWITH

  42. RELEASE TO WORD

Структура таблицы rukovoditely

r_fam

r_im

r_ot

s_im

s_fam

s_ot

group

С помощью этой процедуры выполняется SQL-запрос к таблице базы данных и распечатка результата этого запроса в виде таблицы с заданными полями.

Схема таблицы rukovoditely приведена на листе, где дан листинг программы. В этой таблице хранятся данные о ходе дипломного проектирования на кафедре, где

r_fam

r_im Фамилия, имя и отчество руководителя

r_ot дипломного проекта

s_fam

s_im Фамилия, имя и отчество студента

s_ot

group – учебная группа студента

Основные структуры программы.

Команда WITHENDWITH задает несколько свойств для объекта с помощью операторов свойств, следующих сразу за оператором WITH.

WITH <object Name>

<.cStatements>

ENDWITH

Параметры:

object Name – задается имя основного объекта;

cStatements – операторы VTF задающие свойства объекта.

Запрос к таблице базы данных: организуется с помощью операторов

use <имя базы данных . имя таблицы>

select

from

where

into

Результаты запроса сохраняются в массивеArray a (m,n), где m – количество строк, n – количество столбцов, и затем распечатываются в таблице “Динамика выполнения дипломного проектирования на кафедре ИТС” со следующей шапкой:

Дипломник

Руководитель

Группа

Контрольная дата 1

Контрольная дата 2

Оператор ALEN

rowsCount = ALEN (a,1)

определяет количество строк в массиве а и присваивает это значение переменной rowsCount.

colsCount = ALEN (a,2)

определяет количество столбцов в массиве а и присваивает это значение переменной cowsCount.

Функция .cell (N_строки, N_столбца) активирует заданную ячейку в таблице.

Свойства:

.Text – задает содержание ячейки;

.Bold=.T. – задает шрифту жирное выделение;

.Bold=.F. – убирает шрифту жирное выделение;

Соседние файлы в папке Лекции по Базам данных - версия 9.01.10