Установите "ТЕКСТ" в Rave Report на Edit1.text в форме Delphi при печати

Есть ли способ установить определенный текст, такой как text1 в Rave Report, на определенный Edit.text в форме Delphi, из которой вы печатаете в приложении Delphi. Я хочу создать форму приложения в приложении Delphi, где каждый блок представляет определенную букву слова... например - Edit1.text:= Фамилия В моем отчете Rave text1 должен отображаться Edit1.text[1] (S), text2 должен показать Edit1.text[2] (u) ... и так далее. Я знаю, как использовать функцию datatext в Rave Report... но это означало бы, что мне нужно сначала сохранять каждую букву каждого поля в столбце базы данных отдельно...:(Пожалуйста, помогите мне, если можете... потому что я ' Я очень глуп, когда дело доходит до такого рода вещей.

1 ответ

Поскольку это выглядит довольно странно для меня, и я настоятельно рекомендую установить TEdit.Text непосредственно из вашего приложения, а не из отчета, и поскольку не совсем понятно, о чем вы спрашиваете здесь, я постараюсь показать вам, как получить или установить текст из или в Text component в восторженных отчетах.

Давайте представим, что у вас есть Report1 с Page1 где текстовый компонент назван Text1 находится где-то Все это разработчиком Rave Reports, сохраненным в C:\YourRaveProject.rav файл. Затем предположим, что в вашем проекте Delphi есть кнопка со следующим кодом в обработчике событий OnClick и два поля редактирования: Edit1где мы загружаем текст из нашего Text1 компонент и Edit2 из которого мы устанавливаем наш Text1 компонентный текст.

uses
  RpRave, RpDefine, RpBase, RpSystem, RvCsStd;

procedure TForm1.Button1Click(Sender: TObject);
var
  RaveProject: TRvProject;
begin
  RaveProject := TRvProject.Create(nil);
  RaveProject.ProjectFile := 'C:\YourRaveProject.rav';

  try
    RaveProject.Open;
    RaveProject.SelectReport('Report1', False);
    // get the text from the Text1 component from the report
    Edit1.Text := (RaveProject.ProjMan.FindRaveComponent('Page1.Text1', nil) as TRaveText).Text;
    // set the text of the Text1 component on the report
    (RaveProject.ProjMan.FindRaveComponent('Page1.Text1', nil) as TRaveText).Text := Edit2.Text;
    // and execute the report for showing the result of setting the text
    // note, this can be omitted of course if you want only to get the value
    RaveProject.ExecuteReport('Report1');
    RaveProject.Close;

  finally
    RaveProject.Free;
  end;
end;

Пожалуйста, возьмите это как пример, а не как реальный ответ на ваш вопрос, потому что ИМХО это неопровержимо в настоящее время. Если вы укажете точный вопрос, мы сможем помочь вам решить вашу реальную проблему.

Протестировано на Delphi 2009 с Rave Reports 7.6.2.

Другие вопросы по тегам