Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > lable+fastreport составить цикл


Автор: alf138 14.9.2011, 14:38
На форме лежат порядка 2-х десятков lable которые редактируются, а не которые нет, как в цикле пробежать по ним и вывести все содержимое в fast report понимаю что содержимое можно отправить так 
Код

 procedure TForm2.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
if VarName = 'name1' then         
Value := Label3.Caption;

но как написать в цикле не понимаю(это данные есть только в lable) и придется на каждое передоваемое значение создавать переменную в fastreport ?, и второй вопрос в самом fast report уже выводятся данные из таблицы как сделать динамическое размещение вновь вводимых lable чтобы они не залазили друг на друга.

Автор: Akella 14.9.2011, 16:11
Погугли на тему: цикл по компонентам формы

Автор: Данкинг 14.9.2011, 16:18
Цитата(Akella @  14.9.2011,  17:11 Найти цитируемый пост)
цикл по компонентам формы

Т.е. ComponentCount уже сразу.

Автор: AndreyIQ 14.9.2011, 16:27
Цитата(Данкинг @ 14.9.2011,  16:18)
Т.е. ComponentCount уже сразу.

Можно и без
Код

var i:integer;
begin
  for i := 1 to n do
    TLabel(FindComponent('label'+IntToStr(i))).Caption:='Caption';
end;

 smile  smile  smile 

Автор: Данкинг 14.9.2011, 16:31
Цитата(AndreyIQ @  14.9.2011,  17:27 Найти цитируемый пост)
Можно и без

Кстати, да. smile 

Автор: alf138 16.9.2011, 15:32
Ладно всем спасибо пришлось 15 раз писать  smile 
    
Код

procedure TForm2.frxReport1GetValue(const VarName: string; var Value: Variant);
begin
if VarName = 'name1' then         
Value := Label3.Caption;

меняя имя лайбов и имена переменных, все конечно работает, но хотелось как то покрасивее. Всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)