& timeplan By Paul Kennedy March 1988( l  2  < PFP Menu Selection Z x%d a(',);">> KEY 1-5 <<"n   Qxu "" a(),);" ";    d& a(',);" ";()0!  ,,,V, Load Rota xz loade  a(7,);"Data held in" a(7,);"will be lost." a(7,);"Continue Y/N?"u "" ' "y" "Y"   Pj x a(7,);"Which rota do" a(7,);"you want to" a(7,);"load"; rot* (rot) (rot)  x a(7,);"Ensure ";rot a(7,);"disc is in" a(7,);"drive 'A'.Then" a(7,);"press any key."u "" loade "I",,rot,week,shift,a,a,sa,su  week  ,w(),w(),gri(,),gri(,)  A"  shift,shif(),hour()  , 6  week   a(() ,);gri(,)  a(T,); "##";w();"."; "##";w() @xyBJ  shift a(x,y);">";shif()7Tyy y yxx ^ h  Prclos1 | P Create Rota  x loade  a(7,);"Data held in" a(7,);"memory will be" a(7,);"erased." a(7,);"Continue Y/N?"u "" ' "y" "Y"  P  x a(7,);"What will you" a(7,);"call this rota?" a(7,);"(Max.8 chars.)" a(7,); rot* (rot) (rot) loade  x e el a(7,);"How many weeks" a(7,);"on the rota?" a(7,); "(max. 18)";week. week week    x a(7,);"How many diffe-" a(7,);"-rent shift" a(7,);"times on rota?" a(7,);"(max. 16)";shift' shift shift &xy0  shift : x1D a(7,);"Shift";;"of";shift;AN a(7,);"From (e.g.0800)" a(7,); fro=X a(7,);"To (e.g.1600)" a(7,); t&b a(7,);"Is This OK Y/N?"lu "" l'v "y" "Y"  :Q a(x,y);">";fro;"-";tshif()fro"-"t7yy y yxx Zf&(x(fro,))<&(|(fro,))t&(x(t,))<&(|(t,))? tf tf (t)fIhour()(<)minute()(hour()<)    xshif()"FREE DAY"hour()minute()shif()"REST DAY"hour()minute()shiftshift# shift shift` a(x,y);">";shif()yy y yxx   a(7,);"Use arrow keys" a(7,);"to move cursor" a(7,);"around screen." a(7,);"Press code key" a(7,);"or type c/sign." a(7,);"'Enter' to end."xya u "" invers a((x) ,y);gri(y,x)  F norma a((x) ,y);gri(y,x)"  ()a %()*()4  x P->  x xx  -H  x xx  .R  y yy  5\  yweek yy  f x A Ashift gri(y,x)shif(@)gri(y,x)@   Mp x gri(y,)gri(y,)|(,)   z   Update Subroutinex  hour(gri(y,))minute(gri(y,)) 5(<)((<)<)> a(T,y); "##";; "."; "##";(w(y)w(y)_totmin  weektotmintotmin(w()<)w() 'totmin(totminweek)8a(totmin<)atotmin(a<)E a(P,); "##";a; a(P,); "##";ansasu  week gri(,) gri(,)shift sasaH gri(,) gri(,)shift susu  F a(U,); "##";sa a(U,); "##";su Edit Rota  xn$ loade a(7,);"You have no" a(7,);"rota to edit!"     P .e 8 %B a(,);rot;" " L V Print Rota ` xjj loade a(7,);"You have no" a(7,);"to print!"     PBt a(7,);"Is the printer" a(7,);"ready Y/N?"~u "" ~' "y" "Y"  P  x$ a(7,);"Printing....."[ (*,"*");"ROTAPLAN";(*,"*")"The name of this rota is:";rot (],"-")b" WEEK MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY CA/SIGN HH.MM"  week#  (); ();v ;" ";   gri(,);" ";  "##";w();"."; "##";w() z ();"Saturdays Worked:";sa;" Sundays Worked:";su;" Average";a;"hours";a;"minutes per week." (],"-")!"(c) Allbugs Software 1988"  P Save Rota   xu loade ( a(7,);"You have no" a(7,);"rota to save!"     P ( x2 a(7,);"Make sure there" a(7,);"is a disc in" a(7,);"drive 'A' then" a(7,);"press any key."<u "" <F "O",,rotP,week,shift,a,a,sa,su  week  ,w(),w(),gri(,),gri(,)  DZ  shift,shif(),hour() d  n P!x Clear Input Box Subroutine4   a(7,); ();  Set Up Screen  cll a(,);"WEEK MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY SATURDAY SUNDAY CA/SIGN H.M"  week#  x xM a(x,); a(,);(N,"-");" 0. 0"  a(',);"1)Load Rota." a(',);"2)Create Rota." a(',);"3)Edit Rota." a(',);"4)Print Rota." a(',);"5)Save Rota." a(H,);"Sats.on duty:" a(H,);"Suns.on duty:" a(H,);"Rota averages:" a(H,);"Hours 0 )Per" a(H,);"Minutes 0 )Week"0 ()"p"xy  5 a(x,y);(@);yy1   xx y  ()"q">xywZdweeksor 6xyw%dsor 7"x&ywdsor 7,x6ywdsor 76xGywdsor S@ a(G,);((sor));(,(sor));((sor))iJ a(,);((sor));  X ((sor));  ((sor))vT((sor))((sor))((sor))(week,(sor))((sor))^  K  Eh  () a(,);(,,);  r B|  () a(S,);(,,) G((sor))(,(sor))((sor))    E  () a(,);(,,)   H loade a(,);"File-name of this rota is:";rot Initialise9weekshiftloadexpyp_ gri(,),gri(,),w(),w(),hour(),minute(),shif()f    gri(,)"---------" gri(,)"-------" + ()"M" ()"E" ()"f" windo(,,Z, ); Draw Box Subroutine xp=top left x co-ord yp=top left y co-ord0& wd=number of characters across the screen.0 dn=number of characters down the screen;: sord=1 for single line box or sord=0 for double linevD a(x,y);((sor));  w ((sor));  ((sor))N  d a(x,y);((sor)) a(xw,y);((sor)) X a(x,yd);((sor));  w ((sor));  ((sor));bl All Program Subroutine!vcl()"E"()"H"; a(,)()"Y"( )( )} windo(ro,colum,heigh,wi)()"X"(colum )(ro )(wi)(heigh)/norma()"q"invers()"p"()"X"(colum )(ro )(wi)(heigh)/norma(