Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отчет в FastReport, Загрузка на лист отчета из переменных 
V
    Опции темы
Hellen
Дата 19.1.2009, 23:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 2
Всего: 3



У меня данные находятся в переменных.
Как мне их вывести  на лист отчета?

Одна колонка будет иметь наименование товара, 
а напротив наименования,  должны отображаться кол-во и стоимость.

Наименование-из базы, а кол-во и стоимость-из переменных.
Вот с переменными у меня трудности......

PM MAIL   Вверх
Данкинг
Дата 19.1.2009, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Вот справка, изучай... smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Hellen
Дата 20.1.2009, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 2
Всего: 3



Из справки:-

Вывод значения переменной в отчете
Чтобы показать содержимое какой-либо скриптовой переменной в отчете, надо описать эту переменную и присвоить ей значение. Вот простой пример скрипта:

Код

var
MyVariable: String;
begin
MyVariable := 'Hello!';
end.


Вывести значение переменной можно, например, в объекте "Текст", поместив в него строку [MyVariable].
Имя переменной должно быть уникальным, т.е. не должно совпадать с именами объектов отчета, стандартных функций, констант. При любой ошибке в скрипте на экран будет выведено сообщение и отчет строиться не будет.

Добавлено через 4 минуты и 2 секунды
Я примерно это себе и представляла, но пока не получается у меня вот что:
Для того что бы вывести эту переменную,  я описываю её в строке кода  fastreportА,
потом пускаю на выполнение, но как мне связать скрипт в фаст репорте с переменной юнита.??
Он не видит переменную.

PM MAIL   Вверх
Данкинг
Дата 20.1.2009, 00:54 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Ладно, вот краткий мануал накатал. smile 

1. На FR Заходим в меню "переменные":
user posted image
2. В окне редакторе переменных создаём новую категорию:
user posted image
3. В этой категории уже создаём наши переменные, называя их, как нужно:
user posted image
4. Для использования переменных в отчёте обрамляем их скобочками:
user posted image

Теперь как обращаться к переменным отчёта из программы. У компонента frxReport есть метод OnGetValue. Вот его и юзаем:
VarName - это название переменной в отчёте, value - то значение, которое мы хотим ей передать:

Код

procedure TForm1.frxReport1GetValue(const VarName: String;
  var Value: Variant);
begin
if varname='path' then value:='БУГАГАГА';
end;


Это сообщение отредактировал(а) Данкинг - 20.1.2009, 00:55


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 20.1.2009, 01:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Данкинг, посоветовал FR? Теперь придётся учить smile .
PM MAIL   Вверх
Данкинг
Дата 20.1.2009, 01:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Akella @ 20.1.2009,  01:18)
Данкинг, посоветовал FR? Теперь придётся учить smile .

Кому учить, мне? Согласен, что многого не знаю ещё по FR. smile 



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 20.1.2009, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



И я не знаю, может оно и к лучшему smile . Сами побольше узнаем. А я ещё хотел бы хорошо изучить скриптер.
PM MAIL   Вверх
Данкинг
Дата 20.1.2009, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Akella @  20.1.2009,  09:15 Найти цитируемый пост)
А я ещё хотел бы хорошо изучить скриптер. 

Там много на Дельфи похоже (ну, на паскаль т.е.). smile Можно интуитивно догадываться, а вообще событий немного - до печати, после печати... И ещё что-то такое подобное. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Akella
Дата 20.1.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



Нет, там есть отдельный пакет для скриптов.
PM MAIL   Вверх
Данкинг
Дата 20.1.2009, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Akella @  20.1.2009,  11:14 Найти цитируемый пост)
Нет, там есть отдельный пакет для скриптов. 

Я про закладку "скрипт" в отчётах. А пакеты - да, есть, только их я определённо не знаю. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Kbl4AH
Дата 20.1.2009, 11:47 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 741
Регистрация: 1.4.2008
Где: Вятка

Репутация: 6
Всего: 15



На форме имеется компонент frxReport1.
1-й способ (в конструкторе отчета добавляем мемку Memo1):
Код

procedure TForm1.FormShow(Sender: TObject);
var
  MyString: string;
begin
  MyString := 'Переменная';
  (frxReport1.FindObject('Memo1') as TfrxMemoView).Text := MyString;
  frxReport1.ShowReport(True);
end;

2-й способ (динамическое создание мемки):
Код

procedure TForm1.FormShow(Sender: TObject);
var
  MyString: string;
  MyMemo: TfrxMemoView;
begin
  MyString := 'Переменная';
  MyMemo := TfrxMemoView.Create(frxReport1.FindObject('Page1'));
  MyMemo.SetBounds(100,100,200,20);
  MyMemo.Text := MyString;
  frxReport1.ShowReport(True);
end;

PM MAIL ICQ   Вверх
Hellen
Дата 21.1.2009, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 2
Всего: 3



Данкинг   спасибо.....
У меня на выполнение запущена  ButtonClick.............из формы  "TFormFastReport" 
что то я сообразить не могу.......куда твою  процедуру сажать.
Можно дополнить код??  плиз.

Ф отчете я создала переменную  'price' в неё надо передать значение переменной  'cena'.



Код

procedure TFormFastReport.Button1Click(Sender: TObject);
    var
cena:integer;
begin
cena:=strtoint(edit1.Text);
frxReport1.ShowReport(true);
end;
end.

PM MAIL   Вверх
Данкинг
Дата 21.1.2009, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Цитата(Hellen @  21.1.2009,  22:12 Найти цитируемый пост)
куда твою  процедуру сажать.

У frxReport1 ищи OnGetValue и вместо моих переменных подставляй свои. smile 

Это сообщение отредактировал(а) Данкинг - 21.1.2009, 22:42


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Hellen
Дата 21.1.2009, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 2
Всего: 3



Код

procedure TFormFastReport.Button1Click(Sender: TObject);

       var
cena:integer;
begin
cena:=strtoint(edit1.Text);
frxReport1.ShowReport(true);

end;

procedure TFormFastReport.frxDBDataset1Open(Sender: TObject);
begin
end;

procedure TFormFastReport.frxReport1GetValue(const VarName: string;
  var Value: Variant);
begin
 if price='path' then value:=cena;
end;
end.


Я не понимаю как этот мой бред может работать?
Как переменные могут передоваться?

Добавлено через 32 секунды
передаваться

Добавлено через 1 минуту и 58 секунд
я запуталась smile

Добавлено через 10 минут и 3 секунды
Код

procedure TFormFastReport.Button1Click(Sender: TObject);
    var
cena:integer;
begin
cena:=strtoint(edit1.Text);
frxReport1.ShowReport(true);
end;
procedure TFormFastReport.frxReport1GetValue(const VarName: string;
  var Value: Variant);
begin
 if VarName ='price' then value:='cena';
end;
end.

вот здесь уже что то проясняется только вместо  текста  'cena' мне нужно передать значение переменной......

Добавлено через 10 минут и 36 секунд
значение переменной cena

Добавлено через 14 минут и 15 секунд
Объявила переменную в  public
уф...
Всё получилось.
Спасибо всем.
PM MAIL   Вверх
Hellen
Дата 22.1.2009, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 168
Регистрация: 3.7.2006
Где: Москва

Репутация: 2
Всего: 3



Kbl4AH,  твой метод тоже получился, спасибо, мне пригодится всё............

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0847 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.