Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.04.2012, 12:10
kulinar kulinar вне форума
Прохожий
 
Регистрация: 29.04.2012
Сообщения: 1
Репутация: 10
Вопрос Word в Делфи в чем ошибка?

Как сделать так что было как на картинки?
Код:
procedure TClav.N10Click(Sender: TObject);
var 
i:integer;
k,b:OleVariant;
begin
WordApplication1.Visible:= true;
WordApplication1.Connect;
WordDocument1.Connect;
//====================================================================================
k:=23;
b:=0;
WordDocument1.Range(b).Text:='Отчет по подразделениям';
WordDocument1.Range(b).Select;
WordDocument1.Range.ParagraphFormat.LineSpacing:= 20;
WordDocument1.Range.Font.Size:=16;
WordDocument1.Range.ParagraphFormat.Alignment:=$00000001;
//====================================================================================
for i:=2 to ADOQuery1.RecordCount+1  do
 begin
  WordDocument1.Range(b).InsertBefore(ADOQuery1.FieldValues['podr']);
  WordDocument1.Range(b).Select;
  WordApplication1.Selection.Font.Size:=12;
  WordApplication1.Selection.ParagraphFormat.Alignment:=$00000000;
  WordApplication1.Selection.TypeParagraph;
  WordDocument1.Range(b).InsertAfter(ADOQuery1.FieldValues['sot_familiya']+' '+ADOQuery1.FieldValues['sot_imya']+' '+ADOQuery1.FieldValues['sot_otchestvo']);
  WordDocument1.Range(b).Select;
  WordApplication1.Selection.Font.Size:=12;
  WordApplication1.Selection.ParagraphFormat.Alignment:=$00000000;
  ADOQuery1.Next;
 end;

И можете объяснить свойство Range ели вам не сложно, а то я не до конца понимаю?
Изображения
Тип файла: jpg 1.JPG (29.0 Кбайт, 9 просмотров)
Ответить с цитированием
  #2  
Старый 29.04.2012, 15:27
Snake22 Snake22 вне форума
Активный
 
Регистрация: 20.02.2011
Сообщения: 374
Репутация: 744
По умолчанию

Range это область.незнаю как с одной цифрой (как в примере Range(b). но точно помню юзал диапазон,типа .Range(1,50).text:='блаблабал'.
Range также может содержать раздел,,абзац,таблицу и тд.
удобно тем что в переменные типа variant можно по ходу обработки текста присвоить нужные куски и потом работать с ними.
Сделать как на кратинке? ну мы же не видим структуру твоей таблийцы =)какие откуда значения брать.додумай сам...
В твоем примере наверное лучше просто последовательно писать текст лучше юзай не range а typetext
Код:
WordApp.Selection.Font.Size:=16;//формируем заголовок.шрифт 16
WordApp.Selection.Paragraphs.Alignment:=1;//по центру
WordApp.Selection.TypeText('Отчет по подразделениям');

//печатаем основной текст
WordApplication1.Selection.Font.Size:=12;
for i:=2 to ADOQuery1.RecordCount-1  do
 begin
  WordDocument1.selection.typetext(#13#10+ADOQuery1.FieldValues['podr']);  //#13#10 чтоб на следующую стороку перешло
 WordApp.Selection.Paragraphs.Alignment:=0;//по левому краю  
 WordApplication1.Selection.ParagraphFormat.Alignment:=$00000000;
  WordApplication1.Selection.TypeParagraph;
  WordDocument1.selection.typetext(ADOQuery1.FieldValues['sot_familiya']+' '+ADOQuery1.FieldValues['sot_imya']+' '+ADOQuery1.FieldValues['sot_otchestvo']);
  WordApplication1.Selection.Font.Size:=12;
  WordApplication1.Selection.ParagraphFormat.Alignment:=$00000000;
  ADOQuery1.Next;
 end;

да и кажется цикл у тебя не правильно написан,не ADOQuery1.RecordCount+1 а МИНУС 1,не? а то ошибка EOF будет

Последний раз редактировалось Snake22, 29.04.2012 в 15:36.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 06:59.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025