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