Sunday, June 21, 2015

Qbasic Project Work





While at School or at College, You may be given project work to prepare on QBASIC. So I am here to simplify it. Copy the following codes and paste in qbasic. Paste each in new program and save it with extension .bas and remember to save all in same folder. 
The Password provided is PASSWORD . Its all capital and you can change it as you wish. Change w$ = "PASSWORD"

BELOW ARE PROGRAM CODES OR DOWNLOAD THE FILE >>>>>.

DOWNLOAD NOW

CLICK HERE TO DOWNLOAD THE FILE

   CODES :

(paste in new program)
REM DATA STORAGE PROGRAM
REM PROGRAM WRITTEN BY your name
REM PROGRAM HAS ONE MAIN MODULE AND EIGHT SUB MODULES
REM PROGRAM HAS ONE USER DEFINED FUNCTION 

DECLARE FUNCTION age! (a!)
DECLARE SUB DeleteRec ()
DECLARE SUB SearchRec ()
DECLARE SUB AddRec ()
DECLARE SUB EditRec ()
DECLARE SUB DelRec ()
DECLARE SUB MENU ()
DECLARE SUB DisplayRec ()
DECLARE SUB Search ()
DECLARE SUB Finish ()
DECLARE SUB drawbox ()
CLS
LOCATE 2, 20: PRINT "WELCOME TO XYZ PVT. LTD. EMPLOYEE DATABASE"
LOCATE 8, 24: INPUT "ENTER PASSWORD TO PROCEED"; w$
IF w$ = "PASSWORD" THEN
CALL drawbox
LOCATE 12, 32: PRINT "CORRECT PASSWORD"
LOCATE 24, 25: PRINT "PRESS ANY KEY TO ENTER"
SLEEP 2
GOTO LAST
ELSE
CALL drawbox
LOCATE 12, 32: PRINT "PASSWORD MISMATCH"
LOCATE 13, 32: PRINT "INTRUDERS ALERT"
LOCATE 24, 25: PRINT "PRESS ANY KEY TO EXIT"
END IF
END
LAST:
DO
CALL MENU
LOCATE 10, 55: INPUT CH
SELECT CASE CH
CASE 1
CALL AddRec
CASE 2
CALL DisplayRec
CASE 3
CALL SearchRec
CASE 4
CALL DeleteRec
CASE 5
CALL EditRec
END SELECT
LOOP WHILE CH <> 6
CLS
CALL drawbox
LOCATE 12, 36: PRINT "Good Bye!!"
LOCATE 14, 34: PRINT "See U Again!!!"
END





Home Screen

(paste in new program)
REM SUB-PROGRAM TO ADD RECORDS TO THE DATA FILE "employee.dat"

SUB AddRec
OPEN "c:\employee.dat" FOR APPEND AS #1
top:
DO
CLS
PRINT TAB(30); "Add Record"
PP:
INPUT "Enter Your Employee NO."; s
INPUT "Enter Your F-Name"; f$
f$ = UCASE$(f$)
INPUT "Enter Your L-Name"; l$
l$ = UCASE$(l$)
INPUT "Enter Your Age"; a
V = age(a)
IF V = 1 THEN
CLS
CALL drawbox
LOCATE 12, 34: PRINT "Age Not Valid"
LOCATE 24, 25: PRINT "PRESS ANY KEY TO ENTER AGAIN"
X$ = INPUT$(1)
CLS
GOTO PP
ELSE
INPUT "Enter Your Post In Office"; p$
p$ = UCASE$(p$)
INPUT "Enter Your Department"; d$
d$ = UCASE$(d$)
INPUT "Enter Your Monthly Salary"; m
END IF
WRITE #1, s, f$, l$, a, p$, d$, m
LOCATE 18, 25: INPUT "Want To Input More Data (Y/N)"; CH$
LOOP WHILE UCASE$(CH$) = "Y"
CLOSE #1
END SUB

Main menu


(paste in new program)
REM USER-DEFINED FUNCTION TO CHECK VALIDATION OF AGE

FUNCTION age (a)
  IF a <= 18 OR a >= 60 THEN
     age = 1
  ELSE
     age = 0
  END IF
END FUNCTION


(paste in new program)
REM SUB-PROGRAM TO DELETE THE RECORD FROM THE DATA FILE "employee.dat"

SUB DeleteRec
OPEN "c:\employee.dat" FOR INPUT AS #1
OPEN "c:\temp.dat" FOR OUTPUT AS #2
CLS
LOCATE 12, 30
PRINT "Delete-Mode"
LOCATE 14, 30
INPUT "Enter Name to Delete:"; i$
 s$ = UCASE$(i$)
FLAG = 0
DO
CLS
LOCATE 12, 30
PRINT "Delete-Mode"
 INPUT #1, s, f$, l$, a, p$, d$, m
IF s$ <> f$ THEN
 WRITE #2, s, f$, l$, a, p$, d$, m
ELSE
 CLS
 LOCATE 2, 30: PRINT "Delete-Mode"
PRINT TAB(3); "SN."; TAB(10); "F-Name"; TAB(20); "L-Name"; TAB(29); "Age"; TAB(37); "Post"; TAB(47); 
"Department"; TAB(62); "Salary"
PRINT TAB(3); s; TAB(10); f$; TAB(20); l$; TAB(29); a; TAB(37); p$; TAB(47); d$; TAB(62);m
 PRINT : PRINT
  LOCATE 8, 10
   FLAG = 1
   INPUT "Are You Sure To Delete This Record (Y/N):"; CH$
    IF UCASE$(CH$) <> "Y" THEN
      WRITE #2, s, f$, l$, a, p$, d$, m
   ELSE
     PRINT
     CLS
      CALL drawbox
       LOCATE 12, 34: PRINT "Record Deleted"
      SLEEP 2
      END IF
  END IF
 LOOP WHILE NOT EOF(1)
 CLS
 IF FLAG = 0 THEN
  CALL drawbox
    LOCATE 12, 33: PRINT "Data Not Found"
      SLEEP 2
      END IF
      CLOSE #1, #2
   KILL "c:\employee.dat"
   NAME "c:\temp.dat" AS "c:\employee.dat"
END SUB




input screen



(paste in new program)
REM SUB-PROGRAM TO DISPLAY RECORDS FROM THE DATA FILE "employee.dat"

SUB DisplayRec
OPEN "c:\employee.dat" FOR INPUT AS #1
CLS
PRINT TAB(20); "List Of Employee"
PRINT
PRINT TAB(3); "SN."; TAB(10); "F-Name"; TAB(20); "L-Name"; TAB(29); "Age"; TAB(37);  
"Post"; TAB(47); "Department"; TAB(62); "Salary"
PRINT
DO
INPUT #1, s, f$, l$, a, p$, d$, m
IF s <> 0 THEN
PRINT TAB(3); s; TAB(10); f$; TAB(20); l$; TAB(29); a; TAB(37); p$; TAB(47); d$; TAB(62); m
END IF
LOOP WHILE NOT EOF(1)
PRINT
PRINT TAB(15); "PRESS ANY KEY TO GOTO THE MAINMENU"
X$ = INPUT$(1)
CLOSE #1
END SUB


Display


(paste in new program)
REM SUB-PROGRAM TO DRAW A BOX

SUB drawbox
LOCATE 10, 30
PRINT STRING$(20, "*")
FOR i = 11 TO 15
LOCATE i, 30: PRINT "*"
LOCATE i, 49: PRINT "*"
NEXT i
LOCATE 15, 30
PRINT STRING$(20, "*")
END SUB
REM SUB-PROGRAM TO EDIT RECORDS OF THE DATA FILE "employee.dat"
SUB EditRec
OPEN "c:\employee.dat" FOR INPUT AS #1
OPEN "c:\temp.dat" FOR OUTPUT AS #2
CLS
LOCATE 12, 30
PRINT "EDIT MODE"
LOCATE 14, 30
INPUT "Enter NAME to EDIT"; s$
FLAG = 0
CLS
DO
CLS
INPUT #1, s, f$, l$, a, p$, d$, m
IF s$ <> f$ THEN
WRITE #2, s, f$, l$, a, p$, d$, m
ELSE
LOCATE 2, 30: PRINT "EDIT MODE"
PRINT : PRINT
PRINT TAB(3); "SN."; TAB(10); "F-Name"; TAB(20); "L-Name"; TAB(29); "Age"; TAB(37);  
"Post"; TAB(47); "Department"; TAB(62); "Salary"
PRINT TAB(3); s; TAB(10); f$; TAB(20); l$; TAB(29); a; TAB(37); p$; TAB(47); d$; TAB(62); m
 PRINT : PRINT
 LOCATE 8, 10
 FLAG = 1
 INPUT "WANT TO EDIT THIS Y/N"; CH$
 IF UCASE$(CH$) = "Y" THEN
PRINT TAB(3); "SN."; TAB(10); "F-Name"; TAB(20); "L-Name"; TAB(29); "Age"; TAB(37); "Post"; TAB(47); 
"Department"; TAB(62); "Salary"
INPUT "Enter Your Employee NO."; Ns
INPUT "Enter Your F-Name"; Nf$
INPUT "Enter Your L-Name"; Nl$
INPUT "Enter Your Age"; Na
INPUT "Enter Your Post In Office"; Np$
INPUT "Enter Your Department"; Nd$
INPUT "Enter Your Monthly Salary"; Nm
WRITE #2, Ns, Nf$, Nl$, Na, Np$, Nd$, Nm
CLS
CALL drawbox
LOCATE 12, 34: PRINT "DATA EDITED"
SLEEP 2
 ELSE
WRITE #2, s, f$, l$, a, p$, d$, m
    END IF
         END IF
         LOOP WHILE NOT EOF(1)
LOCATE 11, 25
  IF FLAG = 0 THEN
  CALL drawbox
LOCATE 12, 33: PRINT "DATA NOT FOUND"
SLEEP 2
  END IF
 CLOSE #1, #2
KILL "c:\employee.dat"
NAME "c:\temp.dat" AS "c:\employee.dat"
END SUB



(paste in new program)
REM SUB-PROGRAM FOR MENU

SUB MENU
CLS
LOCATE 1, 15
PRINT STRING$(50, "*")
FOR i = 2 TO 12
LOCATE i, 15: PRINT "*"
LOCATE i, 65: PRINT "*"
NEXT i
LOCATE 12, 15
PRINT STRING$(50, "*")
LOCATE 2, 30
PRINT "MAIN MENU"
LOCATE 4, 20
PRINT "1.Add Records"
LOCATE 5, 20
PRINT "2.Display Records"
LOCATE 6, 20
PRINT "3.Search Records"
LOCATE 7, 20
PRINT "4.Delete Record"
LOCATE 8, 20
PRINT "5.Edit Record"
LOCATE 9, 20
PRINT "6.Exit"
LOCATE 10, 20
PRINT "ENTER YOUR CHOICE:: 1/2/3/4/5/6/..."
END SUB


(paste in new program)
REM SUB-PROGRAM TO SEARCH RECORDS FROM THE DATA FILE "employee.dat"

SUB SearchRec
OPEN "c:\employee.dat" FOR INPUT AS #1
CLS
LOCATE 12, 25
INPUT "Enter Name To Search Data By Name?::"; s$
FLAG = 0
CLS
LOCATE 2, 25: PRINT "SEARCH RESULT"
PRINT : PRINT
PRINT TAB(3); "SN"; TAB(10); "F-Name"; TAB(20); "L-Name"; TAB(29); "Age"; TAB(37); "Post";  
TAB(47); "Department"; TAB(62); "Salary"
DO
INPUT #1, s, f$, l$, a, p$, d$, m
IF s$ = f$ THEN
PRINT TAB(3); s; TAB(10); f$; TAB(20); l$; TAB(29); a; TAB(37); p$; TAB(47); d$; TAB(62); m
FLAG = 1
END IF
LOOP WHILE NOT EOF(1)
PRINT
IF FLAG = 0 THEN PRINT "DATA NOT FOUND"
PRINT
PRINT "PRESS ANY KEY TO GOTO MAIN MENU"
X$ = INPUT$(1)
CLOSE #1
END SUB



Exit Screen