ВУЗ:
Составители:
81
if DataSet.Fields[I].Visible then
Document.Range.InsertAfter(' '+#9);
Selection.EndKey(Vr1,EmptyParam);
Selection.TypeBackspace;
end;
//ɧɚɱɚɥɨ ɛɭɞɭɳɟɣ ɬɚɛɥɢɰɵ
Vr1 := TableBeg;
//ɤɨɧɟɰ ɛɭɞɭɳɟɣ ɬɚɛɥɢɰɵ
Vr2 := Selection.End;
//ɜɵɛɢɪɚɟɬɫɹ ɞɢɚɩɚɡɨɧ
Document.Range(Vr1,Vr2).Select;
//ɩɪɟɨɛɪɚɡɨɜɚɧɢɟ ɜ ɬɚɛɥɢɰɭ
Selection.ConvertToTable;
ɋolɋount := 1;
//ɡɚɞɚɸɬɫɹ ɲɢɪɢɧɵ ɤɨɥɨɧɨɤ
for I := 0 to DataSet.FieldCount-1 do
if DataSet.Fields[I].Visible then begin
Document.Tables.Item(Document.Tables.Count).Columns.Item(ColCount).
Width := DataSet.Fields[i].Tag;
Inc(ColCount);
end;
//ɡɚɞɚɸɬɫɹ ɝɪɚɧɢɰɵ
Selection.Cells.Borders.Item (wdBorderLeft). LineStyle:=wdLineStyle-
Single;
Selection.Cells.Borders.Item(wdBorderRight).LineStyle:= wdLi-
neStyleSingle;
Selection.Cells.Borders.Item(wdBorderHorizontal).LineStyle:= wdLi-
neStyleSingle;
Selection.Cells.Borders.Item(wdBorderTop).LineStyle:= wdLi-
neStyleSingle;
Selection.Cells.Borders.Item(wdBorderBottom).LineStyle:= wdLi-
neStyleSingle;
Selection.Cells.Borders.Item(wdBorderVertical).LineStyle:= wdLi-
neStyleSingle;
Document.Paragraphs.Add;
Document.Paragraphs.Item(Document.Paragraphs.Count-1).
Range.Select;
Selection.ParagraphFormat.KeepWithNext:=0;
end;
end.
ɉɪɢ ɧɚɠɚɬɢɢ ɧɚ ɤɧɨɩɤɭ Button1 ɜɵɩɨɥɧɹɟɬɫɹ ɩɪɨɰɟɞɭɪɚ Button1Click,
ɜ ɤɨɬɨɪɨɣ ɫɨɡɞɚɸɬɫɹ ɨɛɴɟɤɬɵ Word ɢ Document, ɡɚɞɚɸɬɫɹ ɬɢɬɭɥɶɧɵɣ ɥɢɫɬ
ɢ ɤɨɥɨɧɬɢɬɭɥɵ, ɡɚɬɟɦ ɜɵɡɵɜɚɟɬɫɹ ɩɪɨɰɟɞɭɪɚ TableExport – ɷɤɫɩɨɪɬɚ ɞɚɧ-
ɧɵɯ ɜ ɬɚɛɥɢɰɭ Word. ȼ ɞɚɧɧɨɣ ɩɪɨɝɪɚɦɦɟ ɢɫɩɨɥɶɡɨɜɚɥɨɫɶ ɩɨɡɞɧɟɟ ɫɜɹɡɵ-
ɜɚɧɢɟ. ɑɬɨɛɵ ɫɨɤɪɚɬɢɬɶ ɤɨɥɢɱɟɫɬɜɨ ɨɛɪɚɳɟɧɢɣ ɤ ɢɧɬɟɪɮɟɣɫɚɦ ɫɫɵɥɤɢ ɧɚ
ɨɛɴɟɤɬɵ, Document ɢ Select ɯɪɚɧɹɬɫɹ ɜ ɨɬɞɟɥɶɧɵɯ ɩɟɪɟɦɟɧɧɵɯ. ɉɨ ɨɤɨɧ-
ɱɚɧɢɢ ɪɚɛɨɬɵ ɜɫɟ ɫɫɵɥɤɢ ɧɚ ɨɛɴɟɤɬɵ ɫɟɪɜɟɪɚ ɚɜɬɨɦɚɬɢɡɚɰɢɢ ɧɟɨɛɯɨɞɢɦɨ
ɭɞɚɥɢɬɶ, ɱɬɨ ɞɨɫɬɢɝɚɟɬɫɹ ɩɪɢɫɜɨɟɧɢɟɦ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɦ ɩɟɪɟɦɟɧɧɵɦ
ɡɧɚɱɟɧɢɹ Null.
Ɂɚɞɚɱɢ «Ʉɥɢɟɧɬ-ɋɟɪɜɟɪ»
ȼɨ ɜɫɟɯ ɜ ɜɚɪɢɚɧɬɚɯ ɡɚɞɚɱ ɬɪɟɛɭɟɬɫɹ ɫɨɡɞɚɬɶ COM-ɫɟɪɜɟɪ, ɩɪɟɞɨ-
ɫɬɚɜɥɹɸɳɢɣ ɭɤɚɡɚɧɧɵɣ ɢɧɬɟɪɮɟɣɫ, ɢ ɪɟɚɥɢɡɨɜɚɬɶ ɩɪɢɥɨɠɟɧɢɟ-ɤɥɢɟɧɬ,
ɢɫɩɨɥɶɡɭɸɳɟɟ ɮɭɧɤɰɢɢ ɫɟɪɜɟɪɚ:
1. ȼɵɱɢɫɥɟɧɢɟ ɬɪɢɝɨɧɨɦɟɬɪɢɱɟɫɤɢɯ ɮɭɧɤɰɢɣ.
2. Ʉɚɥɶɤɭɥɹɬɨɪ (ɩɨɞɞɟɪɠɢɜɚɸɳɢɣ ɫɥɨɠɟɧɢɟ, ɜɵɱɢɬɚɧɢɟ, ɭɦɧɨɠɟɧɢɟ,
ɞɟɥɟɧɢɟ).
3. Ɉɛɪɚɛɨɬɤɚ ɮɚɣɥɚ: ɧɚɯɨɠɞɟɧɢɟ ɞɥɢɧɵ ɮɚɣɥɚ (ɜ ɫɢɦɜɨɥɚɯ), ɧɚɯɨɠ-
ɞɟɧɢɟ ɫɚɦɨɝɨ ɞɥɢɧɧɨɝɨ ɫɥɨɜɚ.
4. Ɉɛɪɚɛɨɬɤɚ ɮɚɣɥɨɜ: ɫɪɚɜɧɟɧɢɟ ɞɜɭɯ ɮɚɣɥɨɜ, ɧɚɯɨɠɞɟɧɢɟ ɨɞɢɧɚɤɨ-
ɜɵɯ ɫɥɨɜ ɜ ɮɚɣɥɚɯ, ɨɛɴɟɞɢɧɟɧɢɟ ɮɚɣɥɨɜ.
5. Ɋɟɚɥɢɡɚɰɢɹ ɮɚɣɥɨɜɵɯ ɨɩɟɪɚɰɢɣ (ɨɬɤɪɵɬɢɟ, ɱɬɟɧɢɟ, ɡɚɩɢɫɶ ɢ ɬ. ɞ.).
6. ɋɨɪɬɢɪɨɜɤɚ ɦɚɫɫɢɜɚ (ɥɸɛɵɦ ɫɩɨɫɨɛɨɦ).
7. Ɉɛɪɚɛɨɬɤɚ ɢɡɨɛɪɚɠɟɧɢɹ (ɨɫɜɟɬɥɟɧɢɟ, ɡɚɬɟɦɧɟɧɢɟ, ɭɫɬɚɧɨɜɤɚ ɩɪɨ-
ɡɪɚɱɧɨɫɬɢ).
8. Ʉɨɞɢɪɨɜɚɧɢɟ ɢɡɨɛɪɚɠɟɧɢɹ ɩɨ ɡɚɞɚɧɧɨɦɭ ɤɥɸɱɭ (ɧɚɩɪɢɦɟɪ, ɨɩɟɪɚ-
ɰɢɟɣ XOR).
9. ɒɢɮɪɨɜɚɧɢɟ ɬɟɤɫɬɚ ɦɟɬɨɞɨɦ XOR.
10. Ɋɚɛɨɬɚ ɫɨ ɫɬɪɨɤɨɣ ɬɟɤɫɬɚ: ɜɵɱɢɫɥɟɧɢɟ ɞɥɢɧɵ, ɧɚɯɨɠɞɟɧɢɟ ɩɨɞ-
ɫɬɪɨɤɢ, ɧɚɯɨɠɞɟɧɢɟ ɤɨɥɢɱɟɫɬɜɚ ɜɯɨɠɞɟɧɢɣ ɩɨɞɫɬɪɨɤɢ.
11.
Ɉɛɪɚɛɨɬɤɚ ɫɬɪɨɤɢ: ɩɟɪɟɜɨɞ ɫɬɪɨɤɢ ɜ ɜɟɪɯɧɢɣ ɢɥɢ ɧɢɠɧɢɣ ɪɟɝɢɫɬɪ.
12. ɉɟɪɟɜɨɞ ɱɢɫɟɥ ɜ ɬɟɤɫɬɨɜɨɟ ɩɪɟɞɫɬɚɜɥɟɧɢɟ (ɧɚɩɪɢɦɟɪ, 111 ĺ 'ɫɬɨ
ɨɞɢɧɧɚɞɰɚɬɶ'). ɑɢɫɥɚ ɦɨɝɭɬ ɛɵɬɶ ɞɨ 1000000.
82
if DataSet.Fields[I].Visible then end; Document.Range.InsertAfter(' '+#9); Selection.EndKey(Vr1,EmptyParam); end. Selection.TypeBackspace; ��� ������� �� ������ Button1 ����������� ��������� Button1Click, end; � ������� ��������� ������� Word � Document, �������� ��������� ���� //������ ������� ������� � �����������, ����� ���������� ��������� TableExport – �������� ���- ��� � ������� Word. � ������ ��������� �������������� ������� �����- Vr1 := TableBeg; �����. ����� ��������� ���������� ��������� � ����������� ������ �� //����� ������� ������� �������, Document � Select �������� � ��������� ����������. �� ����- ����� ������ ��� ������ �� ������� ������� ������������� ���������� Vr2 := Selection.End; �������, ��� ����������� ����������� ��������������� ���������� //���������� �������� �������� Null. Document.Range(Vr1,Vr2).Select; ������ «������-������» //�������������� � ������� Selection.ConvertToTable; �� ���� � ��������� ����� ��������� ������� COM-������, �����- �ol�ount := 1; ���������� ��������� ���������, � ����������� ����������-������, //�������� ������ ������� ������������ ������� �������: for I := 0 to DataSet.FieldCount-1 do if DataSet.Fields[I].Visible then begin 1. ���������� ������������������ �������. Document.Tables.Item(Document.Tables.Count).Columns.Item(ColCount). 2. ����������� (�������������� ��������, ���������, ���������, Width := DataSet.Fields[i].Tag; �������). Inc(ColCount); 3. ��������� �����: ���������� ����� ����� (� ��������), �����- end; ����� ������ �������� �����. //�������� ������� Selection.Cells.Borders.Item (wdBorderLeft). LineStyle:=wdLineStyle- 4. ��������� ������: ��������� ���� ������, ���������� �������- Single; ��� ���� � ������, ����������� ������. Selection.Cells.Borders.Item(wdBorderRight).LineStyle:= wdLi- 5. ���������� �������� �������� (��������, ������, ������ � �. �.). neStyleSingle; 6. ���������� ������� (����� ��������). Selection.Cells.Borders.Item(wdBorderHorizontal).LineStyle:= wdLi- neStyleSingle; 7. ��������� ����������� (����������, ����������, ��������� ���- Selection.Cells.Borders.Item(wdBorderTop).LineStyle:= wdLi- ���������). neStyleSingle; 8. ����������� ����������� �� ��������� ����� (��������, �����- Selection.Cells.Borders.Item(wdBorderBottom).LineStyle:= wdLi- ���� XOR). neStyleSingle; 9. ���������� ������ ������� XOR. Selection.Cells.Borders.Item(wdBorderVertical).LineStyle:= wdLi- 10. ������ �� ������� ������: ���������� �����, ���������� ���- neStyleSingle; ������, ���������� ���������� ��������� ���������. Document.Paragraphs.Add; Document.Paragraphs.Item(Document.Paragraphs.Count-1). 11. ��������� ������: ������� ������ � ������� ��� ������ �������. Range.Select; 12. ������� ����� � ��������� ������������� (��������, 111 � '��� Selection.ParagraphFormat.KeepWithNext:=0; �����������'). ����� ����� ���� �� 1000000. 81 82