Шаг 13.
Вкладка QReport. Компонент TQRStringsBand

    На этом шаге мы рассмотрим компонент TQRStringsBand.

    Компонент TQRStringsBand во всем подобен основному строительному компоненту отчета TQRBand и отличается от него лишь наличием дополнительного свойства Items типа TStrings. В списке Items программист может разместить произвольные текстовые строки (как на этапе конструирования, так и в ходе прогона программы), которые появляются в отчете, если на полосу помещен компонент TQRExpr, свойство которого Expression ссылается на имя текстовой полосы. Таким образом, полоса TQRStringsBand в общем случае может выводить информацию не только из НД, но и из произвольных текстовых файлов.


    Замечание. Для каждой строки списка Items формируется отдельная полоса TQRStringsBand.

    Применение полосы проиллюстрируем следующим примером.

    В примере реализуем вывод текста двумя способами, причем заголовок отчета будет вводиться вручную. Для этого на форме разместим компоненты Button1, Button2, Edit1, Lable1.

   


Рис.1. Внешний вид приложения

    Чтобы вызвать отчет в работающей программе и загрузить заголовок для Button1 создайте обработчик OnCreate следующим образом:

   procedure  TForm1.Button1Click(Sender: TObject);
   begin 
       Form3.QRLabel1.Caption := Edit1.Text;
       Form3.QuickRep1.Preview;
       Edit1.Clear;
       Edit1.SetFocus;
    end;

    Для создания отчета разместите на пустой форме компонент TQuickRep и поместите в отчет компонент TQRStringsBand, а на текстовую полосу - компонент TQRExpr. В свойство QRExpr1.Expression поместите имя текстовой полосы TQRStringsBand1 (это имя придется вводить вручную либо в окне инспектора объектов, либо в поле Enter expression мастера создания формул). Напишите обработчик события OnCreate для формы:

   procedure  TForm2.FormCreate(Sender: TObject);
   with QRStringsBand1 do
             Items.LoadFromFile('e:\File.txt');
   end;

    После выполнения программы отчет должен содержать следующее:


Рис.2. Полосы TQRStringsBand содержат строки текстового файла

    Текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим компонент TQRGroup.




Предыдущий шаг Содержание Следующий шаг