Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.06 c
15-1172519518
Юрий_К
2007-02-26 22:51
2007.03.25
Real and integer


6-1160035146
mlm68
2006-10-05 11:59
2007.03.25
Почтовый робот


15-1172722039
Константинов
2007-03-01 07:07
2007.03.25
Сегодня 1-ый день на новом месте. Что меня ждет – не знаю…


6-1160399274
Wapo
2006-10-09 17:07
2007.03.25
размер не прочитанных даных в INDY


15-1172679850
Calibr
2007-02-28 19:24
2007.03.25
Кнопка в Проводнике





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский