' ToDos.ibas
{CREATORID "ReTD"}
{VERSION "1.2"}
{PARSER ON}

BEGIN
F$=CHR$(255)+CHR$(255)
OPEN "ToDoDB" FOR INPUT AS #1
N=LOF(#1)
FOR I=1 TO N
   A$=""
   INPUT #1, A$
   IF A$<>"" THEN
      L=LEN(A$)-3
      B$=RIGHT$(A$,L)
      PRINT B$
      D$=LEFT$(A$,2)
      IF D$=F$ THEN
         B$="no deadline - "
      ELSE
         B$=""
         D$=CHAR$(A$,1)
         J=256*ASC(D$)
         D$=CHAR$(A$,2)
         J=J+ASC(D$)
         D$=BIN$(J)
         Y=0 : M=0 : D=0
         FOR J=1 TO 6
            K$=CHAR$(D$,J) : K=VAL(K$)
            Y=Y+(2*K)^(7-J)
         NEXT
         K$=CHAR$(D$,7)
         Y=Y+VAL(K$)+1904
         FOR J=8 TO 10
            K$=CHAR$(D$,J) : K=VAL(K$)
            M=M+(2*K)^(11-J)       
         NEXT
         K$=CHAR$(D$,11)
         M=M+VAL(K$)  
         FOR J=12 TO 15
            K$=CHAR$(D$,J) : K=VAL(K$)
            D=D+(2*K)^(16-J)       
         NEXT
         K$=CHAR$(D$,16)
         D=D+VAL(K$)  
         IF D<10 LET B$="0"
         B$=B$+STR$(D,0)+"/"
         IF M<10 LET B$=B$+"0"
         B$=B$+STR$(M,0)+"/"
         IF Y<10 LET B$=B$+"0"
         B$=B$+STR$(Y,0)+" - "
      ENDIF
      B$=B$+"priority "
      D$=CHAR$(A$,3)
      J=ASC(D$)
      IF J>128 THEN
         J=J-128
         B$=B$+STR$(J,0)+CHR$(10)+SPACE$(6)+"done"
      ELSE
          B$=B$+STR$(J,0)+CHR$(10)+SPACE$(6)+"to do"
      ENDIF
      B$=SPACE$(6)+B$
      PRINT B$
   ENDIF
NEXT
CLOSE #1
WAIT
END