Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Using the Print Screen Function from a program

42 views
Skip to first unread message

Thomas Welsch

unread,
Dec 19, 2021, 9:51:06 AM12/19/21
to
I would like to get a screen shot after a user presses a special function key. I will then call another program to process the QSYSPRT output for special purposes. I could, of course, easily transfer the output record of the screen file but I need the whole screen, constants etc. included. And I don't want to change the usual function of the Print Key. Is there an API or anything else callable which produces the QSYSPRT output? Using V7R3.

Thanks a lot in advance.

Dr.UgoGagliardelli

unread,
Dec 20, 2021, 2:59:11 AM12/20/21
to
Il 19.12.2021 15.51, Thomas Welsch ha scritto:
> I would like to get a screen shot after a user presses a special function key. I will then call another program to process the QSYSPRT output for special purposes. I could, of course, easily transfer the output record of the screen file but I need the whole screen, constants etc. included. And I don't want to change the usual function of the Print Key. Is there an API or anything else callable which produces the QSYSPRT output? Using V7R3.
>
> Thanks a lot in advance.
Maybe you should use the PRINT Keyword in a Display file to specify a
particular printer-file for the print-screen or have the program get the
control.

Thomas Welsch

unread,
Dec 20, 2021, 1:37:48 PM12/20/21
to
Thank you very much for your fast response. Unfortunately, I have two problems with the solution proposed by you: I don't want to use the PRINT Keyword as I would like to keep the normal functioning of a screen shot, I'd prefer to use a function key for providing the new function. On the other hand, I don't even know how to handle the using of the PRINT key as my programs (working with COBOL) does not set any function key indicators when using the PRINT key (actually, they seem not to receive any reaction from the host at all). BTW: here's why I would need kind of a screen shot: I want to allow users to produce an Excel sheet with the data from some screens. Therefore, the I-O fields used in my software aren't enough as the constants on display would not be known to the programs. I could add them, of course but that would mean writing a program for every special screen in the last consequence whereas I could write a more general program with a few parameters only if I had to handle the screen shots only.

angelo__

unread,
Dec 20, 2021, 3:22:07 PM12/20/21
to
Il 19/12/2021 15:51, Thomas Welsch ha scritto:
> I would like to get a screen shot after a user presses a special function key. I will then call another program to process the QSYSPRT output for special purposes. I could, of course, easily transfer the output record of the screen file but I need the whole screen, constants etc. included. And I don't want to change the usual function of the Print Key. Is there an API or anything else callable which produces the QSYSPRT output? Using V7R3.
>
> Thanks a lot in advance.

To copy the data on the screen I created a macro and inserted it in the
toolbar.
The macro is then callable on any video format without modifying
programs and dspf.
For my needs this macro writes the data in a pc text file .txt

--
Questa e-mail è stata controllata per individuare virus con Avast antivirus.
https://www.avast.com/antivirus

Jon Paris

unread,
Dec 21, 2021, 10:24:56 AM12/21/21
to
On Monday, December 20, 2021 at 8:22:07 PM UTC, angelo__ wrote:
> Il 19/12/2021 15:51, Thomas Welsch ha scritto:
> > I would like to get a screen shot after a user presses a special function key. I will then call another program to process the QSYSPRT output for special purposes. I could, of course, easily transfer the output record of the screen file but I need the whole screen, constants etc. included. And I don't want to change the usual function of the Print Key. Is there an API or anything else callable which produces the QSYSPRT output? Using V7R3.

The only programmatic way I know of doing this is via the DSM APIs. That allows you to capture the entire screen content as it currently appears to the user. Since you appear to want to simply extract some of the data on the screen that might be the way to go. You'd have to know where in the buffer the field(s) were or have some way of identifying them.

I can dig out an RPG example for you if you want. Just let me know.

Thomas Welsch

unread,
Dec 28, 2021, 2:47:12 PM12/28/21
to
This would be most helpful. Thanks in advance.

Jon Paris

unread,
Dec 28, 2021, 3:10:03 PM12/28/21
to
I can't find just the specific piece of code - but the example I wrote for the RPG Error Handling redpiece gives you all that you need and is working code. You can find it here: http://www.systemideveloper.com/downloadFiles/REDBOOK.zip

If you don't have the redpiece - which explains the code - it is here: https://www.redbooks.ibm.com/redpapers/pdfs/redp4324.pdf

If you have any questions feel free to email me.
0 new messages