You are on page 1of 33

A

Project on

Personal Diary System


Submitted by

Dalsania Pankaj Prabhudasbhai


Registration No: 333548

Date of Submission : 06/08/2007

Under the Guidance of

Mr. Nilesh Hirapra


Submitted in partial fulfillment of the requirements for

qualifying DOEACC O Level

Pramukh Swami Institute of Information


Technology
Shri Akshar Purushottam Chatralaya,Atladra,Vadodra-390012 Ph:33411

INDEX

1
Sr.No. Topic Name Page No.
1. ACKNOLEDGEMENT 3
2. OVERVIEW OF THE INSTITUTE 4
3. OVERVIEW OF THE SYSTEM 5
4. OVERVIEW OF THE USER 8
5. DATA FLOW DIAGRAM (DFD) 9
6. DATA DICTIONRY 10
7. INPUT SCREENS 11
8. OUTPUT SCREENS 15
9. SOURCE CODE 18
10. BIBLIOGRAPHY 33

2
ACKNOLEDGEMENT

The PIIT is a part of BAPS, it is run by The


Gyanyagna Vidhyapith charitable trust. They guide me
to prepare this system and they provide me total
requirements of the “Personal Diary System”. Faculties,
namely Nilesh Hirpara, Hemant Vaghela and Mahesh
Mistry have guided me for preparing this system. My
friends also helped me for preparing this system. I
heartily thank PIIT-which encourage me for making this
system and for providing Extra Practice time in labs.

3
OVERVIEW OF THE
INSTITUTE
The Pramukhswami Institute of Information Technology
(PIIT) is a one of the Best computer Institute in Baroda
city. This Institute conducts the DOEACC (Department Of
Electronics and Accredited Computer Courses) courses.
DOEACC is a joint scheme of the AICTE (All Indian
Council for Technical Education) and MIT (Ministry of
Information Technology). Institute conducts DOEACC
‘O’,’A’ & ‘B’ level courses. There are more than 15 highly
qualified and well talented faculties in PIIT. PIIT is one of
the largest private computer institute and there are more
than 300 students studying in it. This Institute provides
such a education that may not anywhere. And this is a
Institute which gives a golden chance to twelth students
and graduate students why because there is no any
universities which gives a chance to the twelth students to
join directly MCA (Master of Computer Application) and
in addition it gives an opportunity to any stream’s student
to join MCA after twelth or after any graduation. This
Institute is organized by Shree Gyanyagna Vidhyapith and
it is inspired by HDH Pramukhswami Maharaj.

4
OVERVIEW OF THE SYSTEM

First of all I want to describe the problems related in maintaining


personal diary manually and then I will give the overview of my
computerized ‘Personal Diary System’.

 Manual System :

Most of the people maintain their personal details manually in


book or diaries to keep personal details of their friends, relatives,
customers and business personals as a part of their daily routine.

At present I also maintain my personal details/dairy manually. In


maintaining the dairy this way I face following problems.

 When I want to add details of new friend, I have to write his/her


details at the last position in the diary or at last page of the diary.
This means that each and every new entry written randomly
instead of in some particular order.
 When any detail of a particular person is changed then I have to
cancelled that detail and write the new detail at the same place if
enough space is available otherwise I have to write the whole
detail in new page.
 When details of a particular person is no longer needed for me, at
that time I have to cut that particular page containing details.

5
 When I want to search the details of a particular friend, it is very
time consuming because the diary is growing day by day. This
means I have to search my details page by page.
 And most dangerous matter is that, though I keep my diary at
secret place as much as possible, there is a chance that someone
might get my diary. This means there is no 100 percent security
of my diary.
 If any person gets my diary accidentally, he/she can read the
details from the diary because the details written in human
understandable language.

 Computerized System :

My system is a computerized ‘Personal Diary System’ which is


maintained manually in today’s life. Because of the problems
associated with manual personal diary stated previously, I will include
the following features in my system.

 The most important feature in my system is that no one can open


this diary(system) because of the password system in which the
system password is only known to the owner of the system.
 A user can add new record(entry) of a new friend easily.
 If the address of a particular person is changed, the user can
modify that address easily. This means modification is very easy
in this system.
 Like modification, deletion of any particular record that is no
longer needed can also be deleted easily.
 If the user wants to search any particular record, he/she can get
that particular record by giving only the name of that person. This
means searching is also available with incredible speed.
 In addition, there are various tools are also available to navigate
in diary, such as go to first record, go to last record, go to next
record, go to previous record etc.

6
 And very much important feature is that if one gets an access to
the database file containing all the details of the system one can
not read any of these details, because while storing details of the
records the details are not written in human language but in
encrypted form which is an machine coded language and no one
can understand it.

7
OVERVIEW OF THE USER

The user of the ‘Personal Diary System’ is any person who


wants to maintain his/her personal diary in computerized machine
which is maintained manually by him/her. The user can use this system
in his/her daily life when he/she wants to write any personal details in
diary. The system will help the user in easy data entry, easy
modification, easy deletion and fast searching of the records. So, by
using ‘Personal Diary System’ the user can maintain his/her details
very easily.

8
Data Flow Diagram(DFD)

9
DATA DICTIONARY

Personal.dbf
Field Field Name Type Width Dec
1 NO Numeric 5
2 NAME Character 40
3 PLACE Memo 10
4 CITY Character 20
5 PIN Numeric 6
6 PHONE Numeric 8
7 MOBILE Numeric 12
8 DOB Date 8
9 SEX Logical 1
10 EDU Character 20
11 OCC Character 30
12 HEIGHT Numeric 5 2
13 WEIGHT Numeric 6 2
14 HOBBY Character 50
15 MARITAL Logical 1
16 EMAIL Character 45
17 BG Character 3

** Total ** 271

10
INPUT DESIGN

(1) This is the first ‘Password Entry’ screen of the system.

This is the password screen where user can access the diary after
entering the password. If unauthorized user try for the password he/she
can not access without password. So it is very difficult to gain password.
It is helpful to user that no one can see his diary without password.

11
(2) This is the data entry screen of the system.

12
Add Button
The Add Button is located at 6th position in the button box.
When the user wants to add a new record in his/her diary he/she uses
the Add button. The user can add record at any position in the diary.

Edit Button
The Edit Button is located at 7th position in the button box.
When the user wants to modify some existing details of any record
he/she can use this button. When the user presses this button, the Save
button will be automatically converted into Restore button.
When require modification get over, the Restore button should be
pressed to save the modified details in the diary.

Delete Button
The Delete Button is located at 8th position in the button box.
When the user wants to remove an existing record from the diary he/she
can use this button.

Save Button
The Save button is located at 9th position in the button box.
When the user presses the Add button he/she can enter the details in the
data entry form. When all the details filled up the user should press the
Save button to store all the details in the diary. After saving the details
the system will display the message “RECORD IS SAVED”.

13
Cancel Button
The Cancel Button is located at 10th position in the button box.
When the user wants to cancel the operation being performed by the
system action such as Add, Edit he/she can use this button to cancel the
operation and back to the previously displayed screen.

Exit Button
The Exit Button is located at the bottom of the button box. When
the user completes his/her work on the system and wants to come out
from the system he/she can use the Exit button.

14
OUTPUT DESIGN
(1) This is the ‘Find Record’ output screen of the system.

Find Button
Find Button is located after the last button in the button
box. When user want to saw record of any particular person whose
name only remember to user but he want to more details about him so
he has to click on Find Button. When he click on find button the above
screen appears where he ask for a name and where user have to input
the name of the friend or any particular person and user click on
OK Button then it display the record of the person which user wants.
Find Button is very useful feature in the system because we haven’t
search record one after another which is cumbersome method.

15
(2) This is the main output screen of

16
Top Button
Top Button located on upper right corner of the data entry
screen . If user wants to see the first or top record then click on top
button. It can display whole record which is written by the user.

Next Button
Next Button is located at 2nd number position in the button
box. When user wants to see record next then it can saw record one
after another while the record is available. When record is not available
the message comes “END OF FILE”.

PREVIOUS BUTTON
Previous Button is located at 3rd number position in the
button box. When user wants to see Previous Record at that time he/she
have to click on previous Button. When record is reach at first or top
then it displays the message “TOP OF FILE”.

LAST BUTTON
Last Button is located at 4th number position in the button
box. When user wants to see Last Record then click on Last Button.

17
SOURCE CODE

 PASSWORD.PRG

set readborder on
define wind pass at 0,0 to 51,101 in desktop
activate wind pass
@ 0,0 say "main.bmp" bitmap stretch
t=0
p=1
r=123
g=123
b=434
set cursor off
do=.t.
do while do=.t.
do while p=1
t=inkey(0.1)
if t!=0
p=0
endif
@ 2,20 say "Personal Diary" colo rgb(r,g,b,34,54342,434) style"tb" font"garamond",60
r=r+12
g=g+53
b=b+55
enddo
set cursor on
define wind pp at 0,0 to 4,50 in wind pass grow
move wind pp center
activate wind pp
@ 1,4 say "Password : "
pass=""
@ 1,15 get pass colo ,rgb(255,255,255,255,255,255) font"wingdings" size 1,20
read
if alltrim(upper(pass))=="MITUL"
do=.f.
wait wind"Password is correct" nowait
release wind pp
else
wait wind"Password is incorrect" nowait
p=1
release wind pp

18
endif
enddo
do main

 MAIN.PRG
SET readborder ON
SET DATE DMY
SET CENTURY ON
USE personal
DEFINE WINDOW try AT 0, 0 SIZE 35.846,113.667 IN WIND pass;
TITLE "Personal diary" FONT "MS Sans Serif", 8 STYLE
"B" ;
FLOAT CLOSE MINIMIZE COLOR RGB(,,,192,192,192)
MOVE WINDOW try CENTER
ACTIVATE WINDOW try
AT=""
isediting=.F.
isadding=.F.
DECLARE rec(17)
GO TOP
DO vrefresh
SCATTER MEMVAR MEMO
IF !EOF()
SCATTER MEMVAR MEMO
DO init
ENDIF
@ 1.000,44.167 SAY "Personal Diary" FONT "Garamond", 18 STYLE
"BT"
@ 4.923,21.000 GET rec(1) SIZE 1.000,4.500 DEFAULT " " FONT
"MS Sans Serif", 12 ;
PICTURE "@K 99,999" WHEN isadding
COLOR ,RGB(0,0,0,255,255,255)
@ 7.077,21.000 GET rec(2) SIZE 1.000,35.000 DEFAULT " " FONT
"MS Sans Serif", 12 ;
PICTURE "@!" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 9.231,21.000 EDIT rec(3) SIZE 4.000,34.375,0.000 PICTURE "@!
K" DEFAULT " " ;

19
FONT "MS Sans Serif", 12 SCROLL WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 15.923,21.000 GET rec(4) SIZE 1.000,17.500 DEFAULT " " FONT
"MS Sans Serif", 12 ;
PICTURE "@!K" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 15.923,64.500 GET rec(5) SIZE 1.000,15.250 DEFAULT " " FONT
"MS Sans Serif", 12 ;
PICTURE "@!K 999999" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 18.077,21.000 GET rec(6) SIZE 1.000,17.500 DEFAULT " " ;
FONT "MS Sans Serif", 12 PICTURE "@K 99999999" WHEN
isediting COLOR ,RGB(0,0,0,255,255,255)
@ 18.154,64.500 GET rec(7) SIZE 1.000,19.500 DEFAULT " " FONT
"MS Sans Serif", 12 ;
PICTURE "@K 999999999999" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 20.231,21.000 GET rec(8) SIZE 1.000,14.875 DEFAULT { / / } ;
FONT "MS Sans Serif", 12 PICTURE "@K" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 20.462,64.333 GET rec(9) PICTURE "@*hr Male;Female" SIZE
1.308,5.167 DEFAULT 0 ;
FONT "MS Sans Serif", 8 STYLE "BT" WHEN isediting COLOR
,,,,,,,,RGB(0,0,0,255,255,255),RGB(0,0,0,255,255,255)
@ 22.462,21.000 GET rec(10) SIZE 1.000,48.500 DEFAULT " " ;
FONT "MS Sans Serif", 12 PICTURE "@K" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 24.769,21.000 GET rec(11) SIZE 1.000,48.250 DEFAULT " "
FONT "MS Sans Serif", 12 ;
PICTURE "@K XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
WHEN isediting COLOR ,RGB(0,0,0,255,255,255)
@ 27.000,21.000 GET rec(12) SIZE 1.000,5.875 DEFAULT " " FONT
"MS Sans Serif", 12 ;
PICTURE "@K 99.99" WHEN isediting
COLOR ,RGB(0,0,0,255,255,255)
@ 27.154,57.167 GET rec(13) SIZE 1.000,6 DEFAULT " " ;
FONT "MS Sans Serif", 12 PICTURE "@K 999.99" WHEN
isediting ;
COLOR ,RGB(0,0,0,255,255,255)
@ 29.154,21.000 GET rec(14) SIZE 1.000,25 DEFAULT " " ;

20
FONT "MS Sans Serif", 12 PICTURE "@K" WHEN isediting ;
COLOR ,RGB(0,0,0,255,255,255)
@ 31.231,21.000 GET rec(16) SIZE 1.000,48.500 DEFAULT " " ;
FONT "MS Sans Serif", 12 PICTURE "@K" WHEN isediting ;
COLOR ,RGB(0,0,0,255,255,255)
@ 33.308,20.667 GET rec(17) PICTURE "@^ A+;A-;B+;B-;O+;O-"
WHEN isediting;
SIZE 1.500,6.125 DEFAULT "A+" FONT "MS Sans Serif", 10
STYLE "B"
@ 33.308,56.833 GET rec(15) PICTURE "@*r Married;Unmarried"
SIZE 1.308,5.167 ;
DEFAULT 0 FONT "MS Sans Serif", 8 STYLE "BT" WHEN
isediting ;
COLOR ,,,,,,,,RGB(0,0,0,255,255,255),RGB(0,0,0,255,255,255)

@ 4.692,13.500 SAY "No. :" FONT "MS Sans Serif", 12 STYLE "BT"
@ 7.000,10.500 SAY "Name :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 9.231,10.833 SAY "Place :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 16.000,13.333 SAY "City :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 15.923,51.333 SAY "Pincode :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 18.154,53.333 SAY "Mobile :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 18.077,9.833 SAY "Phone :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 20.308,57.000 SAY "Sex :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 20.231,1.500 SAY "Date of birth :" FONT "MS Sans Serif", 12
STYLE "BT"
@ 20.462,41.500 SAY "(dd/mm/yyyy)" FONT "MS Sans Serif", 6
STYLE "BT"
@ 22.462,4.833 SAY "Education :" FONT "MS Sans Serif", 12
STYLE "BT"
@ 24.769,3.167 SAY "Occupation :" FONT "MS Sans Serif", 12
STYLE "BT"
@ 27.077,9.500 SAY "Height :" FONT "MS Sans Serif", 12 STYLE
"BT"

21
@ 27.154,45 SAY "Weight :" FONT "MS Sans Serif", 12 STYLE "BT"
@ 29.154,9.833 SAY "Hobby :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 31.308,10.000 SAY "E-mail :" FONT "MS Sans Serif", 12 STYLE
"BT"
@ 33.305,36.333 SAY "Marital status :" FONT "MS Sans Serif", 12
STYLE "BT"
@ 33.462,2.167 SAY "Blood group :" FONT "MS Sans Serif", 12
STYLE "BT"
@ 4.615,93.167 TO 35.538,113.167 PEN 1, 8
@ 4.231,0.000 TO 4.231,113.667 PEN 1, 8 STYLE "1"
@ 5.385,96.000 GET push1 PICTURE "@*VN \<Top" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush1()
@ 8.077,96.000 GET push2 PICTURE "@*VN \<Next" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush2()
@ 10.692,96.000 GET push3 PICTURE "@*VN \<Prev" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush3()
@ 13.308,96.000 GET push4 PICTURE "@*VN \<Last" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush4()
@ 15.923,96.000 GET push5 PICTURE "@*VN \<Find" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush5()
@ 18.615,96.000 GET push6 PICTURE "@*VN \<Add" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush6()
@ 21.308,96.000 GET push7 PICTURE "@*VN \<Edit" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush7()

22
@ 24.077,96.000 GET push8 PICTURE "@*VN \<Delete" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush8()
@ 26.846,96.000 GET push9 PICTURE "@*VN \<Save" SIZE
2.385,14.833,0.308 ;
DEFAULT "" FONT "MS Sans Serif", 8 STYLE "B" DISABLE
VALID ppush9()
@ 29.615,96.000 GET push10 PICTURE "@*VN \<Cancel" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" DISABLE
VALID ppush10()
@ 32.308,96.000 GET push11 PICTURE "@*VN E\<xit" SIZE
2.385,14.833,0.308 ;
DEFAULT 1 FONT "MS Sans Serif", 8 STYLE "B" VALID
ppush11()
@ 5.231,95.667 TO 34.846,111.167 PEN 1, 8
@ 2.769,44.500 TO 2.769,69.167 PEN 1, 8 STYLE "1"
READ CYCLE
RELEASE WIND try

PROC ppush1 && top


GO TOP
SCATTER MEMVAR MEMO
DO init
SHOW GETS

PROC ppush2 && next


IF NOT EOF()
SKIP
ENDIF
IF EOF()
WAIT WIND "End of file" NOWAIT
ELSE
SCATTER MEMVAR MEMO
DO init
ENDIF
SHOW GETS

23
PROC ppush3 && prev
IF BOF()
WAIT WIND "Top of file" NOWAIT
ELSE
SKIP -1
SCATTER MEMVAR MEMO
DO init
ENDIF
SHOW GETS

PROC ppush4 && last


GO BOTTOM
SCATTER MEMVAR MEMO
DO init
SHOW GETS

PROC ppush5 && find


DEFINE WIND FIND AT 0,0 TO 8,50 COLO
RGB(255,255,255,255,255,255) IN DESKTOP
MOVE WIND FIND CENTER
ACTIVATE WIND FIND
fname=""
DO=.T.
DO WHILE DO=.T.
@ 2,2 SAY "Enter name : " COLO N+/W* GET fname SIZE
1,30 picture"@!"
fpush=0
@ 4,13 GET fpush function"*H Ok;Cancel" VALID pfpush()
SIZE 2,10
READ
ENDDO
RELEASE WIND FIND
SHOW GETS

PROC pfpush
DO CASE
CASE fpush=1
AT=ALLTRIM(fname)
DO encode
fname=AT

24
LOCATE FOR
ALLTRIM(UPPER(name))==ALLTRIM(UPPER(fname))
IF FOUND()
SCATTER MEMVAR MEMO
DO init
DO=.F.
ELSE
GO TOP
LOCATE FOR
ALLTRIM(UPPER(name))=ALLTRIM(UPPER(fname))
IF FOUND()
SCATTER MEMVAR MEMO
DO init
DO=.F.
ELSE
fname=""
WAIT WIND "Name is not found" NOWAIT
ENDIF
ENDIF
CASE fpush=2
DO=.F.
ENDCASE

PROC ppush6 && add


DO vrefresh
COUNT TO N
rec(1)=N+1
isediting=.T.
DO buttdis
_CUROBJ=1
SHOW GETS

PROC ppush7 && edit


isediting=.T.
DO buttdis
SHOW GET push9,1 PROMPT "\<Restore"
_CUROBJ=1
SHOW GETS

25
PROC ppush8 && delete
RECNO=RECNO()
COUNT TO N
IF N=0
WAIT WIND "First Enter The Record..."NOWAIT
ELSE
GO RECNO
DEFINE WIND FIND AT 0,0 TO 8,50 COLO
RGB(255,255,255,255,255,255) IN DESKTOP
MOVE WIND FIND CENTER
ACTIVATE WIND FIND
DO=.T.
DO WHILE DO=.T.
@ 2,2 SAY "Do you want to really delete this record?"
COLO N+/W*
ffpush=0
@ 4,13 GET ffpush function"*H Yes;No" VALID pffpush()
SIZE 2,10
READ
ENDDO
RELEASE WIND FIND
SHOW GETS
ENDIF

PROC pffpush
DO CASE
CASE ffpush=1
IF !EOF()
DELE
PACK
ENDIF
RECNO=RECNO()
GO TOP
COUNT TO N
GO TOP
A=1
DO WHILE NOT EOF()
REPLACE no WITH A
SKIP
A=A+1

26
ENDDO
IF RECNO>N AND RECNO!=0
GO RECNO-1
ELSE IF RECNO<N AND RECNO!=0
GO RECNO
ENDIF
SCATTER MEMVAR MEMO
DO init
DO=.F.
CASE ffpush=2
DO=.F.
ENDCASE

PROC ppush9 &&save


DO CASE
CASE push9="Restore"
LOCATE FOR no==rec(1)
IF FOUND()
DO rinit
GATHER MEMVAR MEMO
isediting=.F.
DO buttena
WAIT wind"Changes Is Saved" NOWAIT
SCATTER MEMVAR MEMO
DO init
ELSE
WAIT wind"Record Is NOT Found" NOWAIT
DO buttena
ENDIF
CASE push9="Save"
IF EMPTY(rec(2))=.T.
WAIT wind"Please enter FULL name"nowait
ELSE
DO rinit
isediting=.F.
APPEND BLANK
GATHER MEMVAR MEMO
DO buttena
WAIT wind"Record Is Saved" NOWAIT
SCATTER MEMVAR MEMO

27
DO init
ENDIF
ENDCASE
SHOW GETS

PROC ppush10
isediting=.F.
DO buttena
SHOW GETS

PROC ppush11
CLEAR READ
RELEASE WIND try
RELEASE WIND pass

PROC rinit
m.no=rec(1)
AT=ALLTRIM(rec(2))
DO encode
rec(2)=AT
m.name=rec(2)
AT=ALLTRIM(rec(3))
DO encode
rec(3)=AT
m.place=rec(3)
AT=ALLTRIM(rec(4))
DO encode
rec(4)=AT
m.city=ALLTRIM(rec(4))
m.pin=rec(5)
m.phone=rec(6)
m.mobile=rec(7)
m.dob=rec(8)
IF rec(9)=1
m.sex=.T.
ELSE
m.sex=.F.
ENDIF
AT=ALLTRIM(rec(10))
DO encode

28
rec(10)=AT
m.edu=rec(10)
AT=ALLTRIM(rec(11))
DO encode
rec(11)=AT
m.occ=rec(11)
m.height=rec(12)
m.weight=rec(13)
AT=ALLTRIM(rec(14))
DO encode
rec(14)=AT
m.hobby=rec(14)
IF rec(15)=1
m.marital=.T.
ELSE
m.marital=.F.
ENDIF
AT=ALLTRIM(rec(16))
DO encode
rec(16)=AT
m.email=rec(16)
m.bg=rec(17)

PROC init
rec(1)=m.no
AT=ALLTRIM(m.name)
DO decode
m.name=AT
rec(2)=m.name
AT=ALLTRIM(m.place)
DO decode
m.place=AT
rec(3)=m.place
AT=ALLTRIM(m.city)
DO decode
m.city=AT
rec(4)=m.city
rec(5)=m.pin
rec(6)=m.phone
rec(7)=m.mobile

29
rec(8)=m.dob
IF m.sex=.T.
rec(9)=1
ELSE
rec(9)=2
ENDIF
AT=ALLTRIM(m.edu)
DO decode
m.edu=AT
rec(10)=m.edu
AT=ALLTRIM(m.occ)
DO decode
m.occ=AT
rec(11)=m.occ
rec(12)=m.height
rec(13)=m.weight
AT=ALLTRIM(m.hobby)
DO decode
m.hobby=AT
rec(14)=m.hobby
IF m.marital=.T.
rec(15)=1
ELSE
rec(15)=2
ENDIF
AT=ALLTRIM(m.email)
DO decode
m.email=AT
rec(16)=m.email
rec(17)=m.bg

PROC vrefresh
rec(1)=0
rec(2)=SPACE(20)
rec(3)=SPACE(20)
rec(4)=SPACE(20)
rec(5)=0
rec(6)=0
rec(7)=0

30
rec(8)={}
rec(9)=0
rec(10)=SPACE(20)
rec(11)=SPACE(20)
rec(12)=0
rec(13)=0
rec(14)=SPACE(20)
rec(15)=0
rec(16)=SPACE(20)
rec(17)=SPACE(20)

PROC buttena
SHOW GET push1 ENABLE
SHOW GET push2 ENABLE
SHOW GET push3 ENABLE
SHOW GET push4 ENABLE
SHOW GET push5 ENABLE
SHOW GET push6 ENABLE
SHOW GET push7 ENABLE
SHOW GET push8 ENABLE
SHOW GET push9 DISABLE
SHOW GET push10 DISABLE
SHOW GET push11 ENABLE
SHOW GET push9,1 PROMPT "\<Save" DISABLE

PROC buttdis
SHOW GET push1 DISABLE
SHOW GET push2 DISABLE
SHOW GET push3 DISABLE
SHOW GET push4 DISABLE
SHOW GET push5 DISABLE
SHOW GET push6 DISABLE
SHOW GET push7 DISABLE
SHOW GET push8 DISABLE
SHOW GET push9 ENABLE
SHOW GET push10 ENABLE
SHOW GET push11 DISABLE

PROC encode

31
pstr=""
ss=""
FOR A=1 TO LEN(AT)
ss=SUBSTR(AT,A,1)
pstr=pstr+CHR(ASC(ss)+3)
ENDFOR
AT=pstr

PROC decode
pstr=""
ss=""
FOR A=1 TO LEN(AT)
ss=SUBSTR(AT,A,1)
pstr=pstr+CHR(ASC(ss)-3)
ENDFOR
AT=pstr

32
BIBLIOGRAPHY
I have referred the following books for this system development :

1. FOXPRO 2.5 By R.K.TAXALI


2. BUSINESS SYSTEM Module-II By SHASHI SINGH AND
SATISH JAIN
3. FoxPro On-line Help System

33

You might also like