Men jag har lite huvudbry.
Jag har nu dimensionerat en variabel, tid$(1000,4)
Det är alltså 1000 programplatser, den andra dimensionen är: 0=starttid 1=stopptid 2=port (vad som ska styras) 3=typ (dagligen, månatligen, engångs mm.) 4=flagga (0=inget har hänt, 1=startat, 2=stoppat)
I huvudloopen stegar jag fram en programpunkt per loop, och kollar av mot systemtiden. Är det starttid startas rätt port, och flaggan sätts till 1. Är det stopptid och flaggan är 1, stoppas porten och sätt flaggan till 2.
När klockan slår om till 00:00 sätts flaggan till 0 igen om typen är 0.
Så långt är allt ok.
Men om jag startar datorn och klockan är mitt mellan start och stopp, startar inte den punkten förrän nästa dygn.
Ok tänkte jag och kollade helt enkelt om klockan är lika med eller mer än programpunkten. Då funkar det.
Nackdelen med den lösningen är att om klockan är mer än stopp också, kommer porten i fråga slå på och av igen direkt jag startar datorn. Inte bra.
Hmm... jag kollar helt enkelt i startrutinen om klockan är mer än stopptiden, och hoppar över det hela. Nackdelen med det här är att det går inte att ha en starttid och stopptid på varsin sida om midnatt!
Hur i hela helsingland ska jag lösa det här?
Jag vill ju att det ska funka precis som ett vanligt mekaniskt tidur, men det är klurigt när det inte kan sitta pinnar utefter hela tidsaxeln. Det går åt lite för mycket minne då
