Страница 1 из 1
Изучаю FastReport, нужна помощьч
Добавлено: 14 май 2007, 08:07
Dr_Grizzly
Всем привет! Поставил себе Фастрепор 2.53, нарисовал формочку, и хочу ее заполнить не из таблицы, а из формы. Как я понял там есть библиотека переменных, я создал переменную, бросил ее на форму. Щелкаю предварительный просмотр форма показывается, только без значений. Теперь из кода программы хочу заполнить данными переменную, но не знаю как? Предполагаю что где-то здесь frReport1.Dictionary. а вот чего дальне не могу найти.
Вторая проблема не могу заставить открыться отчет из программы.
Вот такой код использую
If frReport1.PrepareReport then
frReport1.ShowReport;
Какое-то окно маргнет быстро и ничего больше не происходит, опять же предполагаю, что это окно подготовки отчета.
Re: Изучаю FastReport, нужна помощьч
Добавлено: 14 май 2007, 08:29
Dr_Grizzly
Так, похоже чуток начал разбираться, чтобы вывести отчет, его нужно сохранить в файл, потом перед открытием отчета его загружать
frReport1.LoadFromFile('C:\Program Files\Borland\Delphi6\Projects\Untitled1.frf');
If frReport1.PrepareReport then
frReport1.ShowReport;
А чтобы присвоить к переменной значение нужно в коде написать следующее
frReport1.Dictionary.Variables.Value[1]:='1111';
Но, тут бы хотелось обращаться к переменной по ее имени, а не по индексу в списке...
Re: Изучаю FastReport, нужна помощьч
Добавлено: 14 май 2007, 14:32
Dr_Grizzly
Вот проблемка, не могу присвоить переменной текст! Цифры присваиваются, а строки нет... что не так?
frReport1.Dictionary.Variables.Variable['Сумма_прописью']:=Edit25.Text;
frReport1.Dictionary.Variables.Variable['Фирма.ИНН']:=Edit8.Text;
Причем вот во втором случае все нормально, а в первом пишет неизвестный идентификатор 'Пятьсот'.
Мне нужно закидывать данные из Edit и Memo в переменные, все что цыфры - работает, а все что буквы нет.

Re: Изучаю FastReport, нужна помощьч
Добавлено: 15 май 2007, 00:56
Naeel Maqsudov
" писал(а):чтобы вывести отчет, его нужно сохранить в файл
Не обязательно. Если хотите, чтобы то что разрабатывается в DesignTime так сказать "вкомпилировалось" в EXE, то свойство StoreInDFM установите в True.
" писал(а):пишет неизвестный идентификатор 'Пятьсот'.
Если переменной присваивается текстовая константа, то она должна быть заключена в одинарные кавычки. Что-то типа этого:
frReport1.Dictionary.Variables.Variable['Сумма_прописью']:='''Пятьсот тридцать два''';
Re: Изучаю FastReport, нужна помощьч
Добавлено: 22 май 2007, 09:12
Dr_Grizzly
Еще вопрос: как использовать функцию Count? В отчете сделал два банда, мастер детаил и мастер футтер, в мастере футтер кинул мемо и задал ей [COUNT(MasterData1)] все посчитала. А вот как в мастере данных сделать чтоб шло по порядку нумерация строк?
Еще одна штука, у меня выводится в отчете поля (ФИО,р/с,сумма кредита,срок кредита) как сделать, если сумма кредита равна 0 то не выводить всю строку?
Тут же, как посчитать сумму кредита у тех ФИО срок который равен 5 лет?
Мне нужны хотябы примеры подобного, а там уже соображу как к себе приковырять.
Re: Изучаю FastReport, нужна помощьч
Добавлено: 03 июн 2007, 08:56
Dr_Grizzly
" писал(а):Тут же, как посчитать сумму кредита у тех ФИО срок который равен 5 лет?
т.е. в поле srok имеются значения либо 5 либо 2.
Re: Изучаю FastReport, нужна помощьч
Добавлено: 03 июн 2007, 11:37
Лелик_1044
procedure TfrmNagruzka.frxReport1GetValue(const VarName: String;
var Value: Variant);
begin
if CompareText(VarName,'MemoRasp')=0 then Value:=ElLabelRasp.Caption;
end;
На отчет поставь надпись с [MemoRasp]