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

UptoLike

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

Selection.ParagraphFormat.KeepWithNext := -1;
Selection.ParagraphFormat.SpaceAfter := 14;
//ɡɚɞɚɟɬɫɹ ɲɪɢɮɬ
Selection.Font.Size := 15;
WSelection.Font.bold := 1;
//ɞɨɛɚɜɥɹɟɬɫɹ ɫɬɪɨɤɚ
Document.Paragraphs.Add;
Document.Paragraphs.Item(Document.Paragraphs.Count).Range.Select;
Selection.ParagraphFormat.SpaceAfter := 0;
Vr1 := wdStory;
//ɩɟɪɟɯɨɞ ɜ ɤɨɧɟɰ ɞɨɤɭɦɟɧɬɚ
Selection.EndKey(Vr1);
//ɡɚɩɨɦɢɧɚɟɬɫɹ ɩɨɥɨɠɟɧɢɟ ɤɭɪɫɨɪɚ. ɗɬɨ ɧɚɱɚɥɨ ɛɭɞɭɳɟɣ ɬɚɛɥɢɰɵ.
//ɡɚɬɟɦ ɜɵɛɢɪɚɟɬɫɹ ɜɟɫɶ ɨɫɬɚɜɲɢɣɫɹ ɬɟɤɫɬ, ɱɬɨɛɵ ɩɪɟɨɛɪɚɡɨɜɚɬɶ
//ɟɝɨ ɜ ɬɚɛɥɢɰɭ
TableBeg := Selection.End;
DataSet.First;
//ɜɫɬɚɜɥɹɸɬɫɹ ɡɚɝɨɥɨɜɤɢ ɞɥɹ ɜɫɟɯ ɜɢɞɢɦɵɯ ɩɨɥɟɣ
for I := 0 to DataSet.FieldCount-1 do
if DataSet.Fields[i].Visible then
Document.Range.InsertAfter (ɋonvertString(DataSet.Fields[I].
DisplayLabel)+#9); Selection.EndKey(Vr1);
//ɭɛɢɪɚɸɬɫɹ ɩɨɫɥɟɞɧɢɟ ɫɢɦɜɨɥɵ ɬɚɛɭɥɹɰɢɢ
{ɋɢɦɜɨɥ ɬɚɛɭɥɹɰɢɢ ɢɫɩɨɥɶɡɭɟɬɫɹ ɜ ɤɚɱɟɫɬɜɟ ɪɚɡɞɟɥɢɬɟɥɹ ɞɥɹ
ɫɬɨɥɛɰɨɜ ɬɚɛɥɢɰɵ}
Selection.TypeBackspace;
//ɩɪɢɦɟɧɹɟɬɫɹ ɲɪɢɮɬ
Document.Paragraphs.Item(Document.Paragraphs.Count).Range.Select;
Selection.Font.Size := 14;
Selection.Font.Italic := 1;
Selection.Font.Bold := 0;
//ɞɨɛɚɜɥɹɟɬɫɹ ɫɬɪɨɤɚ
Document.Paragraphs.Add;
//Ɉɩɪɟɞɟɥɟɧɢɟ, ɛɵɥɢ ɥɢ ɜ ɬɚɛɥɢɰɟ ɜɨɨɛɳɟ ɡɚɩɢɫɢ ɞɥɹ ɷɤɫɩɨɪɬɚ
F := True;
//ɋɬɪɨɤɚ ɞɥɹ ɷɤɫɩɨɪɬɚ ɬɟɤɫɬɚ ɬɚɛɥɢɰɵ
St := '';
79
80
//ɧɚɱɚɥɨ ɞɚɧɧɵɯ ɜ ɬɚɛɥɢɰɟ
TableBeg2 := Selection.End;
if Dataset.RecordCount > 0 then begin
repeat
if (Dataset.fields[DataSet.Fields.Count-1].AsString = FlagText) or
(FlagText = '') then begin
for I := 0 to DataSet.FieldCount-1 do
if DataSet.Fields[I].Visible then
//ɱɟɪɟɡ ɬɚɛɭɥɹɰɢɸ ɜɵɜɨɞɹɬɫɹ ɜɫɟ ɜɢɞɢɦɵɟ ɩɨɥɹ
St := St+DataSet.Fields[I].AsString+#9;
//ɭɛɢɪɚɟɬɫɹ ɩɨɫɥɟɞɧɢɣ ɫɢɦɜɨɥ ɬɚɛɭɥɹɰɢɢ
SetLength(St,Length(St)-1);
//ɩɟɪɟɧɨɫ ɫɬɪɨɤɢ
St := St+#13;
F := False;
end;
Dataset.Next;
until Dataset.Eof;
//ɩɟɪɟɯɨɞ ɜ ɤɨɧɟɰ ɬɟɤɫɬɚ
Selection.EndKey(Vr1);
//ɜɫɬɚɜɤɚ ɞɚɧɧɵɯ ɬɚɛɥɢɰɵ
Selection.InsertAfter(ɋonvertString(St));
//ɧɚɱɚɥɨ ɞɚɧɧɵɯ ɬɚɛɥɢɰɵ
Vr1 := TableBeg2;
//ɤɨɧɟɰ ɬɚɛɥɢɰɵ
Vr2 := Selection.End;
Selection.Font.Size := 12;
Selection.Font.Bold := 0;
Selection.Font.Italic := 0;
end;
//ɜ ɬɨɦ ɫɥɭɱɚɟ, ɟɫɥɢ ɧɟ ɷɤɫɩɨɪɬɢɪɨɜɚɥɨɫɶ ɧɢ ɨɞɧɨɣ ɡɚɩɢɫɢ
//ɮɨɪɦɢɪɭɟɬɫɹ ɩɭɫɬɚɹ ɫɬɪɨɤɚ
if F then begin
for I := 0 to DataSet.FieldCount-1 do
 Selection.ParagraphFormat.KeepWithNext := -1;                            //������ ������ � �������
 Selection.ParagraphFormat.SpaceAfter := 14;
 //�������� �����                                                           TableBeg2 := Selection.End;

 Selection.Font.Size := 15;                                                 if Dataset.RecordCount > 0 then begin
 WSelection.Font.bold := 1;                                                   repeat
 //����������� ������                                                          if (Dataset.fields[DataSet.Fields.Count-1].AsString = FlagText) or
                                                                      (FlagText = '') then begin
 Document.Paragraphs.Add;                                                        for I := 0 to DataSet.FieldCount-1 do
 Document.Paragraphs.Item(Document.Paragraphs.Count).Range.Select;                 if DataSet.Fields[I].Visible then
 Selection.ParagraphFormat.SpaceAfter := 0;                                           //����� ��������� ��������� ��� ������� ����
 Vr1 := wdStory;
 //������� � ����� ���������                                                       St := St+DataSet.Fields[I].AsString+#9;
                                                                               //��������� ��������� ������ ���������
  Selection.EndKey(Vr1);
  //������������ ��������� �������. ��� ������ ������� �������.                SetLength(St,Length(St)-1);
  //����� ���������� ���� ���������� �����, ����� �������������                //������� ������
  //��� � �������
  TableBeg := Selection.End;                                                   St := St+#13;
  DataSet.First;                                                               F := False;
  //����������� ��������� ��� ���� ������� �����                              end;
  for I := 0 to DataSet.FieldCount-1 do                                       Dataset.Next;
    if DataSet.Fields[i].Visible then                                        until Dataset.Eof;
  Document.Range.InsertAfter (�onvertString(DataSet.Fields[I].            //������� � ����� ������
  DisplayLabel)+#9); Selection.EndKey(Vr1);
  //��������� ��������� ������� ���������                                    Selection.EndKey(Vr1);
  {������ ��������� ������������ � �������� ����������� ���                  //������� ������ �������
�������� �������}
  Selection.TypeBackspace;                                                   Selection.InsertAfter(�onvertString(St));
  //����������� �����                                                        //������ ������ �������
  Document.Paragraphs.Item(Document.Paragraphs.Count).Range.Select;
  Selection.Font.Size := 14;                                                 Vr1 := TableBeg2;
  Selection.Font.Italic := 1;                                                //����� �������
  Selection.Font.Bold := 0;
  //����������� ������                                                        Vr2 := Selection.End;
  Document.Paragraphs.Add;                                                    Selection.Font.Size := 12;
//�����������, ���� �� � ������� ������ ������ ��� ��������                   Selection.Font.Bold := 0;
                                                                              Selection.Font.Italic := 0;
  F := True;                                                                end;
//������ ��� �������� ������ �������                                        //� ��� ������, ���� �� ���������������� �� ����� ������
                                                                            //����������� ������ ������
 St := '';                                                                  if F then begin
                                                                              for I := 0 to DataSet.FieldCount-1 do
                              79                                                                             80