@White_Bambie

Как вывести строки циклом в отчет FastReport?

Столкнулся с такой проблемой. Необходимо вывести в поля(Memo156 - MemoN) отчета (FastReport) строки из Memo3 формы программы. Но выводятся не сами строки, а их общее количество.
Плохо разбираюсь в циклах и написал какую-то чушь.
Поправьте, пожалуйста, кому не трудно.
procedure TfDM.EST1Click(Sender: TObject);
var
  i: Integer;
  T: TfrxMemoView;
begin
  for i:=0 to fMain.Memo3.Lines.Count - 1 do
    begin
      T:= TfrxMemoView(frxAIR1.FindObject('Memo156'));
      T.Memo.Text := fMain.Memo3.Lines.Strings[i];
      T:= TfrxMemoView(frxAIR1.FindObject('Memo157'));
      T.Memo.Text := fMain.Memo3.Lines.Strings[i];
      T:= TfrxMemoView(frxAIR1.FindObject('Memo158'));
      T.Memo.Text := fMain.Memo3.Lines.Strings[i];
// и так далее...
    end;
    frxAIR1.ShowReport;
end;
  • Вопрос задан
  • 918 просмотров
Решения вопроса 1
@StockholmSyndrome
может быть не fMain.Memo3.Lines.Strings[P], а fMain.Memo3.Lines.Strings[I]?

на самом деле не особо понял задачу, так как не знаком с FastReport, но наверное так
const 
  START_INDEX = 156;
var
  I: Integer;
  T: TfrxMemoView;
begin
  for I := 0 to fMain.Memo3.Lines.Count - 1 do begin
    T := TfrxMemoView(frxAIR1.FindObject('Memo' + (START_INDEX + I).ToString()));
    T.Memo.Text := fMain.Memo3.Lines[I];
  end;
  frxAIR1.ShowReport();
end;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
Вы каждым циклом по iпереписываете T.Memo.Text.
Или:
procedure TfDM.EST1Click(Sender: TObject);
var
  i: Integer;
  T: TfrxMemoView;
begin
      T:= TfrxMemoView(frxAIR1.FindObject('Memo156'));
      T.Memo.Text := fMain.Memo3.Text;
      T:= TfrxMemoView(frxAIR1.FindObject('Memo157'));
      T.Memo.Text := fMain.Memo3.Text;
      T:= TfrxMemoView(frxAIR1.FindObject('Memo158'));
      T.Memo.Text := fMain.Memo3.Text;
// и так далее...
    frxAIR1.ShowReport;
end;

Или:
procedure TfDM.EST1Click(Sender: TObject);
var
  i: Integer;
  T: TfrxMemoView;
begin
  for i:=0 to fMain.Memo3.Lines.Count - 1 do
    begin
      T:= TfrxMemoView(frxAIR1.FindObject('Memo156'));
      T.Memo.Lines.Add( fMain.Memo3.Lines[i]);
      T:= TfrxMemoView(frxAIR1.FindObject('Memo157'));
      T.Memo.Lines.Add( fMain.Memo3.Lines[i]);
      T:= TfrxMemoView(frxAIR1.FindObject('Memo158'));
      T.Memo.Lines.Add( fMain.Memo3.Lines[i]);
// и так далее...
    end;
    frxAIR1.ShowReport;
end;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы