Article ID: 37484
Article Last Modified on 8/16/2005
APPLIES TO
- Microsoft QuickBasic 4.0
- Microsoft QuickBASIC 4.0b
- Microsoft QuickBasic 4.5 for MS-DOS
- Microsoft BASIC Compiler 6.0
- Microsoft BASIC Compiler 6.0b
- Microsoft BASIC Professional Development System 7.0
- Microsoft BASIC Professional Development System 7.1
This article was previously published under Q37484
SYMPTOMS
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.
STATUS
Microsoft has confirmed this to be a bug 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 in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATION
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)
Additional query words: QuickBas BasicCom buglist4.00 buglist4.00b buglist4.50
Keywords: KB37484