Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

FastReport   Найти похожие ветки 

 
dzhagr ©   (2007-02-28 18:59) [0]

Подскажите, пожалуйста, что нужно, чтобы запустить самый простой отчет. Я расположил на форме frReport1: TfrReport; Вызываю процедуру frreport1.showreport; ничего не происходит. Может надо что-то еще? Или в чем еще может быть ошибка? Спасибо.


 
easy ©   (2007-02-28 20:49) [1]

с фастрепортом идёт подробнейший мануал на русском


 
dzhagr ©   (2007-02-28 22:07) [2]

да че-то не получается.


 
easy ©   (2007-02-28 23:02) [3]

перед showreport этот report надо туда загрузить. либо из файла, либо в dfm -e его сохранять, тогда он сам подгрузится


 
dzhagr ©   (2007-02-28 23:35) [4]

Вот проблема, когда из файла. Я так понял, надо storeindfm оставить false. В дизайнере открыть файл .rfr. А что еще нужно сделать чтоб работала?


 
ASoft   (2007-03-01 03:40) [5]


> А что еще нужно сделать чтоб работала?

надо отчет заполнить :)


 
dzhagr ©   (2007-03-01 21:25) [6]

Вобщем оставил я в frreport в форме. Заполняю отчет при помощи fruserdataset. Вот тут проблема. Каким вообще образом устанавливается связь переменных формы с отчетом?


 
DrPass ©   (2007-03-02 01:25) [7]


> Каким вообще образом устанавливается связь переменных формы
> с отчетом?

По-разному. Например, через событие OnGetValue. Непохоже, что ты читал документацию...


 
dzhagr ©   (2007-03-02 11:38) [8]

Ну, если честно, то не всю. Вот, например, читаю fruserdataset, там вообще ничего нет про передачу. Такое ощущение, там все про базы данных.


 
ASoft   (2007-03-02 12:07) [9]


> Такое ощущение, там все про базы данных.

это основная функция FR - работа с базами данных :).
Простая передача данных в мемо поля FR перед show, к примеру,
fr.Pages[0].FindObject("memo1").Memo.Text:=<var variant>


 
ASoft   (2007-03-02 12:08) [10]

с приведением типов, ессно


 
easy ©   (2007-03-02 15:52) [11]

6.1. ИСПОЛЬЗОВАНИЕ ДАННЫХ ИЗ НЕ-БД ИСТОЧНИКОВ. СОБЫТИЯ
 Часто данные нужно извлекать из других источников, не имеющих отношения к базам данных (например, файл, массив и т.п.). Для этих целей служит компонент TfrUserDataset, генерирующий события OnFirst, OnNext, OnCheckEOF. Кроме того, придется писать обработчики событий OnGetValue, OnEnterRect компонента TfrReport.

 Обработчик события OnGetValue вызывается каждый раз, когда в тексте объекта встречается переменная и нужно получить ее значение. Если переменной сопоставлено значение, то она обрабатывается внутренним обработчиком компонента. Иначе нужно подключать внешний обработчик, например:

procedure TForm1.Doc1GetValue(const ParName: string; var ParValue: Variant);
begin
  if ParName = "Var1" then
    ParValue := "1"
  else if ParName = "Var2" then
    ParValue := 2
end;

 Обработчик события OnEnterRect вызывается перед прорисовкой любого объекта. Обычно он используется для того, чтобы загрузить в объект содержимое Memo-поля или картинки из БД. Пример обработчика:

procedure TForm1.Doc1EnterRect(Memo: TStringList; View: TView);
begin
  if Memo.Count > 0 then
    if Memo[0] = "[Memo]" then
      Memo.Assign(Table1Memo)
    else if (Memo[0] = "[Picture]") and (View is TPictureView) then
     (View as TPictureView).Picture.Assign(Table1Picture);
end;

Обработчик события OnUserFunction вызывается, когда в тексте объекта обнаружена переменная или выражение, содержащее вызов функции. Функция может иметь до 3-х параметров любого типа. Пример обработчика:

procedure TForm1.Doc1UserFunction(const name: string; p1, p2, p3: Variant;
 var val: string);
var
  d: Double;
begin
 if name <> "CRAZYMONEY" then exit;
 d := Parser.Calc(p1);
 // для использования парсера необходимо включить в список uses
 // FR_Pars.pas
 if d > 10000 then
   val := """" + FormatFloat("#,##0.00",d) + " - нифига себе!" + """"
 else
   val := """" + FormatFloat("#,##0.00",d) + """";
 // результат - это _форматированная_ строка, поэтому заключаем в кавычки
end;

 Для навигации по источникам данных, не имеющим отношения к БД (например, массивам), используется компонент TfrUserDataset, расположенный на палитре компонентов FR. Он генерирует события OnFirst, OnNext, OnCheckEOF, назначение которых, думаю, понятно. Пример использования см. в демо, отчет с переменным количеством столбцов (cross-tab).


 
dzhagr ©   (2007-03-02 18:23) [12]

Спасибо огромнейшее!!! Буду спокойно спать))



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
2-1172935222
z80maniac
2007-03-03 18:20
2007.03.25
Повторная загрузка DLL


8-1153855242
Max.66RUS
2006-07-25 23:20
2007.03.25
Конвертация BMP в JPG...


2-1172686033
NGPOL
2007-02-28 21:07
2007.03.25
Особенности SELECT


11-1151921952
Maloric
2006-07-03 14:19
2007.03.25
Как правильно вызвать chm хелп


15-1172645449
roottim
2007-02-28 09:50
2007.03.25
Borland выпускает Delphi для PHP