Posted by: programmervb on: July 2, 2008
‘****************************************************************************
‘Program title: Birthdays Recorder
‘****************************************************************************
SCREEN 0
TYPE Birthday
firstname AS STRING * 15
lastname AS STRING * 30
bday AS STRING * 10
END TYPE
DIM birday AS Birthday
start:
CLS
a$ = “”
c = 0
WHILE a$ <> CHR$(13)
COLOR 7, 0
LOCATE 5, 10
PRINT “***********************************************************”
LOCATE 6, 30
PRINT “The Birthdays Recorder”
LOCATE 7, 10
PRINT “***********************************************************”
IF c = 0 THEN
LOCATE 11, 30
COLOR 15, 7
PRINT “N”;
COLOR 0, 7
PRINT “EW ENTRY”
LOCATE 12, 30
COLOR 15, 0
PRINT “V”;
COLOR 7, 0
PRINT “IEW CURRENT ENTRIES”
LOCATE 13, 30
COLOR 15, 0
PRINT “E”;
COLOR 7, 0
PRINT “DIT ENTRIES”
LOCATE 14, 30
COLOR 15
PRINT “Q”;
COLOR 7, 0
PRINT “UIT PROGRAM”
END IF
IF c = 1 THEN
LOCATE 11, 30
COLOR 15, 0
PRINT “N”;
COLOR 7, 0
PRINT “EW ENTRY”
LOCATE 12, 30
COLOR 15, 7
PRINT “V”;
COLOR 0, 7
PRINT “IEW CURRENT ENTRIES”
LOCATE 13, 30
COLOR 15, 0
PRINT “E”;
COLOR 7, 0
PRINT “DIT ENTRIES”
LOCATE 14, 30
COLOR 15, 0
PRINT “Q”;
COLOR 7, 0
PRINT “UIT PROGRAM”
END IF
IF c = 2 THEN
LOCATE 11, 30
COLOR 15, 0
PRINT “N”;
COLOR 7, 0
PRINT “EW ENTRY”
LOCATE 12, 30
COLOR 15, 0
PRINT “V”;
COLOR 7, 0
PRINT “IEW CURRENT ENTRIES”
LOCATE 13, 30
COLOR 15, 7
PRINT “E”;
COLOR 0, 7
PRINT “DIT ENTRIES”
LOCATE 14, 30
COLOR 15, 0
PRINT “Q”;
COLOR 7, 0
PRINT “UIT PROGRAM”
END IF
IF c = 3 THEN
LOCATE 11, 30
COLOR 15, 0
PRINT “N”;
COLOR 7, 0
PRINT “EW ENTRY”
LOCATE 12, 30
COLOR 15, 0
PRINT “V”;
COLOR 7, 0
PRINT “IEW CURRENT ENTRIES”
LOCATE 13, 30
COLOR 15, 0
PRINT “E”;
COLOR 7, 0
PRINT “DIT ENTRIES”
LOCATE 14, 30
COLOR 15, 7
PRINT “Q”;
COLOR 0, 7
PRINT “UIT PROGRAM”
END IF
a$ = INKEY$
a$ = UCASE$(a$)
IF a$ = CHR$(32) THEN
c = c + 1
IF c = 4 THEN
c = 0
END IF
END IF
IF a$ = “N” THEN ‘if user chooses the use the keys for selection
GOTO newentry
END IF
IF a$ = “V” THEN
GOTO viewentry
END IF
IF a$ = “E” THEN
GOTO editentry
END IF
IF a$ = “Q” THEN
GOTO quitprog
END IF
COLOR 7, 0
LOCATE 20, 10
PRINT “***********************************************************”
LOCATE 21, 10
PRINT “[Spacebar] = move along choices [Enter]=activate choice”
LOCATE 22, 10
PRINT “or press highlighted key to activate choice.”
LOCATE 23, 10
PRINT “***********************************************************”
WEND
IF c = 0 THEN
GOTO newentry
END IF
IF c = 1 THEN
GOTO viewentry
END IF
IF c = 2 THEN
GOTO editentry
END IF
IF c = 3 THEN
GOTO quitprog
END IF
newentry:
CLS
PRINT “You are about to enter a new record.”
LINE INPUT “First name (‘Q’ to main menu): “; firstname$
firstname$ = UCASE$(firstname$)
IF firstname$ = “Q” THEN
PRINT “Hit Enter to return to main menu.”
LINE INPUT a$
GOTO start
ELSE
birday.firstname = firstname$
LINE INPUT “Last name: “; birday.lastname
LINE INPUT “Enter birthday (dd-mm-yyyy)”; birday.bday
END IF
OPEN “birthday.dat” FOR RANDOM AS #1 LEN = LEN(birday)
rec% = LOF(1) / LEN(birday)
PRINT rec%
IF rec% > 0 THEN
‘GET #1, rec%, birday
PUT #1, rec% + 1, birday
ELSE
PUT #1, 1, birday
END IF
‘GET #1, , bday
CLOSE #1
PRINT “Data recorded”
PRINT “Hit any key to return to menu”
b$ = INKEY$
GOTO start
viewentry:
CLS
PRINT “Birthday List .Date in (dd/mm/yyyy) format.”
OPEN “birthday.dat” FOR RANDOM AS #1 LEN = LEN(birday)
rec% = LOF(1) / LEN(birday)’ To find the number of records
PRINT “# of records found:”; rec%
FOR a = 1 TO rec%
GET #1, a, birday
PRINT a, ” “; birday.firstname; ” “; birday.lastname; ” “; birday.bday
NEXT a
CLOSE #1
PRINT “Hit Enter to return to menu.”
LINE INPUT b$
GOTO start
editentry:
CLS
PRINT “Birthday List .Date in (dd/mm/yyyy) format.”
OPEN “birthday.dat” FOR RANDOM AS #1 LEN = LEN(birday)
rec% = LOF(1) / LEN(birday)’ To find the number of records
PRINT “# of records found:”; rec%
FOR a = 1 TO rec%
GET #1, a, birday
PRINT a, ” “; birday.firstname; ” “; birday.lastname; ” “; birday.bday
NEXT a
CLOSE #1
INPUT “Enter record # to amend: “; r%
LINE INPUT “First name: “; birday.firstname
LINE INPUT “Last name: “; birday.lastname
LINE INPUT “Enter birthday (dd-mm-yyyy)”; birday.bday
OPEN “birthday.dat” FOR RANDOM AS #1 LEN = LEN(birday)
PUT #1, r%, birday
CLOSE #1
PRINT “Records updated.”
PRINT “Hit Enter to return to menu.”
LINE INPUT b$
GOTO start
GOTO start:
quitprog:
END