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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 07.05.2011, 01:34
Аватар для Antidelphik
Antidelphik Antidelphik вне форума
Новичок
 
Регистрация: 28.04.2011
Сообщения: 67
Репутация: 10
По умолчанию ошибка сохранения результатов в Word-документ

здравствуйте, помогите пожалуйста найти ошибки в процедуре вывода в Word =( всё делала по методичке, но не пашет
Код:
procedure TFormEx4.Button1Click(Sender: TObject);
 FUNCTION IsWordInstalled: Boolean;

var
  Reg: TRegistry;

begin 
  Reg := TRegistry.Create; 
  Reg.RootKey := HKEY_CLASSES_ROOT; 
  Result := Reg.KeyExists('Word.Application'); 
  Reg.Free
end;
FUNCTION WordClosed:BOOLEAN;

function FindNextWnd(StartHWND: HWND; AString : String): HWND;
var
  Buffer : array [0..255] of char;
  s:STRING;
  i:BYTE;

begin
 FillChar(Buffer,256,#0);
  Result := StartHWND;
  repeat
    Result := FindWindowEx(0, Result, nil, nil);
    GetWindowText(Result, Buffer, SizeOf(Buffer));
    i:=0;
    s:='';
    WHILE (i<=255) AND (buffer[i]<>#0) DO
     BEGIN
      s:=s+buffer[i];
      INC(i)
     END;
   IF s<>'' THEN
    if Pos(ANSIUpperCase(AString),ANSIUpperCase(s))<>0 then
     Break;
  until (Result = 0);
end;

VAR h:HWND;
    r:INTEGER;
    par:OLEVariant;

CONST MSW='Microsoft Word';

begin
 r:=mrRetry;
 REPEAT
  h:=FindNextWnd(Self.Handle,MSW);
  IF h<>0 THEN
   r:=MessageDlg('Çàâåðøèòå ðàáîòó '+MSW,mtConfirmation,[mbRetry, mbCancel],0)
 UNTIL (h=0) OR (r=mrCancel);
 Result:=r<>mrCancel;

 //âûâîä â äîêóìåíò
  WordApplication1.Connect;
  WordDocument1.ConnectTo(WordApplication1.Documents.Add(EmptyParam,EmptyParam,EmptyParam,EmptyParam));
  WordApplication1.selection.InsertAfter('Ðåçóëüòàò ñðàâíåíèÿ ìàññèâîâ'+#13);
  par:=ExtractFilePath(Application.ExeName)+'out.doc';
  WordDocument1.SaveAs(par);
  WordDocument1.Close;
  WordDocument1.Disconnect;
  WordApplication1.Quit;
  WordApplication1.Disconnect;
  MessageDlg('Âûâîä îò÷åòà çàâåðøåí',mtInformation,[mbOK],0);

end;

end.
Ответить с цитированием
  #2  
Старый 07.05.2011, 19:26
Аватар для Antidelphik
Antidelphik Antidelphik вне форума
Новичок
 
Регистрация: 28.04.2011
Сообщения: 67
Репутация: 10
По умолчанию

Ребяяят???? помогите пожалуйста, мне это обязательно и срочно нужно сделать =(
Ответить с цитированием
  #3  
Старый 07.05.2011, 21:14
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,036
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от Antidelphik
Ребяяят???? помогите пожалуйста, мне это обязательно и срочно нужно сделать =(

Идем в примеры и ищем нормальный пример работы с вордом через OLE. В твоей методичке чушь написана.

см, например, тут: http://www.delphisources.ru/pages/so...ord_excel.html
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter