Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Отображение даты в требуемом формате в Fast Report


Автор: Kbl4AH 22.5.2008, 11:01
Здравствуйте, уважаемые винградари.
У меня возникла проблема, не могу разобраться сам, помогите, пожалуйста.

У меня на форме есть Edit1, в который я ввожу дату в формате dd.mm.yyyy.
Также есть отчет FrxReport1, в котором есть объект Memo1.
Как мне сделать, чтобы при печати дата выводилась в формате dd mmmm yyyy, 
а не в dd.mm.yyyy?
Сам я смог сочинить только такой код:

Код

procedure TForm1.Print;

var  
  Data1: TfrxComponent;
begin

  Data1 := FrxReport1.FindObject('Memo1');
  (Data1 as TfrxMemoView).Text:= Edit1.Text;
  FrxReport1.ShowReport(True);

end;


Наверное, все не сложно, но мои эксперименты с форматированием ни к чему не привели.

Автор: Vas 22.5.2008, 13:41
Код

procedure TForm1.Print;
var  
  Data1: TfrxComponent;
begin
  Data1 := FrxReport1.FindObject('Memo1');
  (Data1 as TfrxMemoView).Text:= FormatDateTime('dd mmmm yyyy', StrToDate(Edit1.Text));
  FrxReport1.ShowReport(True);
end;

Автор: Kbl4AH 23.5.2008, 07:22
Спасибо, Vas, все работает!

Автор: Alex 26.5.2008, 07:25
Правой кнопкой мышки на компоненте memo, пункт "Форматирование", выбрать желаемый формат.

Автор: Kbl4AH 26.5.2008, 07:38
Цитата(Alex @ 26.5.2008,  07:25)
Правой кнопкой мышки на компоненте memo, пункт "Форматирование", выбрать желаемый формат.

Не, так не катит, ведь у меня входные данные String, а не Date.

Автор: Alex 3.6.2008, 07:17
А не проще кинуть на форму DateTimePicker с закладки Win32 и от него получать уже не строку, а дату? Плюс не следить за кучей ошибок, которые может сделать пользователь вводя дату в Edit, пользователю куда приятней вводить только дату или вообще выбрать ее из календаря...

Автор: Deniz 3.6.2008, 07:41
Код
Data1 := FrxReport1.FindObject('Memo1');
...
а зачем так сложно?
Можно в отчете создать переменную и уже в нее передавать.

Автор: Nikolus 28.8.2008, 09:16
Цитата(Deniz @ 3.6.2008,  07:41)
Код
Data1 := FrxReport1.FindObject('Memo1');
...
а зачем так сложно?
Можно в отчете создать переменную и уже в нее передавать.


Как из Дельфи передать значение в переменную, которая определна в отчете FR?

Автор: Frees 28.8.2008, 09:28
frxReport.Variables['Имя переменной'] := <значение>

Автор: Nikolus 28.8.2008, 11:23
Frees, респект! Спасибо, работает.

Автор: Данкинг 28.8.2008, 11:38
Цитата(Nikolus @  28.8.2008,  10:16 Найти цитируемый пост)
Как из Дельфи передать значение в переменную, которая определна в отчете FR? 

Я обычно использую OnGetValue:

Код

procedure TForm1.frxReport1GetValue(const VarName: String;
  var Value: Variant);
begin
if varname='manager' then value:=COMBOBOX1.TEXT;
if varname='zakaz' then value:=labelededit94.Text;
end;

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