Professional Documents
Culture Documents
Documentation
Documentation
Technical Documentation
Overview of System
This program has been produced to solve the various
problems which are experienced by the Green Cross
Medical Laboratory. The construction of this program has
started in the year 2009 when the owner of the club
realises that it is the best way to solve the problems of a
manual system.
This program has been made on Microsoft Visual
FoxPro 6.0. For this program to work properly many
hardware and software are needed.
List of Programs
FILE NAME
MAIN_MENU.PRG
system.
PURPOSE
MEMBER_MENU.PRG
ADD_MEMBER .PRG
member
the
member would have to be filled.
DELETE_MEMBER .PRG
AMMEND_MEMBER .PRG
member.
FILM_MENU.PRG
add,
records.
ADD_FILM.PRG
DELETE_FILM.PRG
AMMEND_FILM.PRG
TRANSACTIONS_MENU.PRG
transactions
This
is
the
transactions
where
the
main
RENTING_MENU.PRG
procedures
RETURNIN.PRG
performed
REPORTS_MENU.PRG
thedemand
REP_FILM_MENU.PRG:
REP_ID.PRG
REP_LANGUAGE.PRG
the
REP_MEDIA.PRG
REP_TYPE.PRG
REP_MEMBER_MENU.PRG
program.
REP_NAME.PRG
REP_SURNAME.PRG
MEMBER.DBF
PURPOSE
name,
surname, address, date of birth, telephone
number
about members.
FILMS.DBF
as its
language, media, film code, title of film and
its
producer.
TRANSACTIONS.DBF
transactions
occurring in
the club.
2.FILMS.DBF
No of records as at 12.04.05: 40
Date of last update:05.03.05
The figure below shows the structure of the file FILMS.DBF
Add Test
New test
registratio
n
Key in test
number
Validate
Key in test
details
Update test
file
Correct
errors
Error
messag
es
Add Patient
New
patient
registration
Key in
patient
number
Validate
Correct
errors
Error
messag
es
Key in
patient
details
Update
patient file
Edit Test
Input test
no
Test file
Detail
s on
test
Change
details
Edit Patient
Input
patient no
Patient file
Details
on
patient
Change
details
Delete Test
Input test
no
Validate
Test file
Correct
errors
Error
messa
ge
Show
details
on test
Delete
record
Delete Patient
Input
patient no
validate
Patient file
Correct
errors
Error
messa
ge
Show
details
on
patient
Delete
record
Report on Tests
Input
film_no
validate
Film file
On all films
Reports on Patients
Input
member_no
validate
Member
On all
members
file
CASE MCHOICE=2
DO DELETE_FILM
CASE MCHOICE=3
DO AMMEND_FILM
CASE MCHOICE=4
DO MAIN_MENU
ENDCASE
ADD_FILM.PRG
*PROGRAMS NAME:ADD_FILM.PRG
*PROGRAMS OBJECTIVES:TO ADD A FILM
*DATE CREATED:01.02.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
*INITIALISING VARIABLES
MDATE=DATE()
MFILM_NO=SPACE(5)
MTITLE=SPACE(30)
MPRODUCER=SPACE(20)
MLANGUAGE=SPACE(1)
MTYPE=SPACE(1)
MMEDIA=SPACE(2)
MSAVE=SPACE(1)
MREG=SPACE(1)
MRETRY=SPACE(1)
*FORMAT SCREEN
@2,2 TO 30,70
@3,26 SAY "JAHAN VIDEO CLUB"
@4,27 SAY "ADD A NEW FILM"
@6,50 SAY "DATE" GET MDATE
*USE FILM_NO VARIABLE TO DETECT IF FILM_NO ALREADY EXIST
@8,3 SAY "FILM_NO"
@8,20 GET MFILM_NO
READ
USE FILMS
LOCATE FOR MFILM_NO=FILM_NO
IF FOUND()
@10,3 SAY "FILM_NO ALREADY EXISTS"
@12,3 SAY "RETRY (Y/N)" GET MRETRY
READ
IF UPPER(MRETRY)="Y"
DO ADD_FILM
ELSE
DO FILM_MENU
ENDIF
ELSE
@10,3 SAY "TITLE"
@10,20 GET MTITLE
@12,3 SAY "PRODUCER"
@12,20 GET MPRODUCER
@14,3 SAY "LANGUAGE"
@14,20 GET MLANGUAGE
@16,3 SAY "(E-ENGLISH, F-FRENCH,H-HINDI,C-CREOLE,A-ARABIC)"
@18,3 SAY "TYPE"
@18,20 GET MTYPE
@20,3 SAY "(D-DRAMATIC, C-COMEDY,R-ROMANCE,A-ACTION,F-FICTION)"
@22,3 SAY "MEDIA OF FILM"
@22,20 GET MMEDIA
@24,3 SAY "CD-CD,CS-CASSETTE,DV-DVD"
DELETE_FILM.PRG
*PROGRAMS NAME:DELETE_FILM.PRG
*PROGRAMS OBJECTIVES:TO DELETE A FILM RECORD
*DATE CREATED:25.02.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*CLEAR SCREEN
Clear
*INITIALISING THE VARIABLES
MDATE=DATE()
MFILM_NO=space(5)
MDEL=SPACE(1)
MANO=SPACE(1)
*FORMAT SCREEN
@2,2 TO 25,60
@3,20 SAY "JAHAN VIDEO CLUB"
@4,16 SAY "DELETION OF A FILM RECORD"
@6,35 SAY "DATE" GET MDATE
@8,3 SAY "FILM_NO"
@10,3 SAY "TITLE"
@12,3 SAY "PRODUCER"
@14,3 SAY "LANGUAGE"
@16,3 SAY "MEDIA"
@8,20 GET MFILM_NO
READ
USE FILMS
LOCATE FOR MFILM_NO=FILM_NO
IF.NOT.FOUND()
@18,3 SAY "FILM_NO DOES NOT EXIST"
ELSE
@10,20 SAY TITLE
@12,20 SAY PRODUCER
@14,20 SAY LANGUAGE
@16,20 SAY MEDIA
@18,3 SAY "DELETE RECORD(Y/N)" GET MDEL
READ
IF UPPER(MDEL)="Y"
Delete
PACK
ENDIF
ENDIF
@20,3 SAY "ANOTHER DELETION(Y/N)" GET MANO
READ
IF UPPER(MANO) ="Y"
DO DELETE_FILM
ELSE
DO FILM_MENU
ENDIF
MEMBER_MENU.PRG
*PROGRAMS NAME:MEMBER_MENU.PRG
*PROGRAMS OBJECTIVES:TO CREATE A MEMBER MENU
*DATE CREATED:28.02.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
@2,2 TO 25,60
MCHOICE=0
@4,19 SAY "JAHAN VIDEO CLUB"
@5,17 SAY "MEMBER'S MAIN MENU"
@8,3 SAY "1.ADD A NEW MEMBER"
@10,3 SAY "2.DELETE A MEMBER RECORD"
@12,3 SAY "3.AMMEND A MEMBER RECORD"
@14,3 SAY "4.EXITING TO MAIN MENU"
@20,3 SAY "ENTER CHOICE" GET MCHOICE
READ
*BY PRESSING NUMBERS
DO CASE
CASE MCHOICE=1
DO ADD_MEMBER
CASE MCHOICE=2
DO DELETE_MEMBER
CASE MCHOICE=3
DO AMMEND_MEMBER
CASE MCHOICE=4
DO MAIN_MENU
ENDCASE
ADD_MEMEBER.PRG
*PROGRAMS NAME:ADD_MEMBER.PRG
*PROGRAMS OBJECTIVES:TO ADD A MEMBER RECORD
*DATE CREATED:01.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMATTING SCREEN
CLEAR
*INITIALISING VARIABLES
MDATE=DATE()
MMEMBERID=SPACE(5)
MSURNAME=SPACE(15)
MNAME=SPACE(15)
MADDRESS=SPACE(30)
MNUM1=SPACE(7)
MDATEOFBIRTH= CTOD(SPACE(11))
MSAVE=SPACE(1)
MREG=SPACE(1)
MRETRY=SPACE(1)
*FORMAT SCREEN
@2,2 TO 25,60
@3,22 SAY "JAHAN VIDEO CLUB"
@4,21 SAY "ADD A NEW MEMBER"
@5,2 TO 5,60
@6,35 SAY "DATE" GET MDATE
*USE THE MEMBER_ID VARIABLE
@8,3 SAY "MEMBER_ID"
@8,20 GET MMEMBERID
READ
USE MEMBER
LOCATE FOR MMEMBERID=MEMBER_ID
IF FOUND()
@10,3 SAY "MEMBER_ID ALREADY EXISTS"
@12,3 SAY "RETRY (Y/N)" GET MRETRY
READ
IF UPPER(MRETRY)="Y"
DO ADD_MEMBER
ELSE
DO MEMBER_MENU
ENDIF
ELSE
@10,3 SAY "NAME"
@10,20 GET MNAME
@12,3 SAY "SURNAME"
@12,20 GET MSURNAME
@14,3 SAY "ADDRESS"
@14,20 GET MADDRESS
@16,3 SAY "TELEPHONE"
@16,20 GET MNUM1
@18,3 SAY "DATE OF BIRTH"
@18,20 GET MDATEOFBIRTH
READ
@20,3 SAY "PEOPLE UNDER 18 ARE NOT ALLOWED TO BECOME MEMBER"
@22,3 SAY "ANOTHER REGISTRATION"GET MREG
ELSE
ENDIF
ENDIF
@18,3 SAY "ANOTHER DELETION(Y/N)" GET MANO
READ
IF UPPER(MANO) ="Y"
DO DELETE_MEMBER
ELSE
DO MEMBER_MENU
ENDIF
TRANSACTIONS_MENU
*PROGRAMS NAME:TRANSACTIONS_MENU.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH THE TRANSACTIONS IN THE CLUB
*DATE CREATED:07.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*formatting screen
CLEAR
@2,2 TO 25,60
@3,21 SAY "JAHAN VIDEO CLUB"
@5,18 SAY "TRANSACTIONS SCREEN"
@6,2 TO 6,60
*INITIALISING VARIABLES
MDATE=DATE()
MCHOICE=0
*FORMAT SCREEN
@8,3 SAY "1.RENTING FILMS"
@10,3 SAY "2.RETURNING FILMS"
@12,3 SAY "3.BACK TO MAIN_MENU"
@14,3 SAY "4.EXIT SYSTEM"
@16,3 SAY "ENTER CHOICE"GET MCHOICE
READ
*ENTER CHOICE
DO CASE
CASE MCHOICE=1
DO renting_new
CASE MCHOICE=2
DO RETURNING
CASE MCHOICE=3
DO MAIN_MENU
CASE MCHOICE=4
CANCEL
ENDCASE
RENTING_NEW.PRG
*PROGRAMS NAME:RENTING_NEW.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH RENTAL TRANSACTIONS IN THE CLUB
*DATE CREATED:10.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*CLEAR SCREEN
CLEAR
*INITIALISE VARIABLES
mdate=Date()
MMEMBER_ID=space(5)
mtitle=space(30)
mPRODUCER=space(30)
msurname=space(20)
mname=space(20)
msave=(space(1))
mreg=(space(1))
mrdate=Date()+14
MFILM_NO=space(5)
MRETRY=SPACE(1)
*FORMAT SCREEN
@ 2,2 TO 36,60
@4,18 say "RENTING OF A FILM"
@6,35 SAY "DATE" GET MDATE
@8,3 say "MEMBER_ID"
@8,20 get MMEMBER_ID
READ
*SEE IN MEMBER_ID EXIST
USE MEMBER.DBF
LOCATE FOR MMEMBER_ID=MEMBER_ID
IF.NOT.FOUND()
@14,3 SAY "MEMBER_ID DOES NOT EXIST"
@16,3 SAY "RETRY(Y/N)" GET MRETRY
read
IF UPPER(MRETRY)="Y"
DO RENTING_MENU
ELSE
DO MAIN_MENU
ENDIF
ELSE
@10,3 say "SURNAME"
@10,20 SAY SURNAME
@12,3 SAY "NAME"
@12,20 SAY NAME
@14,3 SAY "FILM_NUMBER" get mfilm_no
READ
USE FILMS.DBF
LOCATE FOR MFILM_NO=FILM_NO
IF.NOT.FOUND()
@16,3 SAY "FILM_NO DOESN'T EXIST"
@18,3 SAY "RETRY(Y/N)" GET MRETRY
IF UPPER(MRETRY)="Y"
DO RENTING_MENU
ELSE
DO MAIN_MENU
ENDIF
else
use films
locate for Mfilm_no=film_no
@16,3 SAY "TITLE"
@16,20 SAY TITLE
@18,3 say "DATE_TAKEN"
@18,20 GET mdate
@20,3 say "DATE DUE"
@20,20 get mrdate
@22,3 say "DO YOU WANT TO RENT?Y/N?"get msavE
read
IF upper(msave)="Y"
use transactions
APPEND BLANK
ENDIF
@24,3 say "ANOTHER RENTING(Y/N)" get mreg
read
IF upper(mreg)="Y"
do RENTING_MENU
else
clear
do transactions_menu
endif
RETURNING.PRG
*PROGRAMS NAME:RETURNIN.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH RENTAL TRANSACTIONS IN THE CLUB
*DATE CREATED:13.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMATTING SCREEN
CLEAR
@2,2 TO 25,60
@4,21 SAY "RETURNING FILMS"
*INITIALISING VARIABLES
MDATE=DATE()
MDATETAKEN=DATE()
MMEMBER_ID=SPACE(5)
MFILM_NO1=SPACE(5)
MDATEDUE=DATE()
MRETRY=SPACE(1)
MINPUT=SPACE(1)
MANO=SPACE(1)
*FORMAT SCREEN
@6,35 SAY "DATE" GET MDATE
@8,3 SAY "MEMBER_ID"
@8,20 GET MMEMBER_ID
READ
USE TRANSACTIONS
LOCATE FOR MMEMBER_ID=MEMBER_ID
LOCATE FOR MMEMBER_ID=MEMBER_ID
IF FOUND()
@10,3 SAY "FILM_NO"GET FILM_NO
@12,3 SAY "DATE TAKEN"GET DATE_TAKEN
@14,3 SAY "DATE_DUE" GET DATE_DUE
@16,3 SAY "RETURN FILM(Y/N)?" GET MINPUT
READ
ELSE
@10,3 SAY "MEMBER_ID DOES NOT EXIST"
@12,3 SAY "RETRY(Y/N)" GET MRETRY
READ
IF UPPER(MRETRY)= "Y"
DO RETURNIN
ELSE
DO MAIN_MENU
IF UPPER(MINPUT)="Y"
DELETE
PACK
ENDIF
@20,3 SAY "ANOTHER RETURNING PROCESS(Y/N)?" GET MANO
READ
IF UPPER(MANO)="Y"
DO RETURNIN
ELSE
DO MAIN_MENU
ENDIF
REPORTS_MENU.PRG
*PROGRAMS NAME:REPORTS_MENU.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH REPORTS AND QUERIES
*DATE CREATED:16.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
CLEAR
@2,2 TO 25,60
*INITIALISING VARIABLES
MDATE=DATE()
MCHOICE=0
*FORMAT SCREEN
@4,19 SAY "JAHAN VIDEO CLUB"
@6,15 SAY "REPORTS_MENU AND QUERIES"
@8,3 SAY "1.ABOUT FILMS"
@10,3 SAY "2.ABOUT MEMBERS"
@12,3 SAY "3.ON OVERDUE FILMS"
@14,3 SAY "4.BACK TO MAIN_MENU"
@16,3 SAY "ENTER CHOICE"
@16,20 GET MCHOICE
READ
DO CASE
CASE MCHOICE=1
DO REP_FILM_MENU
CASE MCHOICE=2
DO REP_MEMBER_MENU
CASE MCHOICE=3
USE TRANSACTIONS
REPO FORM REP_OVERDUE FOR DATE_DUE<MDATE PREVIEW
CASE MCHOICE=4
DO MAIN_MENU
ENDCASE
REP_FILM_MENU
*PROGRAMS NAME:REP_FILM_MENU.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH REPORTS CONCERNING FILMS
*DATE CREATED:18.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*CLEAR SCREEN
CLEAR
*FORMAT SCREEN
@2,2 TO 25,60
@4,19 SAY "JAHAN VIDEO CLUB"
@6,18 SAY "REPORTS ABOUT FILMS"
@8,3 SAY "1.ON ALL FILMS"
@10,3 SAY "2.ABOUT A SPECIFIC FILM_NO"
REP_LANGUAGE.PRG
*PROGRAMS NAME:REP_NO.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH FILMS WITH A SPECIFIC NO
*DATE CREATED:18.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
@2,2 TO 25,60
MLANGUAGE=SPACE(1)
@4,19 SAY "JAHAN VIDEO CLUB"
@6,18 SAY "REPORTS ABOUT FILMS"
@10,3 SAY "E-ENGLISH, F-FRENCH,H-HINDI,C-CREOLE,A-ARABIC"
@8,3 SAY "ENTER LANGUAGE CODE" GET MLANGUAGE
READ
USE FILMS
LOCATE FOR LANGUAGE=UPPER(MLANGUAGE)
MRETRY=SPACE(1)
IF.NOT.FOUND()
@12,3 SAY "LANGUAGE CODE DOESN'T EXIST"
@14,3 SAY "RETRY(Y/N)?" GET MRETRY
READ
IF UPPER(MRETRY)="Y"
DO REP_LANGUAGE
ELSE
DO MAIN_MENU
ENDIF
ELSE
REPO FORM REP_FILM FOR LANGUAGE=MLANGUAGE
ENDIF
REP_MEDIA.PRG
*PROGRAMS NAME:REP_MEDIA.PRG
*PROGRAMS OBJECTIVES:TO DEAL WITH FILMS WITH A SPECIFIC MEDIA TYPE
*DATE CREATED:19.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
@2,2 TO 25,60
MMEDIA=SPACE(2)
@4,19 SAY "JAHAN VIDEO CLUB"
@6,18 SAY "REPORTS ABOUT FILMS"
@10,3 SAY "CD-CD,CS-CASSETTE,DV-DVD"
@8,3 SAY "ENTER MEDIA CODE" GET MMEDIA
READ
USE FILMS
LOCATE FOR MEDIA=UPPER(MMEDIA)
MRETRY=SPACE(1)
IF.NOT.FOUND()
@12,3 SAY "MEDIA CODE DOESN'T EXIST"
@14,3 SAY "RETRY(Y/N)?" GET MRETRY
READ
IF UPPER(MRETRY)="Y"
DO REP_MEDIA
ELSE
DO MAIN_MENU
ENDIF
ELSE
REPO FORM REP_FILM FOR MEDIA=MMEDIA
ENDIF
REP_MEMBER_MENU
*PROGRAMS NAME:REP_MEMBER_MENU.PRG
*PROGRAMS OBJECTIVES:TO PRODUCE REPORTS ABOUT MEMBERS
*DATE CREATED:20.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
MCHOICE=0
@2,2 TO 25,60
@4,19 SAY "JAHAN VIDEO CLUB"
@6,16 SAY "REPORTS ABOUT MEMBERS"
@8,3 SAY "1.ON ALL MEMBERS"
@10,3 SAY "2.ABOUT SPECIFIC NAME"
@12,3 SAY "3.ABOUT SPECIFIC SURNAME"
@14,3 SAY "4.BACK TO REPORTS AND QUERIES MENU"
@16,3 SAY "5.BACK TO MAIN MENU"
@18,3 SAY "ENTER CHOICE" GET MCHOICE
READ
USE MEMBER
DO CASE
CASE MCHOICE=1
REPO FORM REP_MEMBER PREVIEW
CASE MCHOICE=2
DO REP_NAME
CASE MCHOICE=3
DO REP_SURNAME
CASE MCHOICE=5
DO MAIN_MENU
CASE MCHOICE=4
DO REPORTS_MENU
ENDCASE
REP_SURNAME.PRG
*PROGRAMS NAME:REP_SURNAME.PRG
*PROGRAMS OBJECTIVES:REPORTS ABOUT MEMBERS WITH A SPECIFIC SURNAME
*DATE CREATED:20.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
@2,2 TO 25,60
@4,19 SAY "JAHAN VIDEO CLUB"
@6,16 SAY "REPORTS ABOUT MEMBERS"
@8,3 SAY "ENTER MEMBER SURNAME"
*INITIALISING VARIABLES
MSURNAME=SPACE(20)
@10,3 GET MSURNAME
READ
USE MEMBER
LOCATE FOR SURNAME=UPPER(MSURNAME)
MRETRY=SPACE(1)
IF.NOT.FOUND()
@12,3 SAY "SURNAME DOESN'T EXIST"
@14,3 SAY "RETRY(Y/N)?" GET MRETRY
READ
IF UPPER(MRETRY)="Y"
DO REP_SURNAME
ELSE
DO MAIN_MENU
ENDIF
ELSE
USE MEMBER
REPO FORM REP_MEMBER FOR SURNAME=UPPER(MSURNAME) PREVIEW
ENDIF
REP_NAME.PRG
*PROGRAMS NAME:REP_NAME.PRG
*PROGRAMS OBJECTIVES:REPORTS ABOUT MEMBERS WITH A SPECIFIC NAME
*DATE CREATED:23.03.05
*PROGRAMMERS NAME:JAHAN AARA ISMAIL
*FORMAT SCREEN
CLEAR
@2,2 TO 25,60
@4,19 SAY "JAHAN VIDEO CLUB"
@6,16 SAY "REPORTS ABOUT MEMBERS"
@8,3 SAY "ENTER MEMBER NAME"
MNAME=SPACE(20)
@10,3 GET MNAME
READ
USE MEMBER
LOCATE FOR NAME=UPPER(MNAME)
MRETRY=SPACE(1)
IF.NOT.FOUND()
@12,3 SAY "NAME DOESN'T EXIST"
@14,3 SAY "RETRY(Y/N)?" GET MRETRY
READ
IF UPPER(MRETRY)="Y"
DO REP_NAME
ELSE
DO MAIN_MENU
ENDIF
ELSE
USE MEMBER
REPO FORM REP_MEMBER FOR NAME=UPPER(MNAME) PREVIEW
ENDIF