Foxpro for MS-DOS - Basic FoxPro 2.6 Commandsdocshare01.docshare.tips/files/20766/207667232.pdf ·...

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

Transcript of Foxpro for MS-DOS - Basic FoxPro 2.6 Commandsdocshare01.docshare.tips/files/20766/207667232.pdf ·...

  • 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

    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

    create

    Ex:

    crea book

    http://www.livetolearn.in/site/programming/foxprohttp://www.livetolearn.in/site/programming/foxprohttp://www.livetolearn.in/site/programming/foxpro

  • 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 ]

    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

    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

    http://www.livetolearn.in/site/programming/foxpro

  • 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 ,

    - 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

    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

    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

    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 [] TO

    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 [] TO

    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: -

    @SAY

    [Function]

    [Picture]

    [size

  • 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 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

  • 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 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

    Else

    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 =

    Statement -1

    Case =

    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 = TO STEP

    ................

    ................

    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

    http://www.livetolearn.in/site/content/foxpro-programming

  • 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