Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Подскажите компонент.


Автор: Mach3 1.4.2011, 12:20
Добрый день.
Необходимо создать отчет из информации в соответствующих эдитах и распечатать его.
Т.е. на форме несколько едитов. Пользователь вводит информацию, нажимает кнопочку печать и подобный отчет должен
быть сформирован:
user posted image
Каким компоненто проще реализовать подобное?
Спасибо.

P.S. БД не использую..

Автор: Frees 1.4.2011, 12:34
FastReport - платный сторонний
RaveReport - в комплекте с делфи

Автор: chip_and_dayl 1.4.2011, 12:42
На скриншоте кстати ФастРепорт. Он также позволяет печатать данные не с базы данных.

Автор: Mach3 1.4.2011, 13:22
Free Report, вроде бесплатный..
Подойдет?

Автор: Frees 1.4.2011, 13:27
Цитата(Mach3 @  1.4.2011,  16:22 Найти цитируемый пост)
Free Report, вроде бесплатный..

он платный, но лучше его...

по моему какая то старая версия бесплатная есть, но могу ошибиться

Автор: Mach3 1.4.2011, 13:38
Если у кого-нибудь имеется немного свободного времени, не могли бы вы продемонстрировать как значение из эдита вывести в отчет..
А то везде только с БД примеры..
Спасибо.

Автор: Frees 1.4.2011, 13:43
через Variables
подробнее 
http://www.fast-report.com/documentation/ProgMan-ru/index.html
http://www.fast-report.com/documentation/UserMan-ru/index.html

Автор: DarkProg 1.4.2011, 14:30
Ну, я свою лепту внесу.

Если время позволяет и отчёт этот вещь разовая, то можно нарисовать используя TextOut, lines и прочее - я так делал один раз, когда возможности файло-отчётников не позволяли сделать то что мне было надо.

Автор: Frees 1.4.2011, 14:36
Цитата(DarkProg @  1.4.2011,  17:30 Найти цитируемый пост)
можно нарисовать используя TextOut, lines и прочее - я так делал один раз, когда возможности файло-отчётников не позволяли сделать то что мне было надо.



DarkProg, ну и побила же тебя жизнь то....
)))

Автор: DarkProg 1.4.2011, 22:33
Цитата(Frees @  1.4.2011,  14:36 Найти цитируемый пост)
DarkProg, ну и побила же тебя жизнь то....
))) 

Зато остался закоменченый код к которому в случае нужды можно прибегнуть ;)

Автор: Данкинг 1.4.2011, 23:04
Цитата(Mach3 @  1.4.2011,  14:38 Найти цитируемый пост)
Если у кого-нибудь имеется немного свободного времени, не могли бы вы продемонстрировать как значение из эдита вывести в отчет..

Вроде в справке к Fast Report были примеры. Но в целом - как вариант, отлавливать событие OnGetValue.

Автор: Akella 1.4.2011, 23:26
Цитата(Frees @  1.4.2011,  13:27 Найти цитируемый пост)
Free Report, вроде бесплатный..

он платный, но лучше его...

Вот как раз FreeReport бесплатный. Но для последних версий дельфи его нет. Максимом для Д5 или Д7.

Автор: Keeper89 1.4.2011, 23:36
Отчет простой, можно и с RTF/DOC управиться.

Автор: Данкинг 2.4.2011, 00:41
Цитата(Keeper89 @ 2.4.2011,  00:36)
Отчет простой, можно и с RTF/DOC управиться.

Если рисовать с нуля - можно и в "Ворде", действительно. Только боюсь, там дольше формироваться будет.

Автор: Frees 2.4.2011, 19:00
Цитата(Akella @  2.4.2011,  02:26 Найти цитируемый пост)
Вот как раз FreeReport бесплатный. Но для последних версий дельфи его нет. Максимом для Д5 или Д7.

я был уверен что там Fast а не Free написано ))

Автор: Akella 2.4.2011, 19:46
Цитата(Mach3 @ 1.4.2011,  13:22)
Free Report, вроде бесплатный..
Подойдет?

я не это сообщение отвечал smile

Автор: Mach3 3.4.2011, 06:21
установил FastReport 4.
Текст заявления оформил в RichText.
При компиляции 
Код

Class TfrxRichView not found

В Uses frxClass имеется..
В чем трабла?

Спасибо.

P.S. D7.

Добавлено через 11 минут и 26 секунд
ответ найден.. =))
http://www.fast-report.com/ru/faq/faq.php?ID=393#3798

Автор: Mach3 4.4.2011, 04:23
Помогите советом. 
Вобщем на форме скопилось около 100 едитов (и это еще не предел).
После ввода информации необходимо сохранять всю эту информацию в файле.
Может имеется возможность как-нибудь "разом" сохранить всё?
Мои знания позволяют мне, разве что "вручную" каждый текст из эдитов засунуть в лист и лист сохранить в файл..

Спасибо.

Автор: Keeper89 4.4.2011, 04:47
Цитата(Mach3 @  4.4.2011,  04:23 Найти цитируемый пост)
Мои знания позволяют мне, разве что "вручную" каждый текст из эдитов засунуть в лист и лист сохранить в файл..

А мои позволяют задуматься, что окно спроектировано как то не кошерно.

Вообще простой механизм сохранения может быть реализован так:
1) Создаем лист
2) Пробегаемся по всем контролам, если это TEdit, делаем StringList.Add('EditName=EditValue')
3) Сохраняем
Соответствующая загрузка:
1) Создаем и загружаем лист
2) Пробегаемся по листу, берем Name, если TEdit с таким именем есть, устанавливаем Value[Name]

Автор: Mach3 4.4.2011, 04:56
Цитата(Keeper89 @  4.4.2011,  04:47 Найти цитируемый пост)
А мои позволяют задуматься, что окно спроектировано как то не кошерно.

нет, просто необходимо заполнять формы заявлений 4х видов..
и для заждого заявления около 30-40 пунктов.
итого: 4 TabSheets X 30 Edits = 120 Edits.. =))

Цитата

Вообще простой механизм сохранения может быть реализован так:

Спасибо, попробую.. 

Автор: Frees 4.4.2011, 06:27
может начать БД использовать

Автор: Mach3 22.4.2011, 03:44
столкнулся с проблемой..
форма заявления оформлена в RichText, в нужных местах расположены поля memo.
значения полей меняю отлавливая событие OnGetValue
Код

procedure TForm1.frxReport1GetValue(const VarName: String;
  var Value: Variant);
begin
      if CompareText(VarName, 'куда') = 0 then
      Value := edit1.Text;
end;

user posted image


подобная беда наблюдается на некоторх компах, причем величина отклонения везде разная.
в чем может быть причина?

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