ВУЗ:
Составители:
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
