100% found this document useful (1 vote)
665 views27 pages

Foxpro For MS Dos

This document provides an overview of basic FoxPro 2.6 commands: 1. Commands are used to open and close databases, create and modify database structure, add, edit, delete and display records, and navigate between records. 2. Input and output commands allow accepting input from and displaying output to the user. Programs can be created using a built-in editor and executed with DO command. 3. Special picture, function and formatting clauses control how data is displayed or printed when using input/output commands like @Say and @Get.

Uploaded by

Kamal Markam
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
665 views27 pages

Foxpro For MS Dos

This document provides an overview of basic FoxPro 2.6 commands: 1. Commands are used to open and close databases, create and modify database structure, add, edit, delete and display records, and navigate between records. 2. Input and output commands allow accepting input from and displaying output to the user. Programs can be created using a built-in editor and executed with DO command. 3. Special picture, function and formatting clauses control how data is displayed or printed when using input/output commands like @Say and @Get.

Uploaded by

Kamal Markam
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 27

Foxpro for MS-DOS - Basic FoxPro 2.

6 Commands
 FoxPro is SEMI-RDBMS
 Unlike other RDBMS systems, in FoxPro each database can contain only one table.
 Hence, the single table is called as database in this tutorial

In FoxPro, first four characters of any command is enough to execute


For e.g.:- crea ==> create
1. TO OPEN A DATABASE:
Syn:
use <dbname>
Ex:
use book
2.TO CLOSE THE DATABASE:
Use
To close the current opened database.
Close all
To close the all opened database.
3. To CREATE NEW DATABASE:
Syn:
crea <dbname>
create <dbname>
Ex:
crea book
4. To Modify Structure of the Database:
Modify structure
(Or)
Modi stru
5. To add new records in database
Append is used to add the new record.
Syn:
append
[Blank]
[From <dbname>]
Ex
Append
Append Blank
- To add blank records.
Append from first.dbf
- To add the records from FIRST.DBF to SECOND.DBF
- Same Structure is required for these databases

6. To display the records in the current database


Used to display the particular record.
Syn:
Display
[All]
[Structure]
[Status]
[Memory]
Ex:
Display
Display All
Display All Records in page wise.
7. To Display the structure of the database:
Display Structure
8. To display the status of the set commands:
Display Status
9. To display the status of the system memory variables.
Display Memory
10. To view the status bar
Set stat on
11. To edit records
EDIT
- It list all the records one by one for editing.

Any one of the record can be edited using 'FOR' as below

EDIT FOR empname = "LEELA"

EDIT FOR rollno = 103

12. To delete records


DELETE
- To delete current record
DELETE NEXT 4

- To delete next 4 records

After using the delete command the records marked with * (asterisk) mark, i.e., marked
for deletion.
RECALL

- It is used to recover the deleted records.

e.g. RECALL

RECALL NEXT 4

PACK

- To delete the records permanently. It is used after the delete command.

BLANK

- It can be used to empty the record instead of deleting.

13. To delete all the records in the current database


ZAP
14. Navigation with Records
GO or GOTO both do the same things in Foxpro.
GO TOP
Used to move the record pointer at the first record.
GO BOTTOM:
Used to move the record point at the last record.
Go
To go to a particular record
Syn:- GO <recordno>
Eg:- GO 8
Go to record 8
SKIP
- To skip number of records

e.g. To skip 3 records - SKIP 3

15. To List the records


LIST - To list the records in screen, not in window
It can be used with condition as below:
LIST for val(price) > 100
LIST itemname, price+20
- This command lists item name with price rupees 20 added. The changes are applied only
to the view, it not saved in database.
LIST product, price*2

- price is multiplied with 2.

16. To view the records as manipulatable view


BROWSE - To browse the records
BROWSE NOEDIT - To browse the records in read only view, The records can be
marked for deletion using Ctrl + T shortcut
BROWSE NODELETE - To avoid deleting while browsing the records
17. To display current record number
?RECNO()

18. To display the dbf files in the current directory


DIR

19. Hide or Show heading in list view


SET HEADINGS OFF

SET HEADINGS ON

20. Printing
SET PRINT ON

- This command sends the out put to printer

- To stop this use the command SET PRINT OFF

SET PRINTER TO LPT1

- To set the output printing port to LPT1


21. Handling date and date format
To display current system date

?DATE()

To set century on to display year in 4 digits.

SET CENTURY ON

SET CENTURY OFF

To set date format


dd/mm/yyyy => SET DATE BRIT

mm/dd/yyy => SET DATE AMERICA

yyyy/mm/dd => SET DATE JAPAN

22. Replace command


To replace the content of the specified field in the database table. i.e., This command can be used to
remove the data in the particular field (nullifying / empty a field)

e.g.

REPLACE fieldname WITH ""

- To replace with null value

REPLACE fieldname WITH { / / }

- To replace the date field with null value

REPLACE ALL QUANTITY WITH 0

- Replaces the data in the quatity fied with 0 in all the records.
REPLACE ALL PRICE WITH PRICE+50

- Adds 50 to the price field.

23. Blank
To blank some or all the fields in the current record.

BLANK

- To blank all the fields in the current record

BLANK FIELDS <field1>, <field>

- To blank specified fields in the current record

PROGRAM
A Program is a set of instructions used to achieve the desired output.
To create new program or to edit the existing one.
MODI COMM
OR MODIFY COMMAND <PRGRAM_NAME>
NOTE command
If ignore the particular line or command, NOTE can be used at the beginning of that line.
Comment Line
To add comments to the right of the Programming code , use &&
Clear All Command
This command is used to closes all databases files and releases all active memory variables,
arrays menus or popup.
Input / Output command
? | ?? | ??? [expr1?]
? - To print the expression in new line
?? - To print the expression in the same line
??? - The Output will going to the printer
Example:
? "Hellow!"
Sample Program
NOTE prg for just print something on the screen
Clear && To Clear the Screen or previous outputs
?"Welcome"
?"Hellow!"
?? " World...!"
??? "Thank you”

Writing Programs
* FoxPro has powerful built-in editor for writing and editing.
* It can be invoked from the command window by using the MODIFY COMMAND.
Syntax:
MODIFY COMMAND <prenames>
Example:
Modify Command journal
(This program will automatically save with the extension .PRG)
Press CTRL + W - To save and close the program window
Executing Program
Programs can be executed by DO command.
Syntax:
DO <prgname>
Example:
Do journal
When compile the executed file the FoxPro creates an object code program with .FXP extension. If
there are any errors, creates a file an .ERR extension.
INPUT command
It is used to accept Numeric input from the user and store it into a memory variable.
Syntax:
INPUT [<char exp>] TO <memvar>
Example:
Store 0 to eno
INPUT "Enter your Enrollment No : " TO eno
? Eno
ACCEPT command
It is used to accept character input from the user and store it into a memory variable.
Syntax:
ACCEPT [<char exp>] TO <memvar>
Example:
Store space (15) to NAM
ACCEPT "Enter the Name: " to NAM
? "Entered name:” NAM
Example 2
clear
SET TALK OFF
Accept "Enter your nane :" to nam
Input "enter your Age : " to age
Accept " enter your city :" to cit
Accept "Enter your Mail id : " to mail
? "******************************************"
? "NAME :: " ,nam
? "AGE :: " ,age
? "CITY :: " ,cit
? "MAIL ID:: " ,mail
? "******************************************"

Setting/restoring the environment


Every FoxPro program includes all commands required to establish the working environment
and restore it to its prior state before the program terminates execution. This is achieved by issuing
some set.
Set notify on/off
Enables the display of certain system messages.
Set talk window
Directors the display of system messages to an user-defined window instead of the system
window. Sets notify should be ON.
Set deleted on/off
Processes records marked for deletion.
Input and output in foxpro
As we already know that data can be entered into tables through the APPEND/BROWSE
commands. Data entry for tables can also be done through programs. There arises a need to display
and accept information in a formatted way.
The @…say command is used to place data at a particular screen location and to display data
stored in fields or memory variables. The @…get commands is used to retrieve data.
Displaying data
@…say command: -
Syntax: -
@<Row, columns>SAY<expr>
[Function<exprC1>]
[Picture<expr2>]
[size<exprn],<exprn2>]
[font<exprC3>[,<exprN3]]
[STYLE, exprC4>]
Example:-
@2, 10 say “hello welcome to FoxPro”
Syntax:
Input
@row,column | say <char_exp> get <mem_var>
Output
@row ,column | say <char_exp> get <mem_var>

Clear
@row, column to row, column clear
Clear all

Ex
@5, 5 clear to 20, 20

Box Command
@row1, column1 to row2, column 2
Picture clause
PICTURE clause is used to control of display or the information to be accepted.
@..SAY...GETS PICTURE CODES:
A - Allows only alphabets
9 - Allows only digits, signs for numeric data
N - Allows Letters and Digits
# - Allows Only Digits, Blanks and Signs
X - Allows any Character
L - Allows any Logical Data T, t, F, f, Y, y, N, n
Y - Allows Only Y, y, N, n
! - Converts letters into uppercase.
* - Displays asterisk in place of leading zeros.
, - Display the comma
. - Display the decimal Point.
Function Clause
You can include the function clause, the picture clause or both to control how<expr> is displayed or
printed. A function clause affects the entire expression. It contains only the following function code.
Function code & Purpose
B Left – justifies numeric data within the display region.
Example:
Clear
Store 2750 to num
@5,20 say num
@6,20 say num function “B”
C Cr is displayed after a positive number to indicate a credit. Can be used with numeric data only.
Example:-
Clear
Store 15432.00 to amt
@5,20 say amt
@6,20 say amt function “c”
D Uses the current set DATE format.
Example:-
Clear
Store 230801 to num
Store “foxproprograming” to tit
@5,20 say num function “D”
@6,20 say tit function “D”
E Edits date type data as British date
Example:-
Clear
Store 230904 to num
@6,20 say num function “E”
T Trim leading and trailing blanks from<expr>
Example:-
Clear
@5,20 ”fox” to tit
@6,20 say tit function “T”
X DB is displayed after negative numbers to indicate a debit. used only with numberic data.
Example:-
Clear
Store -15432.00 to amt
@5,20 say amt
@6,20 say amt function “X”
Z <expr> is displayed as all blanks if its numeric
value is 0. used only with numeric data.
Example:
Clear
Store o to amt
@5,20 say amt
@6,20 say amt function “z”
( Encloses negative numbers in parentheses. Used only with numeric data.
Example:-
Clear
Store –755 to amt
@5,20 say amt
@6,20 say amt function “(“
! Converts alphabetic characters to upper-case used with character data-only
Example:-
Clear
Store “foxpro programming” to tit
@6,20 say tit function “!”
^ Displays numeric data using scientific notation. Used with numeric data only.
Example:-
Clear
Store 75815 to amt
@6,20 say amt function “^”
$
Displays data in currently format. the currency symbol appears before or after the field value
depending on the current setting of set currency. used with numeric data only.
Example:-
Clear
Store 75815 to amt
@6,20 say amt function “$”
Picture expression can include the following characters:-

X Allows any character.

Y Allows logical Y, y, N and n only. Converts y and n to Y and N, respectively.


! Displays the current currency symbol specified by set currency. By default, the symbol is placed
immediately before or after the field.
* Asterisks are displayed in front of the numeric value. Use with a dollar sign $ for check protection.
. A decimal point specifies the decimal point position.
, A comma is used to specifies digits to the left of the decimal point.

Control Structures
IF statement
If Condition is True Executed and then False Not Executed.
Syntax
If (condition) then
Statement-1
End if
Example
clear
mark =0
@5,5 say " Enter the Mark : " get mark RANGE 0,100
Read
If mark >=40 Then
@10,10 say " You have PASS"
Endif
If….else….endif:-
The commands between if…..end if will be executed only if condition is satisfied, otherwise the next
statement is executed. For every if there must be an end if. Every is matched with the nearest
unmatched if.
Syntax:-
If<condition>
<Command sequence-1>
Else
<Command sequence-2>
End if
Command sequence –1 will be executed if a condition is true, if condition is false command
sequence-2 will be executed. Control falls to the next statement in either case, if program I still in
execution.

Example 2
clear
Store 0 to x,y
@5, 5 say " Enter the First value: " get x
@7,5 say " Enter the Second value: " get y
Read
IF x > y Then
@10, 10 say str(x) + “is Greater than” + ltrim (str(y))
Else
@10, 10 say str(x) + " is lesser than " + ltrim (str(y))
Endif
Example 3
clear
Store space(1) to x,ch
@5, 5 say " Enter any Alphabet: " get x
Read
ch =chr(asc(x) +32) && To convert Upper into Lower
IF ch="a" .or. ch="e" .or. ch="i" .or. ch="o" .or. ch="u" then
@10,10 say ch + " is a VOWEL "
Else
@10,10 say ch + " is a CONSONANT"
Endif
NESTED IF: (IF within IF)
clear
store 0 to x,y,z
@5,5 say " Enter No1 : " get x
@7,5 say " Enter No2 : " get y
@9,5 say " Enter No3 : " get z
Read
If x > y then
IF x>z then
@ 15,5 say " X is Greater than y and z"
Else
@15,5 say "X is Greater than Y and Lesser than Z"
Endif
Else
IF Y>Z then
@ 15,5 say " Y is Greater than X and Z"
Else
@15,5 say "Y is Greater than X but not Z"
Endif
Endif
DO CASE
Case Commands are used to check for a specified condition
Syntax:
DO Case
Case <variable> = <value>
Statement -1
Case <variable> = <value>
Statement -2
Otheriwse
Statement -3
End Case
Example:
clear
store 0 to day
@5,5 say " Enter any number from 1 to 7 " get day
Read
DO CASE
case day = 1
@10,10 say "SUNDAY"
case day = 2
@10,10 say "MONDAY"
case day = 3
@10,10 say "TUESDAY"
case day = 4
@10,10 say "WEDNESDAY"
case day = 5
@10,10 say "THURSDAY"
case day = 6
@10,10 say "FRIDAY"
case day = 7
@10,10 say "SATURDAY"
OTHERWISE
@10,10 SAy "Invalid Input"

EndCase
FOR LOOP
 To repeatedly execute a series of lines in a Program.
 The lines of code b/w FOR and ENDOFR will be executed until the memory
variable is equal to the final condition specified.
 Default STEP value is 1.
Syntax
FOR <memvar> = <initial value> TO <final value> STEP <no>
................
................
ENDFOR
Example: 1
CLEAR
FOR I = 1 TO 10
?I
EndFor
Example: 2
To print the EVEN nos from 2 to 50
CLEAR
FOR I = 2 TO 50 STEP 2
?I
EndFor
Creating menu in Foxpro for DOS
 Posted on: 12 February 2012

 By: Karthikeyan
This is an example of simple navigation menu programming in Foxpro 2.6
1. set talk off
2. set stat off
3. set scor off
4. set cent on
5. set date brit
6. do whil .t.
7. clea
8. @5,20 to 19,45 doub
9. @6,25 say "MAIN MENU"
10. @7,21 to 7,44 doub
11. k=0
12. @ 9,25 prompt "DATA ENTRY"
13. @11,25 prompt "REPORT PRINTING"
14. @13,25 prompt "PROCESS"
15. @15,25 prompt "EXIT"
16. @17,25 prompt "QUIT to SYSTEM"
17. menu to k
18. do case
19. case k=1
20. do dataent
21. case k=2
22. do repoprn
23. case k=3
24. * do proces
25. case k=4
26. exit
27. case k=5
28. clos all
29. clea all
30. quit
31. otherwise
32. loop
33. endcase
34. enddo
35. clos all
36. clea all
37.
38.
39.
40. proce dataent
41. do whil .t.
42. clea
43. @5,20 to 19,55 doub
44. @6,30 say "DATA ENTRY MENU"
45. @7,21 to 7,54
46. k1=0
47. @ 9,25 prompt "1. STUDENT"
48. @11,25 prompt "2. STAFF"
49. @13,25 prompt "3. FEES "
50. @15,25 prompt "4. COURSES"
51. @17,25 prompt "RETURN TO MAINMENU"
52. menu to k1
53. do case
54. case k1=1
55. do stud
56. case k1=2
57. do staff
58. case k1=3
59. do fees
60. case k1=4
61. do course
62. case k1=5
63. exit
64. otherwise
65. loop
66. endcase
67. enddo
68. clos all
69. return
70.
71. proce repoprn
72. do whil .t.
73. clea
74. @5,20 to 19,55 doub
75. @6,30 say "REPORT MENU"
76. @7,21 to 7,54
77. k1=0
78. @ 9,25 prompt "Report 1"
79. @11,25 prompt "Report 2"
80. @13,25 prompt "Report 3"
81. @15,25 prompt "Report 4"
82. @17,25 prompt "Return to Mainmenu"
83. menu to k2
84. do case
85. case k2=1
86. do fmainprn
87. case k2=2
88. do fothrprn
89. case k2=3
90. do mainprn
91. case k2=4
92. do othrprn
93. case k2=5
94. exit
95. otherwise
96. loop
97. endcase
98. enddo
99. clos all
100. return
Simple Journal Entry program
 Posted on: 28 September 2009

 By: Karthikeyan
1. CLEA
2. clea all
3. set talk off
4. use jour1
5. reply = "y"
6. GO BOTTOM
7. DO WHILE UPPER(REPLY) = "Y"
8. STORE 0 TO CRE, DEB
9. STORE SPACE(10) TO P1, P2
10. STORE SPACE(15) TO NR
11. STORE CTOD(" / / ") TO DATE1
12. @4,10 SAY [DATE :] GET DATE1
13. @6,10 SAY [PARTICULAR1 :] GET P1
14. @6,45 SAY [DEBIT :] GET DEB
15. @8,10 SAY [PARTICULAR2 :] GET P2
16. @8,45 SAY [CREDIT :] GET CRE
17. @12,10 SAY [NARRATION :] GET NR
18. READ
19. APPEND BLANK
20. @18,10 SAY [DO U CONTINUE(Y/N)?] GET REPLY
21. READ
22. REPL DATE WITH DATE1
23. REPL PART1 WITH P1
24. REPL PART2 WITH P2
25. REPL NAR WITH NR
26. REPL DEBIT WITH DEB
27. REPL CREDIT WITH CRE
28. ENDDO
29. CLEAR
30. SET DEVI TO SCRE
31. SET PRINT ON
32. SET PRIN TO RESUME1.OUT
33. @2,30 SAY "JOURNAL ENTRIES"
34. @3,0 SAY REPLICATE ("-",75)
35. @4,5 SAY "DATE"
36. @4,18 SAY "PARTICULARS"
37. @4,48 SAY "DEBIT"
38. @4,58 SAY "CREDIT"
39. @5,0 SAY REPLICATE ("-",75)
40. GO TOP
41.
42. ROW = 6
43. DO WHILE .NOT. EOF()
44. @ROW,6 SAY DATE
45. @ROW,19 SAY PART1 +[ DR]
46. @ROW+1,19 SAY [TO ]+PART2
47. @ROW+2,19 SAY [ (BEING ] +NAR+ [)]
48. @ROW,45 SAY DEBIT
49. @ROW+1, 55 SAY CREDIT
50. IF ROW >18
51. WAIT ""
52. @6,0 CLEAR
53. ROW = 6
54. ELSE
55. ROW = ROW + 3
56. ENDIF
57. SKIP
58. ENDDO
59. SET DEVI TO SCRE
60. SET PRIN TO
61. SET PRIN OFF

Simple Ledger creation & Posting Program


 Posted on: 28 September 2009

 By: Karthikeyan
1. clear
2. clea all
3. set talk off
4. use jour1
5. store space(15) to acname
6. store 0 to r,p, ds, cs, br, bl, mamt
7. @10,10 say "Account Name" get acname
8. read
9. clear
10. set devi to scre
11. set print on
12. set print to ledger.out
13. @2,2 say replicate("-",75)
14. @3,3 say "Date"
15. @3,13 say "Particulars"
16. @3,28 say "Amount"
17. @3,41 say "Date"
18. @3,52 say "Particulars"
19. @3,67 say "Amount"
20. @4,2 say replicate("-",75)
21. @5,28 say [Ledger for ] + alltrim(acname)
22. @6,28 say "-------------------"
23. r = 7
24. p = 7
25. do while .not. eof()
26. scan for upper(part1) = upper(alltrim(acname))
27. @r,2 say date
28. @r,11 say "To " + part2
29. @r,26 say credit
30. ds = ds + credit
31. r = r+1
32. endscan
33. scan for upper(part2) = upper(alltrim(acname))
34. @p,40 say date
35. @p,50 say "By " + part1
36. @p,65 say debit
37. cs = cs + debit
38. p = p+1
39. endscan
40. enddo
41.
42. if p>r
43. br = p
44. else
45. br = r
46. endif
47.
48. if cs > ds
49. bl = cs - ds
50. mamt = cs
51. @r+1,11 say "To bal b/d"
52. @r+1,26 say bl
53. @br+5,50 say "By Bal c/d"
54. @br+5,65 say bl
55. else
56. bl = ds - cs
57. mamt = ds
58. @p+1, 50 say "By bal c/d"
59. @p+1, 66 say bl
60. @br+5,11 say "To Bal b/d"
61. @br+5,26 say bl
62. endif
63.
64. @br+2,26 say "------------"
65. @br+2,66 say "------------"
66. @br+3,26 say mamt
67. @br+3,66 say mamt
68. @br+4,26 say "------------"
69. @br+4,66 say "------------"
70. @br+6,2 say replicate("-",75)
71. set devi to scre
72. set print to
73. set print off
74. return

Trial Balance Program


 Posted on: 28 September 2009

 By: Karthikeyan
1. clear
2. clear all
3. set talk off
4. store space(1) to reply
5. @3,5 say "Do you continue?" get reply
6. read
7. use trial.dbf
8. store space(20) to p
9. store 0 to cr, db, sno
10. do while upper(reply)="Y"
11. clear
12. @4,10 say [SlNo] get sno
13. @6,10 say [Particular] get p
14. @8,10 say [Debit] get db
15. @10,10 say [Credit] get cr
16. read
17. append blank
18. repl slno with sno
19. repl part with p
20. repl debit with db
21. repl credit with cr
22. @18,10 say [Do continue?] get reply
23. read
24. clear
25. enddo
26. set print on
27. set print to trial.out
28. @2,30 say "Trial Balance"
29. @3,2 say replicate("-",75)
30. @4,2 say "S.No."
31. @4,13 say "A/c Name"
32. @4,28 say "Debit Rs"
33. @4,42 say "Credit Rs"
34. @5,1 say repl("-",75)
35.
36. store 0 to cs, ds, sus, l
37. l = 6
38. do while .not. eof()
39. @l,2 say SLNO
40. @l,7 say part
41. @l,22 say debit
42. @l,35 say credit
43. if l >18
44. wait ""
45. @6,0 clear
46. l = 6
47. else
48. l = l + 1
49. endif
50. cs = cs + credit
51. ds = ds + debit
52. skip
53. enddo
54. if cs > ds
55. sus = cs - ds
56. @l,7 say "Suspense A/c"
57. @l,22 say sus
58. else
59. if ds > cs
60. sus = ds - cs
61. cs = ds
62. @l,7 say "Suspense A/c"
63. @l,35 say sus
64. endif
65. endif
66.
67. @l+1,21 say "---------------"
68. @l+1,34 say "---------------"
69. @l+3,21 say "---------------"
70. @l+3,34 say "---------------"
71. @l+2,22 say cs
72. @l+2,35 say cs
73.
74. set print off
75. set print to
76. return
Balance Sheet Program
1. clea
2. clear all
3. set talk off
4. @1,15 say "Trading A/c for the Year Ended"
5. @2,2 say replicate("-",75)
6. @3,7 say "Particulars"
7. @3,45 say "Particulars"
8. @4,2 say repl("-",75)
9. store 0 to opst, pur, purret, tpur, tdeb, wage, wout, twage, carin
10. @5,2 say "To Opening stock"
11. @5,30 get opst
12. @6,2 say "To purchase"
13. @6,20 get pur
14. @7,4 say "Purchase Ret."
15. @7,20 get purret
16. read
17. tpur = pur - purret
18. @7,30 say tpur
19. @8,2 say "To wages"
20. @8,20 get wage
21. @9,4 say "Out.wages"
22. @9,20 get wout
23. read
24. twage = wage + wout
25. @9,30 say twage
26. @10,2 say "To carriage inwards"
27. @10,30 get carin
28. read
29. tdeb = opst + tpur + twage + carin
30.
31. store 0 to sale, saleret, tsale, clstock, tcr
32.
33. @5,40 say "By Sales"
34. @5,58 get sale
35. @6,40 say "(-)Sales Return"
36. @6,58 get saleret
37. read
38. tsale = sale - saleret
39. @6,68 say tsale
40. @7,40 say "By Closing Stock:"
41. @7,68 get clstock
42. read
43. tcr = clstock + tsale
44.
45. store 0 to grpro, grloss, gramt
46. grpro = tcr - tdeb
47. if grpro < 0
48. grloss = abs(grpro)
49. grpro = 0
50. @11,40 say "By Gross Loss:"
51. @11,68 say grloss
52. gramt = tdeb
53. else
54. @11,2 say "To Gross Profit:"
55. @11,30 say grpro
56. gramt = tcr
57. endif
58. @12,2 say repl("-",75)
59. @13,30 say gramt
60. @13,68 say gramt
61. @14,2 say repl("-",75)
62. wait""
63.
64. clear
65.
66. * Profit & Loss Account *
67. @1,15 say "Profit & Loss A/c for the Year Ended"
68. @2,2 say replicate("-",75)
69. @3,7 say "Particulars"
70. @3,45 say "Particulars"
71. @4,2 say repl("-",75)
72. if grloss = 0
73. @5,40 say "By Gross Profit B/D"
74. @5,68 say grpro
75. else
76. @5,2 say "To Gross Loss b/d"
77. @5,30 say grloss
78. endif
79. store 0 to sal, osal, tsal, rent, adv, pcr, pdb
80. @6,2 say "To Salaries"
81. @6,20 get sal
82. @7,3 say "(+)Out.Salary"
83. @7,20 get osal
84. read
85. tsal = sal + osal
86. @7,30 say tsal
87. @8,2 say "To Rent"
88. @8,30 get rent
89. @9,2 say "To Advertise"
90. @9,30 get adv
91. read
92. pdb = adv + rent + tsal + grloss
93. store 0 to dis, odb, ndb, debts, netpro, pamt, netloss
94. @6,40 say "By Disc. Receiv"
95. @6,68 get dis
96. @7,40 say "By Old debts"
97. @7,58 get odb
98. @8,40 say "(-) New debts"
99. @8,58 get ndb
100. read
101. debts = odb - ndb
102. @8,68 say debts
103.
104. pcr = debts + dis + grpro
105. netpro = pcr - pdb
106. if netpro > 0
107. pamt = pcr
108. @10,2 say "To Net profit"
109. @10,30 say netpro
110. else
111. netloss = pdb - pcr
112. pamt = pdb
113. @10,42 say "To Net Loss:"
114. @10,68 say netloss
115. endif
116. @11,2 say repl("-",75)
117. @12,30 say pamt
118. @12,68 say pamt
119. @13,2 say repl("-",75)
120. wait window
121. clear
122.
123. **Balance Sheet**
124. store 0 to ass, land, cashb, cashh, rsrv, cap, aint
125. @2,25 say "Balance sheet for the year Ended"
126. @3,2 say repl("-",75)
127. @4,3 say "Liablities Amount"
128. @4,48 say "Assets Amount"
129. @5,2 say repl("-",75)
130. @6,2 say "Capital"
131. @6,20 get cap
132. @7,2 say "Add. Int"
133. @7,20 get aint
134. read
135. if netpro > 0
136. @8,2 say "(+)Net pro"
137. @8,20 say netpro
138. cap = cap + aint + netpro
139. else
140. @8,2 say "(-)Net Loss:"
141. @8,20 say netloss
142. cap = cap + aint - netloss
143. endif
144. @8,30 say cap
145.
146. @9,2 say "Reserve Fund"
147. @9,30 get rsrv
148. read
149. liab = rsrv + cap
150. @6,48 say "Cash in Hand:"
151. @6,68 get cashh
152. @7,48 say "Cash at Bank:"
153. @7,68 get cashb
154. @8,48 say "Land:"
155. @8,68 get land
156. ass = land + cashb + cashh
157. @10,2 say repl("-",75)
158. @11,30 say liab
159. @11,68 say ass
160. @12,2 say repl("-",75)
161. wait window
162. return

You might also like