15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Crystal Reports and MFC

Luke Stephens -- luker@tfs.net
Saturday, November 16, 1996

Environment: VC++ 4.2-flat, Win 95, WinNT 4.0

Has anyone used the Crystal Reports Library that comes with VC?  If so,
have you had any problems or found any bugs when using it with MFC?

I'm wanting to pass parameters to the reports from my MFC app.  For
example, I want to pass a start/end date for the report filter.  Any source
code examples would be greatly appreciated.

Thanks in advance

Luke Stephens
luker@tfs.net



Dong Chen -- d_chen@ix.netcom.com
Tuesday, November 19, 1996

[Mini-digest: 2 responses]

At 05:25 PM 11/16/96 -0600, you wrote:
>Environment: VC++ 4.2-flat, Win 95, WinNT 4.0
>
>Has anyone used the Crystal Reports Library that comes with VC?  If so,
>have you had any problems or found any bugs when using it with MFC?
>
>I'm wanting to pass parameters to the reports from my MFC app.  For
>example, I want to pass a start/end date for the report filter.  Any source
>code examples would be greatly appreciated.
>
>Thanks in advance
>
>Luke Stephens
>luker@tfs.net
>
>

I used stand alone Crystal Reports(v.4.0) in one of my VC++ 16-bit projects.
I don't think there is any big difference as the mater of its report engine
library. The library is just a plain C lib. It  is pretty straightforward to
set a parameter in the MFC program and send it to the report.
First, you need to create a so called Formula Field in the report file. Give
it a name say FStartDate. Then, from your program, setup the connection to
the report (To do this, just follow the steps described in the document),
and then call this function: 

        PESetFormula(Job, "FStartDate", (char*)(LPCSTR)strStartDate))
where Job is an integer for the report job and strStartDate is a CString.
There are some bugs in the version I used. I think the latest stand alone
version is 5.0. Once one of our clients installed Version 4.5 after he
installed my application and had some compatibility problems so I had to fix
it. Overall, I think it is a good product in terms of creating database
related reports.
--
Dong
d_chen@ix.netcom.com

-----From: Gerry Sweeney 


Environment: VC++ 4.2-flat, Win 95, WinNT 4.0

A number of you have been asking about Crystal Reports in MFC. I done some 
work with this some time ago and wanted to achieve a seamless integration 
with the MFC framework. We wanted the ability to have a report preview per 
MDI child window. We achieved this no problem. Unfortunately I do not have 
the code to hand but this is roughly what you need to do:-


1. Create an MDI app

2. Create a menu with an Item for each PExxx function that duplicates the 
toolbar found on the bottom of the Report Window.

3. Create a Toolbar bitmap that has buttons and map these buttons to the 
menu functions above.

4. Map a message handler to each of the menu/tool buttons and call the 
relevant PExx function from within it.

5. Override the OnSize, OnSetFocus, OnCreate member functions of the view 
class

6. In the OnCreate call the PEOutputToWindow and pass the flags and window 
handle from the 'this->GetSafeHwnd()' call of the view to create the report 
window as a child window of the view. Save the handle.

7. When the above window has been created successfully, Your view class will 
have one child window in it. Use the 'EnumerateChildWindows' (I think its 
called that! You know the one I mean) and get the Window handle of the 
reports window. Save it!

8. In the 'OnSize' member, using the window handle from the previous step 
resize/reposition the report view so that the boarder and toolbar is outside 
of the view area and just the report data is visible.

9. On the OnSetFocus' member, Set the focus to the report hwnd.


I may have forgotten a few bits but doing the above should get you going in 
about an hour or so. In the early version of CR not all of the navigation 
functions in the toolbar were exported so we used a bit of message hacking 
to post the appropriate WM_COMMAND messages at the report view but in later 
versions (4+) they have exported them all so there is no need to do this. 
Incidentally we done this with version 4 + 5 pro and we did not use the 
standard stuff that comes with VC++.

I hope this helps all you Crystal Reporters out there.

Incidentally we have to do some work in the near future with setting report 
criteria from custom Dialogs/DLL's If anyone has any ideas I would 
appreciate them


Kind Regards

Gerry Sweeney
Hornbill Systems Ltd

gerry@hornbill.com



Riso Nemec -- nemec@softec.sk
Friday, November 22, 1996

> Environment: VC++ 4.2-flat, Win 95, WinNT 4.0
> 
> A number of you have been asking about Crystal Reports in MFC.

Do you know about a simple way how to put my own data collection to
a Crystal Report?
Preferably concerning my data as a computed stream and without saving
them into any kind of data store (file, database, etc.).

Thank you
Richard


  ___  ___  ____ _   ___________________________________________________
 / __)/   \|    ) |  Richard NEMEC, SOFTEC, Bratislava, Slovakia, Europe
(___ \  |  \   (| |  phone:  +42-7-273805
(_____)____/_|\_\_|  e-mail: nemec@softec.sk
 ____ _  ___  ___    www:    http://www.fmph.uniba.sk/~nemec
|    ) |/ __)/   \           http://softec.softec.sk/~nemec
|   (| |___ \  |  \  hobby:  iveta@home.dnv.sk
|_|\_\_|_____)____/  ___________________________________________________




Gerry Sweeney -- gerry@hornbill.com
Monday, November 25, 1996

[Mini-digest: 2 responses]


Environment: VC++ 4.2-flat, Win 95, WinNT 4.0

Richard,

I too wanted to do this but was unable to with any great success. It depends 
on the kind of data and the size of data. One way which we tried but did not 
like was writing the data into a temporary .DBF file on you local HDD and 
opening the report on this file. Its a bit naff but it does work. Whet we 
wanted to do was display tables and graphs with various statistics in real 
time. We resorted to the Visual Tools Grid Control DLL and made reports with 
this. This was much faster that CR in this example and real time updates 
where near instantaneous.

Gerry
 ----------
From: owner-mfc-l
To: 'mfc-l@netcom.com'
Subject: RE: Crystal Reports and MFC
Date: 22 November 1996 08:01

> Environment: VC++ 4.2-flat, Win 95, WinNT 4.0
>
> A number of you have been asking about Crystal Reports in MFC.

Do you know about a simple way how to put my own data collection to
a Crystal Report?
Preferably concerning my data as a computed stream and without saving
them into any kind of data store (file, database, etc.).

Thank you
Richard


  ___  ___  ____ _   ___________________________________________________
 / __)/   \|    ) |  Richard NEMEC, SOFTEC, Bratislava, Slovakia, Europe
(___ \  |  \   (| |  phone:  +42-7-273805
(_____)____/_|\_\_|  e-mail: nemec@softec.sk
 ____ _  ___  ___    www:    http://www.fmph.uniba.sk/~nemec
|    ) |/ __)/   \           http://softec.softec.sk/~nemec
|   (| |___ \  |  \  hobby:  iveta@home.dnv.sk
|_|\_\_|_____)____/  ___________________________________________________
-----From: kevin@earth.pln.com.tw (Kevin Tarn)

I think that the only way is to reserve some formulas in your report
template, and then replace them with your data streams.


Kevin Tarn
kevin@pln.com.tw




| Вернуться в корень Архива |