Article: Q37484
Product(s): See article
Version(s): 4.00 4.00b 4.50
Operating System(s): MS-DOS
Keyword(s): ENDUSER | B_BasicCom buglist4.00 buglist4.00b buglist4.50 | mspl13_basic
Last Modified: 20-SEP-1990
The SCREEN function returns an ASCII value of 32 (a blank) for the
character CHR$(196) in the Hercules graphics mode (SCREEN 3). The
correct value (196) correctly returns in any other screen mode. The
program below demonstrates the problem and gives a listing of other
characters that the screen function will return 32.
Microsoft has confirmed this to be a problem in Microsoft QuickBASIC
versions 4.00, 4.00b, and 4.50 for MS-DOS; in Microsoft BASIC Compiler
versions 6.00 and 6.00b for MS-DOS (buglist6.00, buglist6.00b); and in
Microsoft BASIC PDS versions 7.00 and 7.10 (buglist7.00, buglist7.10)
for MS-DOS. We are researching this problem and will post new
information here as it becomes available.
The following code example demonstrates the problem:
CLS
SCREEN 3
OPEN "prints32.dat" FOR OUTPUT AS #1
FOR x = 0 TO 255
CLS
PRINT CHR$(x)
PRINT SCREEN(1, 1)
WHILE INKEY$ = "": WEND
IF SCREEN(1, 1) = 32 THEN PRINT #1, x
NEXT x
CLOSE
The SCREEN function returns an ASCII value of 32 (blank) for the
following ASCII characters:
chr$(0)
chr$(7)
chr$(9)
chr$(10)
chr$(11)
chr$(12)
chr$(13)
chr$(28)
chr$(29)
chr$(30)
chr$(31)
chr$(32)
chr$(196) ' <<====== Returns ASCII 32 (blank) only in SCREEN 3
chr$(255)