Posts: 719
Threads: 72
Joined: Mar 2003
I'm working on a thing and I need something to register every other second..
This code doesn't seem to be working...
Code:
IF (TIMER MOD 2) = 0 THEN
'Do the stuff I want
END IF
Any suggestions?
I will give out source code on request but i'd prefer to keep it disclosed...
Oz~
Posts: 1,752
Threads: 21
Joined: Jun 2002
Two methods:
Code:
DEFINT A-Z
CLS
Trigger = 0
DO
IF TIMER AND 1 THEN
IF NOT Trigger THEN
PRINT "Trigger"
Trigger = NOT Trigger
END IF
ELSE
IF Trigger THEN Trigger = NOT Trigger
END IF
LOOP WHILE INKEY$ = ""
END
Code:
CLS
ON TIMER(2) GOSUB Trigger
TIMER ON
DO
LOOP WHILE INKEY$ = ""
END
Trigger:
PRINT "Trigger"
RETURN
Posts: 2,765
Threads: 138
Joined: Nov 2002
I think this works.
[syntax="QBASIC"]t = timer
if timer - t => 1 then
'bla
end if[/syntax]
Back by popular demand!
I will byte and nibble you bit by bit until nothing remains but crumbs.
Posts: 719
Threads: 72
Joined: Mar 2003
Any reason why my code doesn't work?
Whitetiger0990, Your code is the most easy adaptable and quickest to the extent of my knowledge
I'm trying to minimize variables, but i'll just static one in the sub it uses...
Oz~
Posts: 1,439
Threads: 15
Joined: Apr 2003
Well, TIMER is a floating-point value, so maybe try using INT(TIMER) in place of TIMER in your original code. However, as Plasma pointed out, x MOD 2 = 0 can be replaced with x AND 1 = 1, etc.
Posts: 719
Threads: 72
Joined: Mar 2003
Hmmmmmm....there is some kinda glitch...the code for the timer isn't being registered....
here is how it looks....
Code:
SUB Gui.TextBox (info AS TextBoxType)
'TYPE TextBoxType
' selected AS INTEGER
' cursor as INTEGER
' x AS INTEGER
' y AS INTEGER
' length AS INTEGER
' height AS INTEGER
' text AS STRING * 150
'END TYPE
DIM t AS SINGLE
Future.BOX info.x - 2, info.y - 2, info.x + info.length + 2, info.y + info.height + 2, Black&
Gui.Outline info.x + 1, info.y + 1, info.x + info.length + 1, info.y + info.height + 1, lGrey&, dGrey&
Future.FILLBOX info.x, info.y, info.x + info.length, info.y + info.height, White&
IF TIMER - t >= 1 OR t = 0 THEN
t = TIMER
info.cursor = info.cursor AND 1
END IF
IF info.cursor THEN
dx% = info.x + ((LEN(info.text) + 1) * 8) + 5
Future.Line dx%, info.y + 1, dx%, info.y + info.height - 1, Black&, -1
END IF
Gui.Print info.text, info.x, info.y, Black&
END SUB
Obviously with future lib and a few routines that im not going to include, coz this should just be a look and fix problem...
Oz~
Posts: 719
Threads: 72
Joined: Mar 2003
nevermind...i found the problem
i had to do LEN(LTRIM$(RTRIM$(info.text)))
hehehe
:oops:
Oz~