KnowledgeBase Archive

An Archive of Early Microsoft KnowledgeBase Articles

View on GitHub

Q31484: In 4.00b, PEN(0) Returns Zero in QB.EXE or Compiled BC /V

Article: Q31484
Product(s): See article
Version(s): 4.00b 4.50
Operating System(s): MS-DOS
Keyword(s): ENDUSER | buglist4.00b fixlist4.50 B_BasicCom | mspl13_basic
Last Modified: 24-MAR-1989

PEN(0) always returns a value of zero when used within the QuickBASIC
Version 4.00b editor or in a program that was compiled with the BC /V
option. This problem occurs in QuickBASIC Version 4.00b and in the
Microsoft BASIC Compiler Versions 6.00 and 6.00b for MS-DOS and OS/2
(buglist6.00, buglist6.00b).

A workaround is to compile the program with BC.EXE without the /V
option.

This problem was corrected by QuickBASIC Version 4.50.

Results of testing with earlier versions show that the PEN
function in QuickBASIC Version 4.00 causes the system to hang (query
on PEN for a related article within this database).

PEN(0) works properly in QuickBASIC Versions 3.00, 2.01, and 2.00.

The following is a code example:

   CLS
   PEN ON
   WHILE INKEY$ = ""
      FOR i% = 1 TO 10000
      NEXT i%  'Delay loop for readability
      PRINT PEN(0)
   WEND

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1986-2002.