Установите "ТЕКСТ" в 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.