Folks were talking about writing a task scheduler over in the topic here:
https://www.qb64.org/forum/index.php?topic=2720.0 , so I figured I'd take a shot of throwing a very simple one together.
Note, this is a work in progress, and at the moment, this does nothing more than show how I'd envision the interface to look for the program. It's quite compact, and quite full of junk at the moment, but there's still some valuable real estate left on the screen which could be used for additional notes or flags.
What this little program will do, (once it's fleshed out better), is allow us to enter up to 71 events on to the screen to track and schedule.
Information tracked (and this information is generally going to be entered in a left to right style line by line in the program) currently is:
Active -- Is this event actively scheduled to occur or not.
Event -- The path and name of the program which we want to shell out to.
7 Days of the Week -- A quick click selection of which of the days of the week we want to run this event.
Start Time -- When the event should start/launch.
Repeat Time -- How often should we repeat this event.
Stop Time -- When should we stop running this event.
There's some room currently left on the screen which isn't being used. Is there anything else which someone might need a task scheduler to track for them? Speak up now, and I'll add it to the mix. If what's there seems to handle all our needs, then I'll probably just move the timers further to the right and extend more characters to the path and name for folks.
Anywho.... Take a look, see how the format looks, offer suggestions for things which might be missing, and I'll expand functionality as time and life allows.
Name AS STRING * 100 'if you need more than 100 characters for the name/path, adjust this and make your own scrolling/entry routines.
DrawBoard
LINE (1, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (1, i
* 10 + 1)-STEP(8, 8), Red
, BF
_PRINTSTRING (11, i
* 10 + 2), "This is a placeholder for where your event names will go. As you can see, it can hold many letters." FOR j
= 1 TO 7 'for the 7 days of the week LINE (800 + 10 * j
, i
* 10)-STEP(10, 10), -1, B
IF Events
(i
).Days
AND 1 THEN 'sunday is active LINE (811, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (811, i
* 10 + 1)-STEP(8, 8), Red
, BF
IF Events
(i
).Days
AND 2 THEN 'monday is active LINE (821, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (821, i
* 10 + 1)-STEP(8, 8), Red
, BF
IF Events
(i
).Days
AND 4 THEN 'tuesday is active LINE (831, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (831, i
* 10 + 1)-STEP(8, 8), Red
, BF
IF Events
(i
).Days
AND 8 THEN 'wednesday is active LINE (841, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (841, i
* 10 + 1)-STEP(8, 8), Red
, BF
IF Events
(i
).Days
AND 16 THEN 'thursday is active LINE (851, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (851, i
* 10 + 1)-STEP(8, 8), Red
, BF
IF Events
(i
).Days
AND 32 THEN 'friday is active LINE (861, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (861, i
* 10 + 1)-STEP(8, 8), Red
, BF
IF Events
(i
).Days
AND 64 THEN 'saturday is active LINE (871, i
* 10 + 1)-STEP(8, 8), Green
, BF
LINE (871, i
* 10 + 1)-STEP(8, 8), Red
, BF
Note 2: I don't imagine the finished version would have all the text spamming wildly across the screen, cluttering it up in such an insane manner. Most everything would be black space, unless active, so it wouldn't look as cluttered as it currently does. What you see here is basically just positional placeholders so I can get everything lined up properly for the next step of development. (And to see how much space I have left to add or change things on the screen.)