15 'Sample Program to format output for Diary.do 20 CLEAR 500:MAXFILES=2:CLS 25 'Open Diary.do as input file 30 OPEN "DIARY" FOR INPUT AS 1 35 'Set LCD screen as default output 40 A$="lcd:" 45 ' Request type of output device 50 PRINT "Output to Screen";:GOSUB500 60 IF I THEN 140 70 PRINT "Output to Printer";:GOSUB500 80 IF I THEN A$="lpt:":GOTO 140 90 PRINT "Output to a Ram file";:GOSUB500 100 IFNOTI THEN 140 110 LINEINPUT "Enter Ram filename: ";B$ 120 A$="ram:"+B$ 125 'Append Diary.do to specified Ramfile 130 OPEN A$ FOR APPEND AS 2:GOTO 150 140 OPEN A$ FOR OUTPUT AS 2 150 IF EOF(1) THEN 310 155 'Read date 160 A$=INPUT$(9,1) 165 'Read data type 170 B$=INPUT$(2,1) 175 'Get time of appointments 180 IF B$<>"A " THEN 250 190 G$=INPUT$(1,1) 200 IF G$=" " THEN 220 210 H$=H$+G$:GOTO 190 215 'Search for regular time format 220 IF INSTR(H$,":") >0 THEN 240 225 'Reformat fractions to regular time 230 IF RIGHT$(H$,1)="¬" THEN H$=LEFT$(H$,LEN(H$)-1)+":15" ELSE IF RIGHT$(H$,1)="®" THEN H$=LEFT$(H$,LEN(H$)-1)+":30" ELSE IF RIGHT$(H$,1)="­" THEN H$=LEFT$(H$,LEN(H$)-1)+":45" ELSE H$=H$+":00" 240 IF LEN(H$)<5 THEN H$=" "+H$ 250 LINEINPUT#1,F$ 255 'Print Diary heading for a given day 260 IF A$<>D$ THEN PRINT#2," ":PRINT#2,"Diary for ";A$:J=0 265 'Print heading for appointments 270 IF B$="A " AND A$<>E$ THEN PRINT#2," ":PRINT#2,"Appointments:":PRINT#2," ":E$=A$ 275 'Print heading for memos 280 IF B$="M " AND A$<>G$ THEN PRINT#2," ":PRINT#2,"Memos:":PRINT#2," ":G$=A$ 285 'Print Diary entries 290 IF B$="A " THEN PRINT#2," ";H$;" ";F$:H$="" ELSE IF B$="M " THEN PRINT#2," ";F$ ELSE IF J=0 THEN PRINT#2," ":PRINT#2," ";B$;" ";F$:J=1 ELSE PRINT#2," ";B$;" ";F$ 300 D$=A$:GOTO 150 305 'Close files 310 CLOSE:END 315 'Request user's reponse 500 C$="n":INPUT " (Yes/No)";C$:I=((ASC(LEFT$(C$,1))AND223)=89):RETURN