Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

History in QuickWin window

ferrad01
Einsteiger
1.903Aufrufe
We have a number of QuickWin applications. The scrolling history is lost beyond 1.5 pages or so. I'm not sure how to increase the buffer size to increase the number of lines we can scroll back.

This is what we use to set up the window:

type (windowconfig) wc

wc.numtextrows = 26
wc.numtextcols = 80
wc.numcolors = -1
wc%mode = QWIN$SCROLLDOWN
wc.title = "esp"C
wc.fontsize = -1

I see nothing in ifqwin.f90 to set the buffer size.

Any idea?
0 Kudos
9 Antworten
ferrad01
Einsteiger
1.903Aufrufe
Steve, any idea ...???

If I set the font size to #0080010 and write the integers 1-400, and then pause, I can scroll back to 336 or 67 lines in total. (336-400 + 2 lines for the "Fortran Pause ..." statement).

With the font size to -1 I can only scroll back to 376 or 27 lines in total.
ferrad01
Einsteiger
1.903Aufrufe
Steve,
Here the code:

program wintest

use MT
use DFLIB

implicit none

integer :: i
logical :: cstatus
type (windowconfig) :: wc

wc%numxpixels = 1920
wc%numypixels = 1024
wc%numtextrows = 200
wc%numtextcols = 80
wc%numcolors = -1
wc%mode = QWIN$SCROLLDOWN
wc%title = "esp"C
wc%fontsize = #0080010

cstatus = SETWINDOWCONFIG(wc)

do i = 1, 400
write(6,'(i10)') i
enddo

pause

end

Michael_J_Slater__In
Neuer Beitragender I
1.903Aufrufe
Steven_L_Intel1
Mitarbeiter
1.903Aufrufe
Yes, it can be done. I am trying to locate an example demonstrating it - may take me a while (I am traveling this week.)
ferrad01
Einsteiger
1.903Aufrufe
... any update?
Steven_L_Intel1
Mitarbeiter
1.903Aufrufe
I've attached two samples from CVF that may be of use to you.

TESTSCRL.F90 is the one I was remembering. CONFUNC.F90 is an interesting alternative - it shows how you can use a regular console window from a QuickWin application. I have not tried this in Intel Fortran but I see no reason they shouldn't work.
ferrad01
Einsteiger
1.903Aufrufe
I tried playing with the file TESTSCRL.F90 which manages to display / scroll back a few more lines than my app. However I can only get rows (numbers) 174-1500 (1327 lines) to display in the scroll back. I tried increasing wc%numtextrows but that did not help.

Modifed file attached.
Steven_L_Intel1
Mitarbeiter
1.903Aufrufe
The problem with this approach is that it doesn't scale well. You are creating a huge bitmap window and there are Windows limits to how large it can be.

I had thought this sample repositioned the cursor, but I guess not. Perhaps you'd do better with using a real console window for this. You can use the approach in the other attachment or just call the Windows API AllocConsole and use WriteFile to write to it.
ferrad01
Einsteiger
1.903Aufrufe
Just an update: I got it to get to the end of the window by adding:

wc%mode = QWIN$SCROLLDOWN

Adrian
Antworten