home *** CD-ROM | disk | FTP | other *** search
- ***************************************************************************
- *APP
- * - A fast-running little dBASE-II program for
- *Jotting down appointments. Completely menu-driven, it will find
- *past and future appointments, and send the lists to the printer, if
- *desired. Will modify a single entry, and delete a year of entries at
- *one fell swoop. No provision for deleting a single entry via the program.
- *
- *WARNING:PRACTICALLY NO ABSOLUTE DATE CHECKING IS DONE, EXCEPT IN THE
- *INITIAL SYSTEM DATE ENTRY, AND THAT DOESN`T CHECK FOR LEAP YEARS, SHORT
- *MONTHS, ETC.
- * Chuck Ross KC9FL
- * 437 Strieff Lane
- * Glenwood, IL 60425 (312)798-2092
- ***************************************************************************
- CLEA
- ERAS
- SET TALK OFF
- IF DATE()='00/00/00'
- STOR t TO not:DATE
- ENDI
- STOR 0 TO counter
- DO WHIL not:DATE
- STOR ' / / ' TO mdate
- @ 10,0 SAY "Enter today's date " GET mdate PICTURE '99/99/99'
- READ
- @ 13,0
- IF mdate=' / / ' .OR.$(mdate,1,2)< '01' .OR.$(mdate,1,2)> '12' ;
- .OR. $(mdate,4,2)<'01' .OR.$(mdate,4,2)> '31' .OR.$(mdate,7,1)< '8'
- @ 13,0 SAY "ERROR IN DATE ENTRY"
- STOR 1+counter TO counter
- IF counter>2
- @ 15,0 SAY 'Come on, turkey - put in a correct date!!'
- ENDI
- LOOP
- ELSE
- STOR f TO not:DATE
- ENDI
- SET DATE TO &mdate
- @ 15,0 SAY 'Thank you... '
- RELE not:DATE,mdate
- ENDD
- RELE counter
- ERAS
- SET bell ON
- ERAS
- USE app INDEX apdate
- STORE DATE() TO FDATE
- STOR 1 TO check
- DO WHIL check=1
- STOR $(FDATE,7,2)+$(FDATE,1,2)+$(FDATE,4,2) TO FINDER
- STOR '?' TO mselect
- @ 4,0 SAY ' APPOINTMENTS '
- ? '...........................................................................'
- ?
- ?
- ? ' ( 0 ) QUIT '
- ? ' ( 1 ) ADD APPOINTMENTS '
- ? ' ( 2 ) SHOW ALL APPOINTMENTS '
- ? ' ( 3 ) SHOW PAST APPOINTMENTS '
- ? ' ( 4 ) SHOW FUTURE APPOINTMENTS '
- ? ' ( 5 ) SHOW APPOINTMENTS FOR A CERTAIN MONTH '
- ? ' ( 6 ) MODIFY RECORDS '
- ? ' ( 7 ) DELETE A YEAR OF OLD APPOINTMENTS '
- @ 19,0 SAY ' ENTER CHOICE' GET mselect PICTURE '!'
- READ
- DO CASE
- CASE mselect='0'
- ERAS
- STOR 0 TO check
- QUIT
- CASE mselect='1'
- ERAS
- STOR 1 TO ADD
- DO WHIL ADD=1
- @ 1,0 SAY 'Add appointments hit [RETURN] to exit '
- @ 2,0
- CLEA GETS
- STOR " / / " TO mapdate
- STOR " " TO mappt
- @ 10,0 SAY 'Enter Appointment date' GET mapdate PICTURE '99/99/99'
- READ
- IF mapdate=" / / "
- STOR 0 TO ADD
- ERAS
- ELSE
- @ 12,0 SAY 'Enter Appointment' GET mappt
- READ
- APPE BLAN
- REPL appt WITH mappt,apdate WITH mapdate
- ERAS
- ENDI
- ENDD
- CASE mselect='2'
- ERAS
- @ 1,0 SAY 'Displaying all Appointments in database:'
- ?
- DISP OFF ALL apdate,appt
- ?
- ?
- ? "That's all of them..."
- ? 'hit any key when ready'
- SET cons OFF
- WAIT
- SET cons ON
- ERAS
- CASE mselect='3'
- ERAS
- STOR 'N' TO printer
- @ 1,0 SAY 'Past Appointments'
- @ 3,0 SAY 'Output to printer (Y/N) ? ' GET printer PICTURE '!'
- READ
- IF printer='Y'
- SET PRIN ON
- SET MARGIN TO 5
- ENDI
- ? 'Past Appointments: Today is ',DATE()
- ?
- ?
- DISP OFF FOR finder > $(apdate,7,2)+$(apdate,1,2)+$(apdate,4,2)
- ?
- ?
- ?
- SET PRIN OFF
- ?
- ? "That's all of them .."
- ? 'Hit any key when ready'
- SET cons OFF
- WAIT
- SET cons ON
- RELE printer
- ERAS
- CASE mselect='4'
- ERAS
- STOR 'N' TO printer
- @ 1,0 SAY 'Future Appointments'
- @ 3,0 SAY 'Output to printer (Y/N) ? ' GET printer PICTURE '!',
- READ
- IF printer='Y'
- SET PRIN ON
- SET MARGIN TO 10
- ENDI
- ? 'Future Appointments: Today is ',DATE()
- ?
- ?
- DISP OFF FOR finder < $(apdate,7,2)+$(apdate,1,2)+$(apdate,4,2)
- ?
- ?
- ?
- SET PRIN OFF
- ?
- ? "That's all of them .."
- ? 'Hit any key when ready'
- SET cons OFF
- WAIT
- SET cons ON
- RELE printer
- ERAS
- CASE mselect='5'
- ERAS
- STOR 1 TO look
- DO WHIL look=1
- STOR 'N' TO printer
- STOR ' / ' TO mtime
- @ 1,0 SAY 'To list appointments for a given month'
- @ 5,0 SAY 'Hit [RETURN] to EXIT'
- @ 3,5 SAY 'Enter month/year (EX:01/85) ' GET mtime PICTURE '99/99'
- READ
- @ 15,0
- DO CASE
- CASE mtime=' / '
- STOR 0 TO look
- RELE printer,time,mtime
- ERAS
- CASE mtime<>' / '
- STOR $(mtime,4,2)+$(mtime,1,2) TO finder
- FIND &finder
- IF #=0
- @ 15,0 SAY 'There are no entries for '+mtime
- LOOP
- ELSE
- STOR mtime TO time
- ERAS
- @ 1,0 SAY 'Output to printer (Y/N) ?' GET printer PICTURE '!'
- READ
- IF printer='Y'
- SET PRIN ON
- SET MARGIN TO 10
- ? 'These are the appointments for ',mtime
- ?
- LIST OFF apdate,appt ;
- FOR $(apdate,1,2)+$(apdate,7,2)=$(time,1,2)+$(time,4,2)
- ?
- SET PRIN OFF
- ELSE
- @ 2,0
- ? 'These are the appointments for',mtime
- ?
- DISP OFF apdate,appt ;
- FOR $(apdate,1,2)+$(apdate,7,2)=$(time,1,2)+$(time,4,2)
- ?
- ENDI
- ENDI
- ?
- ? 'Hit any key when finished'
- SET CONS OFF
- WAIT
- SET CONS ON
- ERAS
- ENDC
- ENDD
- CASE mselect='6'
- DO appmod
- CASE mselect='7'
- NOTE*apdel.cmd removes a year ' s entries FROM the FILES
- ERAS
- SET COLO OFF
- STOR t TO out
- DO WHIL out
- STOR 'N' TO GO
- @ 1,0 SAY "Delete a year's worth of entries from the database:"
- @ 10,0 SAY "WARNING: This procedure will remove a year's worth of entries from"
- @ 11,0 SAY " the database permanently! - DO you really want TO DO that ;
- (y/n) ? " GET GO PICTURE '!'
- READ
- DO CASE
- CASE GO<>'Y'
- STOR f TO out
- SET COLO ON
- ERAS
- CASE GO='Y'
- ERAS
- STOR f TO nogo
- DO WHIL .not. nogo
- STOR ' ' TO year
- @ 1,0 SAY 'OK- Enter year for deletion: 19' GET year PICTURE '99'
- READ
- @ 3,0 SAY 'Year to delete is 19'+year+':'
- @ 3,25 SAY 'Is that correct (Y/N) ?' GET nogo PICTURE '!'
- READ
- IF .not. nogo
- LOOP
- ELSE
- ERAS
- @ 5,0 SAY 'Deleting all records for year 19'+year+':'
- DELE ALL FOR $(apdate,7,2)=year
- PACK
- ENDI
- ENDD
- @ 5,0 SAY 'Deletion complete: returning to main menu: '
- STOR 1 TO counter
- DO WHIL counter<10
- STOR 1+counter TO counter
- ENDD
- STOR f TO out
- RELE year,GO,nogo,counter
- SET COLO ON
- ENDC
- ENDD
- ERAS
- CASE mselect='*'
- CANC
- OTHE
- @ 23,0 SAY 'Please select a number from "0" TO "7" '
- ENDC
- ENDD