Announcement

Collapse
No announcement yet.

Full Screen Output Problem

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Full Screen Output Problem

    Need a little help...

    I'm not able to get a Window (vs Full Screen) output screen to a
    a DOS program I've written.

    The Properties Screen Usage tab has the Windows Usage option
    checked (not the Full Screen option) in the executable I created
    but whenever the program is run the screen output defaults to a
    full screen.

    Could something in my compiled program code be over-riding the
    selected "Windows"option?

    I'm compiling within PB 3.0b and am using Win XP.

    P.S. Although its probably not related, when I try running the
    program in Vista, I get an error message that Vista can not run
    in Full screen mode.

    Too many problems, too little time :-)


    ------------------

  • #2
    Is your program switching to a graphics mode? Can only run text mode in a Window.

    ------------------
    - LJ

    [This message has been edited by Laurence Jackson (edited July 25, 2007).]
    - LJ

    Comment


    • #3
      Properties -> Program -> Normal Window

      ------------------
      Arthur Gomide
      "If you think good architecture is expensive, try bad architecture." -- Brian Foote and Joseph Yoder
      "The trouble with quotes on the Internet is that you can never know if they are genuine." - Abraham Lincoln.

      Comment


      • #4
        Originally posted by Laurence Jackson:
        Is your program switching to a graphics mode? Can only run text mode in a Window.

        Laurence,
        Really sorry I haven't replied earlier. Thought that I had
        requested email notification when someone responded but I had
        not.

        What code in my program would cause a switch to graphics mode?

        I've turned off the Bitmap option and switched to (i.e. applied)
        the Truefonts option in the executable file but the screen still
        reverts to full screen when the program runs.

        BTW; I don't draw anything (circles, etc.) but I do use a Paint statement
        to fill in an enclosed area.

        F. Lampart



        ------------------

        Comment


        • #5
          Originally posted by Arthur Gomide:
          Properties -> Program -> Normal Window

          Arthur,
          I apologize for not responding earlier but I was under the mistaken
          impression that I had requested email notification of a response but
          I hadn't.

          The "Normal Window" choice was already selected in the Run
          field of my executable file.

          Any other suggestions/tips?


          ------------------

          Comment


          • #6
            >I do use a Paint statement

            If PAINT works, you are using a graphics screen. And if you
            are using graphics in PBDOS, you will always get full screen display
            (unless there's a third-party solution to change that).

            There is an internal PB variable (see Help, or manual) that you can
            check, to see what screen you are in, if for any reason you don't know.

            SCREEN is the statement that determines text/graphics ; its default is
            text. So check your code for a SCREEN statement. There must be one,
            and it must be non-zero, at least by my reckoning. You should be able to
            get a Windows box rather than full screen if you use SCREEN 0 -- and an
            error message for any graphics command.


            ------------------

            Comment


            • #7
              try width 80,25 http://www.powerbasic.com/support/pb...ead.php?t=1499

              ------------------
              How long is an idea? Write it down.

              Comment


              • #8
                Originally posted by Emil Menzel:
                >I do use a Paint statement

                If PAINT works, you are using a graphics screen. And if you
                are using graphics in PBDOS, you will always get full screen display
                (unless there's a third-party solution to change that).

                There is an internal PB variable (see Help, or manual) that you can
                check, to see what screen you are in, if for any reason you don't know.

                SCREEN is the statement that determines text/graphics ; its default is
                text. So check your code for a SCREEN statement. There must be one,
                and it must be non-zero, at least by my reckoning. You should be able to
                get a Windows box rather than full screen if you use SCREEN 0 -- and an
                error message for any graphics command.


                I just remmed out my program's Paint statements and have searched and
                for and replaced Screen Statements >0 with Screen 0 but the
                program still reverts to a full screen mode at execution.

                Will check again to be sure all the above program elements I'm
                pulling together with INCLUDE statements have all been changed.

                I've found the Internal PB Variable (pbvScrnMode)you referred to
                but am a little a fuzzy on on how to find its value. Manual time...

                If I've already made all the above referenced changes correctly,
                I've got to assume there are other graphics statements within
                my program forcing it into the graphics mode.

                Is there a list anywhere of All graphics ststements? Checking
                the manual statement by statement is going to be big job.


                ------------------

                Comment


                • #9
                  Will check again to be sure all the above program elements I'm
                  pulling together with INCLUDE statements have all been changed.


                  Emil,

                  I found a Screen statement that I had not set to zero per your
                  recommendation. After doing so my problem (program reverting to full
                  screen mode) went away.

                  Thanks a lot for the help...

                  P.S. I'm still going to look into using the internal PB variable to
                  learn more about them.

                  ------------------

                  Comment


                  • #10
                    originally posted by mike doty:
                    try width 80,25 http://www.powerbasic.com/support/pb...ead.php?t=1499

                    mike,

                    see my reply to emil. the problem i had was caused by using a screen
                    statement > 0.

                    ------------------

                    Comment


                    • #11
                      To find the value of pbvScrn you could simply use
                      PRINT pbvScrn or X=pbvScrn. Alternatively, see below.

                      p. 179 of the PB User's guide (manual) lists the graphics commands as:
                      setup commands SCREEN, WINDOW,WIDTH,VIEW,COLOR & PALETTE
                      drawing commands CIRCLE,DRAW,GET,LINE,PAINT,PMAP,POINT,PRESET,PSET,PUT

                      I will not swear that the list is exhaustive. Also, some of the commands
                      such as SCREEN, COLOR, VIEW & WIDTH might have a non-graphics use.
                      So, especially if your program includes numerous INCLUDE files it might
                      be easier to have the program periodically poll the value of pbvScrn,
                      rather than you yourself doing a word-search on all commands, in every
                      file. For example, periodically call this function:


                      FUNCTION CheckScreenMode
                      STATIC X%, Count%
                      IF Count%=0 then X%=666 'on first call, force a print-out
                      IF pbvScrn <> X% THEN
                      X%=pbvScrn
                      INCR Count
                      PRINT "You are now in SCREEN mode ";X%
                      IF Count% > 1 THEN PRINT "Number of mode changes = ";Count%
                      END IF
                      FUNCTION=X%
                      END SUB


                      ------------------

                      Comment


                      • #12
                        As info, the WIDTH statement was needed on some laptops.
                        If this is a commercial program it might be advisable to put
                        in an option to execute the statement (if needed.)


                        ------------------


                        [This message has been edited by Mike Doty (edited August 12, 2007).]
                        How long is an idea? Write it down.

                        Comment

                        Working...
                        X