The following warnings occurred:
Warning [2] Undefined array key 0 - Line: 1677 - File: showthread.php PHP 8.2.31 (Linux)
File Line Function
/inc/class_error.php 157 errorHandler->error
/showthread.php 1677 errorHandler->error_callback
/showthread.php 916 buildtree




Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Logical operators bugged? (*solved*)
#1
I can't see why this doesn't work:

Code:
dim a as uByte FUNCTION get (capitalise as byte) as uByte DIM lastK AS uByte AT 23560: REM LAST_K System VAR lastK=0 DO LOOP until lastK <> 0 : REM Wait for a keypress IF capitalise >0 AND lastK >= 97 AND lastK <= 122 THEN: LET lastK = lastK - 32 END IF IF capitalise <0 AND lastK >=65 AND lastK <= 90 THEN: LET lastK=lastK + 32 END IF RETURN lastK END FUNCTION let a=get(1) print a,chr$(a)

Without fail this doesn't capitalise the key I pressed. get(-1) should only produce lower case (a-z), get(0) should produce what's pressed (a-Z) and get(1) should produce UPPER case (A-Z). It doesn't seem to be changing it. I've proved the IF works - I think the AND is failing.

I tried
Code:
IF ((capitalise >0 AND lastK >= 97) AND lastK <= 122) THEN:
in order to see if' it's something in the multiple AND options. Any one of the three conditions, without the AND seems to come out true.

Are logical functions misbehaving?
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)