Основы COM-технологий. Артемов М.А. и др. - 38 стр.

UptoLike

Составители: 

75
Ⱥɧɚɥɨɝɢɱɧɵɦ ɨɛɪɚɡɨɦ ɦɨɠɧɨ ɩɨɥɭɱɢɬɶ ɤɨɞ ɜɜɨɞɚ ɬɟɤɫɬɚ ɜ ɤɨɥɨɧɬɢ-
ɬɭɥɵ, ɧɚɫɬɪɨɣɤɭ ɲɪɢɮɬɨɜ, ɚɛɡɚɰɟɜ ɢ ɬ. ɩ.
Ɋɟɲɟɧɢɟ ɩɨɫɬɚɜɥɟɧɧɨɣ ɡɚɞɚɱɢ ɩɪɢɜɟɞɟɧɨ ɜ ɫɥɟɞɭɸɳɟɦ ɥɢɫɬɢɧɝɟ:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,
Forms,
Dialogs, StdCtrls, DB, ADODB, ActiveX;
type
TForm1 = class(TForm)
ADOConnection1: TADOConnection;
ADODataSet1: TADODataSet;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure TableExport(Word,Document,Selection: Variant; DataSet:
TDataSet; Title,FlagText: String);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses ComObj;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Word: Variant;
Document: Variant;
Selection: Variant;
Vr: OleVariant;
begin
Screen.Cursor := crHourGlass;
//ɫɨɡɞɚɟɬɫɹ ɫɟɪɜɟɪ ɚɜɬɨɦɚɬɢɡɚɰɢɢ Word
Word := CreateOleObject('Word.Application');
try
//ɫɨɡɞɚɟɬɫɹ ɧɨɜɵɣ ɞɨɤɭɦɟɧɬ ɩɨ ɲɚɛɥɨɧɭ
Document := Word.Documents.Add(GetCurrentDir+'\Shablon.doc');
//ɜɵɛɢɪɚɟɬɫɹ ɩɟɪɜɚɹ ɧɚɞɩɢɫɶ
Vr := 'Text Box 8';
Document.Shapes.Item(Vr).Select;
//ɡɚɩɨɦɢɧɚɟɬɫɹ ɫɫɵɥɤɚ ɧɚ ɨɛɴɟɤɬ Selection
Selection := Word.Selection;
//ɩɢɲɟɬɫɹ ɬɟɤɫɬ
Selection.TypeText('ɬɟɤɫɬ ɧɚ ɬɢɬɭɥɶɧɨɣ');
//ɩɟɪɟɯɨɞ ɜ ɤɨɧɟɰ ɞɨɤɭɦɟɧɬɚ
Vr := wdStory;
Selection.EndKey(Vr);
//ɩɟɪɟɯɨɞ ɜ ɜɟɪɯɧɢɣ ɤɨɥɨɧɬɢɬɭɥ
Word.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrent-
PageHeader;
Vr := 'Text Box 5';
Selection.HeaderFooter.Shapes.Item(Vr).Select;
Word.Selection.TypeText('ɬɟɤɫɬ ɜ ɤɨɥɨɧɬɢɬɭɥɟ');
Word.ActiveWindow.ActivePane.View.SeekView := wdSeekMain-
Document;
ADODataSet1.Close;
ADODataSet1.CommandText := 'SELECT [Main].[Tel],
[Main].[name], '+
'[Main].[House], [Korp].[NameKorp], [Flat].[NameFlat],
[Ul].[NameUl] '+
' FROM Main, Ul, Korp, Flat WHERE ([Main].[IdUl]=[Ul].[IdUl])
And '+
'([Main].[IdKorp]=[Korp].[IdKorp]) And '+
'([Main].[IdFlat]=[Flat].[IdFlat]) ';
ADODataSet1.Open;
//ɧɚɫɬɪɚɢɜɚɸɬɫɹ ɩɚɪɚɦɟɬɪɵ ɷɤɫɩɨɪɬɚ
//ɡɚɝɨɥɨɜɨɤ
ADODataSet1.fields[0].DisplayLabel := 'Ɍɟɥɟɮɨɧ';
//ɲɢɪɢɧɚ ɫɬɨɥɛɰɚ
ADODataSet1.fields[0].Tag := round(Word.CentimetersToPoints(2));
//ɨɬɨɛɪɚɠɚɬɶ ɩɨɥɟ
DataSet1.fields[0].Visible := True;
76
    ����������� ������� ����� �������� ��� ����� ������ � �������-              Screen.Cursor := crHourGlass;
����, ��������� �������, ������� � �. �.                                        //��������� ������ ������������� Word
    ������� ������������ ������ ��������� � ��������� ��������:                 Word := CreateOleObject('Word.Application');
    unit Unit1;                                                                 try
                                                                                  //��������� ����� �������� �� �������
    interface                                                                     Document := Word.Documents.Add(GetCurrentDir+'\Shablon.doc');
                                                                                  //���������� ������ �������
    uses                                                                          Vr := 'Text Box 8';
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls,          Document.Shapes.Item(Vr).Select;
Forms,                                                                            //������������ ������ �� ������ Selection
     Dialogs, StdCtrls, DB, ADODB, ActiveX;
                                                                                  Selection := Word.Selection;
    type                                                                          //������� �����
     TForm1 = class(TForm)                                                        Selection.TypeText('����� �� ���������');
      ADOConnection1: TADOConnection;                                             //������� � ����� ���������
      ADODataSet1: TADODataSet;                                                   Vr := wdStory;
      Button1: TButton;                                                           Selection.EndKey(Vr);
      procedure Button1Click(Sender: TObject);                                    //������� � ������� ����������
     private                                                                      Word.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrent-
      { Private declarations }                                             PageHeader;
      procedure TableExport(Word,Document,Selection: Variant; DataSet:            Vr := 'Text Box 5';
TDataSet; Title,FlagText: String);                                                Selection.HeaderFooter.Shapes.Item(Vr).Select;
                                                                                  Word.Selection.TypeText('����� � �����������');
     public                                                                       Word.ActiveWindow.ActivePane.View.SeekView := wdSeekMain-
      { Public declarations }                                              Document;
     end;                                                                         ADODataSet1.Close;
                                                                                  ADODataSet1.CommandText := 'SELECT [Main].[Tel],
    var                                                                    [Main].[name], '+
     Form1: TForm1;                                                                 '[Main].[House], [Korp].[NameKorp], [Flat].[NameFlat],
                                                                           [Ul].[NameUl] '+
    implementation                                                                  ' FROM Main, Ul, Korp, Flat WHERE ([Main].[IdUl]=[Ul].[IdUl])
                                                                           And '+
    uses ComObj;                                                                    '([Main].[IdKorp]=[Korp].[IdKorp]) And '+
                                                                                    '([Main].[IdFlat]=[Flat].[IdFlat]) ';
    {$R *.dfm}                                                                    ADODataSet1.Open;
                                                                                  //������������� ��������� ��������
    procedure TForm1.Button1Click(Sender: TObject);                               //���������
    var
     Word: Variant;                                                              ADODataSet1.fields[0].DisplayLabel := '�������';
     Document: Variant;                                                          //������ �������
     Selection: Variant;                                                         ADODataSet1.fields[0].Tag := round(Word.CentimetersToPoints(2));
     Vr: OleVariant;                                                             //���������� ����
    begin                                                                        DataSet1.fields[0].Visible := True;
                                    75                                                                       76