Wednesday, July 6, 2011

Blue Java


The Blue J Tutorial
Version 2.0.1
                         for Blue J Version 2.0.x

Table of contents

1 Foreword 
1.1 About BlueJ...........................................................
Scope and audience ....................................................
1.3 Copyright, licensing and redistribution ....................
1.4 Feedback ..............................................................
2 Installation
2.1 Installation on Windows.........................................
2.2 Installation on Macintosh .......................................
2.3 Installation on Linux/Unix and other systems ..........
4 Installation problems..................................................
3 Getting started – edit / compile / execute
3.1 Starting BlueJ .........................................................
3.2 Opening a project ..................................................
3.3 Creating objects.....................................................
3.4 Execution................................................................
3.5 Editing a class..........................................................
3.6 Compilation.............................................................
3.7 Help with compiler errors.........................................
4 Doing a bit more
4.1 Inspection .................................................................
4.2 Passing objects as parameters....................................
5 Creating a new project 
5.1 Creating the project directory ....................................
5.2 Creating classes..........................................................
5.3 Creating dependencies ..............................................
5.4 Removing elements ....................................................
6 Using the code pad 
6.1 Showing the code pad.................................................
6.2 Simple expression evaluation......................................
6.3 Receiving objects ......................................................
6.4 Inspecting objects .......................................................
6.5 Executing statements ...................................................
6.6 Multi-line statements and sequences of statements .......
6.7 Working with variables ..............................................
6.8 Command history.......................................................
7 Debugging 
7.1 Setting breakpoints ....................................................
7.2 Stepping through the code .........................................
7.3 Inspecting variables ...................................................
7.4 Halt and terminate......................................................
8 Creating stand-alone applications
9 Creating applets
9.1 Running an applet.......................................................
9.2 Creating an applet......................................................
9.3 Testing the applet .......................................................
10 Other Operations 
10.1 Opening non-BlueJ packages in BlueJ .........................
10.2 Adding existing classes to your project........................
10.3 Calling main and other static methods .........................
10.4 Generating documentation..........................................
10.5 Working with libraries ..............................................
10.6 Creating objects from library classes ...........................
11 Just the summaries 

1 Foreword
1.1 About BlueJ
This tutorial is an introduction to using the BlueJ programming environment. BlueJ is
a Java™ development environment specifically designed for teaching at an
introductory level. It was designed and implemented by the BlueJ team at Deakin
University, Melbourne, Australia, and the University of Kent at Canterbury, UK.
More information about BlueJ is available at http://www.bluej.org.
1.2 Scope and audience
This tutorial is aimed at people wanting to familiarize themselves with the capabilities
of the environment. It does not explain design decisions underlying the construction
of the environment or the research issues behind it.
This tutorial is not intended to teach Java. Beginners of Java programming are
advised to also study an introductory Java textbook or follow a Java course.
This is not a comprehensive environment reference manual. Many details are left out
– emphasis is on a brief and concise introduction rather than on complete coverage of
features. For a more detailed reference, see The BlueJ Environment Reference
Manual, available from the BlueJ web site (www.bluej.org).
Every section starts with a one-line summary sentence. This allows users already
familiar with parts of the system to decide whether they want to read or skip each
particular section. Section 11 repeats just the summary lines as a quick reference.
1.3 Copyright, licensing and redistribution
The BlueJ system and this tutorial are available 'as is', free of charge to anyone for use
and non-commercial re-distribution. Disassembly of the system is prohibited.
No part of the BlueJ system or its documentation may be sold for profit or included in
a package that is sold for profit without written authorisation of the authors.
The copyright © for BlueJ is held by M. Kölling and J. Rosenberg.
Foreword

1.4 Feedback
Comments, questions, corrections, criticisms and any other kind of feedback
concerning the BlueJ system or this tutorial are very welcome and actively
encouraged. Please mail to Michael Kölling (mik@mip.sdu.dk).

2 Installation
BlueJ is distributed in three different formats: one for Windows systems, one for
MacOS, and one for all other systems. Installing it is quite straightforward.
Prerequisites
You must have J2SE v1.4 (a.k.a. JDK 1.4) or later installed on your system to use
BlueJ. Generally, updating to the latest stable (non-beta) Java release is
recommended. If you do not have JDK installed you can download it from Sun’s web
site at http://java.sun.com/j2se /. On MacOS X, a recent J2SE version is preinstalled -
you do not need to install it yourself. If you find a download page that offers “JRE”
(Java Runtime Environment) and “SDK” (Software Development Kit), you must
download “SDK” – the JRE is not sufficient.
2.1 Installation on Windows
The distribution file for Windows systems is called bluejsetup-xxx.exe, where xxx is a
version number. For example, the BlueJ version 2.0.0 distribution is named
bluejsetup-200.exe. You might get this file on disk, or you can download it from the
BlueJ web site at http://www.bluej.org. Execute this installer.
The installer lets you select a directory to install to. It will also offer the option of
installing a shortcut in the start menu and on the desktop.
After installation is finished, you will find the program bluej.exe in BlueJ’s
installation directory.
The first time you launch BlueJ, it will search for a Java system (JDK). If it finds
more than one suitable Java system (e.g. you have JDK 1.4.2 and JDK 1.5.0
installed), a dialog will let you select which one to use. If it does not find one, you
will be asked to locate it yourself (this can happen when a JDK system has been
installed, but the corresponding registry entries have been removed).
The BlueJ installer also installs a program called vmselect.exe. Using this program,
you can later change which Java version BlueJ uses. Execute vmselect to start BlueJ
with a different Java version.
The choice of JDK is stored for each BlueJ version. If you have different versions of
BlueJ installed, you can use one version of BlueJ with JDK 1.4.2 and another BlueJ
version with JDK 1.5. Changing the Java version for BlueJ will make this change for
all BlueJ installations of the same version for the same user.
Installation

2.2 Installation on Macintosh
Please note that BlueJ runs only on MacOS X.
The distribution file for MacOS is called BlueJ-xxx.zip, where xxx is a version
number. For example, the BlueJ version 2.0.0 distribution is named BlueJ-200.zip.
You might get this file on disk, or you can download it from the BlueJ web site at
http://www.bluej.org.
MacOS will usually uncompress this file automatically after download. If not, doubleclick
it to uncompress.
After uncompressing, you will have a folder named BlueJ-xxx. Move this folder into
your Applications folder (or where-ever you would like to keep it). No further
installation is necessary.
2.3 Installation on Linux/Unix and other systems
The general distribution file for is an executable jar file. It is called bluej-xxx.jar,
where xxx is a version number. For example, the BlueJ version 2.0.0 distribution is
named bluej-200.jar. You might get this file on disk, or you can download it from the
BlueJ web site at http://www.bluej.org.
Run the installer by executing the following command. NOTE: For this example, I
use the distribution file bluej-200.jar – you need to use the file name of the file
you’ve got (with the correct version number).
<j2se-path>/bin/java -jar bluej-200.jar
<j2se-path> is the directory, where J2SE SDK was installed.
A window pops up, letting you choose the BlueJ installation directory and the Java
version to be used to run BlueJ.
Click Install. After finishing, BlueJ should be installed.
2.4 Installation problems
If you have any problems, check the Frequently Asked Questions (FAQ) on the BlueJ
web site (http://www.bluej.org/help/faq.html) and read the How To Ask For Help
section (http://www.bluej.org/help/ask-help.html).

3 Getting started – edit / compile / execute
3.1 Starting BlueJ
On Windows and MacOS, a program named BlueJ is installed. Run it.
On Unix systems the installer installs a script named bluej in the installation directory.
From a GUI interface, just double-click the file. From a command line you can start
BlueJ with or without a project as an argument:
$ bluej
or
$ bluej examples/people
Figure 1: The BlueJ main window
Getting started – edit / compile / execute

3.2 Opening a project
Summary: To open a project, select Open from the Project menu.
BlueJ projects, like standard Java packages, are directories containing the files
included in the project.
After starting BlueJ, use the Project – Open... menu command to select and open a
project.
Some example projects are included with the standard BlueJ distribution in the
examples directory.
For this tutorial section, open the project people, which is included in this directory.
You can find the examples directory in the BlueJ home directory. After opening the
project you should see something similar to the window shown in Figure 1. The
window might not look exactly the same on your system, but the differences should
be minor.
3.3 Creating objects
Summary: To create an object, select a constructor from the class popup menu.
One of the fundamental characteristics of BlueJ is that you cannot only execute a
complete application, but you can also directly interact with single objects of any
class and execute their public methods. An execution in BlueJ is usually done by
creating an object and then invoking one of the object’s methods. This is very helpful
during development of an application – you can test classes individually as soon as
they have been written. There is no need to write the complete application first.
Side note: Static methods can be executed directly without creating an object first. One
of the static methods may be “main”, so we can do the same thing that normally
happens in Java applications – starting an application by just executing a static main
method. We’ll come back to that later. First, we’ll do some other, more interesting
things which cannot normally be done in Java environments.
The squares you see in the centre part of the main window (labelled Database,
Person, Staff and Student) are icons representing the classes involved in this
application. You can get a menu with operations applicable to a class by clicking on
the class icon with the right mouse button (Macintosh: ctrl-click1) (Figure 2). The
operations shown are new operations with each of the constructors defined for this
class (first) followed by some operations provided by the environment.
1 Whenever we mention a right-click in this tutorial, Macintosh users should read this as ctrl-click.
Getting started – edit / compile / execute
We want to create a Staff object, so you should right-click the Staff icon (which pops
up the menu shown in Figure 2). The menu shows two constructors to create a Staff
object, one with parameters and one without. First, select the constructor without
parameters. The dialogue shown in Figure 3 appears.
 Object creation without parameters
This dialogue asks you for a name for the object to be created. At the same time, a
default name (staff1) is suggested. This default name is good enough for now, so just
click OK. A Staff object will be created.
Getting started – edit / compile / execute

Once the object has been created it is placed on the object bench (Figure 4). This is all
there is to object creation: select a constructor from the class menu, execute it and
you’ve got the object on the object bench.
 An object on the object bench
You might have noticed that the class Person is labelled <<abstract>> (it is an
abstract class). You will notice (if you try) that you cannot create objects of abstract
classes (as the Java language specification defines).
3.4 Execution
Summary: To execute a method, select it from the object popup menu.
Now that you have created an object, you can execute its public operations. (Java
calls the operations methods.) Click with the right mouse button on the object and a
menu with object operations will pop up (Figure 5). The menu shows the methods
available for this object and two special operations provided by the environment
(Inspect and Remove). We will discuss those later. First, let us concentrate on the
methods.
 The object menu
You see that there are methods setRoom and getRoom which set and return the room
number for this staff member. Try calling getRoom. Simply select it from the object’s
menu and it will be executed. A dialogue appears showing you the result of the call
Getting started – edit / compile / execute
 In this case the name says “(unknown room)” because we did not specify a
room for this person.
 Display of a function result
Methods inherited from a superclass are available through a submenu. At the top of
the object’s popup menu there are two submenus, one for the methods inherited from
Object and one for those from Person (Figure 5). You can call Person methods (such
as getName) by selecting them from the submenu. Try it. You will notice that the
answer is equally vague: it answers “(unknown name)”, because we have not given
our person a name.
Now let us try to specify a room number. This will show how to make a call that has
parameters. (The calls to getRoom and getName had return values, but no parameters).
Call the function setRoom by selecting it from the menu. A dialogue appears
prompting you to enter a parameter
 Function call dialogue with parameters
At the top, this dialogue shows the interface of the method to be called (including
comment and signature). Below that is a text entry field where you can enter the
parameter. The signature at the top tells us that one parameter of type String is
expected. Enter the new room as a string (including the quotes) in the text field and
click OK.
This is all – since this method does not return a parameter there is no result dialogue.
Call getRoom again to check that the room really has changed.
Getting started – edit / compile / execute

Play around with object creation and calling of methods for a while. Try calling a
constructor with arguments and call some more methods until you are familiar with
these operations.
3.5 Editing a class
Summary: To edit the source of a class, double-click its class icon.
So far, we have dealt only with an object’s interface. Now it’s time to look inside.
You can see the implementation of a class by selecting Open Editor from the class
operations. (Reminder: right-clicking the class icon shows the class operations.)
Double-clicking the class icon is a shortcut to the same function. The editor is not
described in much detail in this tutorial, but it should be very straightforward to use.
Details of the editor will be described separately later. For now, open the
implementation of the Staff class. Find the implementation of the getRoom method. It
returns, as the name suggests, the room number of the staff member. Let us change
the method by adding the prefix “room” to the function result (so that the method
returns, say, “room M.3.18” instead of just “M.3.18”). We can do this by changing the
line
return room;
to
return "room " + room;
BlueJ supports full, unmodified Java, so there is nothing special about how you
implement your classes.
3.6 Compilation
Summary: To compile a class, click the Compile button in the editor. To compile a
project, click the Compile button in the project window.
After inserting the text (before you do anything else), check the project overview (the
main window). You will notice that the class icon for the Staff class has changed: it is
striped now. The striped appearance marks classes that have not been compiled since
the last change. Back to the editor.
Side note: You may be wondering why the class icons were not striped when you first
opened this project. This is because the classes in the people project were distributed
already compiled. Often BlueJ projects are distributed uncompiled, so expect to see
most class icons striped when you first open a project from now on.
In the toolbar at the top of the editor are some buttons with frequently used functions.
One of them is Compile. This function lets you compile this class directly from within
the editor. Click the Compile button now. If you made no mistake, a message should
Getting started – edit / compile / execute

appear in the information area at the bottom of the editor notifying you that the class
has been compiled. If you made a mistake that leads to a syntax error, the line of the
error is highlighted and an error message is displayed in the information area. (In case
your compilation worked first time, try to introduce a syntax error now – such as a
missing semicolon – and compile again, just to see what it looks like).
After you have successfully compiled the class, close the editor.
Side note: There is no need to explicitly save the class source. Sources get
automatically saved whenever it is appropriate (e.g. when the editor is closed or before
a class is compiled). You can explicitly save if you like (there is a function in the editor's
Class menu), but it is really only needed if your system is really unstable and crashes
frequently and you are worried about losing your work.
The toolbar of the project window also has a Compile button. This compile operation
compiles the whole project. (In fact, it determines which classes need recompilation
and then recompiles those classes in the right order.) Try this out by changing two or
more classes (so that two or more classes appear striped in the class diagram) and then
click the Compile button. If an error is detected in one of the compiled classes, the
editor will be opened and the error location and message are displayed.
You may notice that the object bench is empty again. Objects are removed every time
the implementation is changed.
3.7 Help with compiler errors
Summary: To get help for a compiler error message, click the question mark next to
the error message.
Very frequently, beginning students have difficulty understanding the compiler error
messages. We try to provide some help.
Open the editor again, introduce an error in the source file, and compile. An error
message should be displayed in the editor’s information area. On the right end of the
information area a question mark appears that you can click to get some more
information about this type of error (Figure 8).
 A compiler error and the Help button
Getting started – edit / compile / execute

At this stage, help texts are not available for all error messages. Some help text have
yet to be written. But it is worth trying – many errors are already explained. The
remaining ones will be written and included in a future BlueJ release.
Copyright © M. Kölling 16
4 Doing a bit more...
In this section, we will go through a few more things you can do in the environment.
Things which are not essential, but very commonly used.
4.1 Inspection
Summary: Object inspection allows some simple debugging by showing an object’s
internal state.
When you executed methods of an object, you might have noticed the Inspect
operation which is available on objects in addition to user defined methods (Figure 5).
This operation allows checking of the state of the instance variables (“fields”) of
objects. Try creating an object with some user defined values (e.g. a Staff object with
the constructor that takes parameters). Then select the Inspect from the object menu.
A dialogue appears displaying the object fields, their types and their values (Figure 9).
Figure 9: Inspection dialogue
Inspection is useful to quickly check whether a mutator operation (an operation that
changes the state of the object) was executed correctly. Thus, inspection is a simple
debugging tool.
In the Staff example, all fields are simple types (either non-object types or strings).
The value of these types can be shown directly. You can immediately see whether the
constructor has done the right assignments.
In more complex cases, the values of fields might be references to user-defined
objects. To look at such an example we will use another project. Open the project
people2, which is also included in the standard BlueJ distribution. The people2
desktop is shown in Figure 10. As you can see, this second example has an Address
Doing a bit more...

class in addition to the classes seen previously. One of the fields in class Person is of
the user-defined type Address.
 The people2 project window
For the next thing that we want to try out – inspection with object fields – create a
Staff object and then call the setAddress method of this object (you’ll find it in the
Person submenu). Enter an address. Internally, the Staff code creates an object of
class Address and stores it in its address field.
Now, inspect the Staff object. The resulting inspection dialogue .
The fields within the Staff object now include address. As you can see, its value is
shown as an arrow, which signifies a reference to another object. Since this is a
complex, user-defined object, its value cannot be shown directly in this list. To
examine the address further, select the address field in the list and click the Inspect
button in the dialogue. (You can also double-click the address field.) Another
inspection window is opened in turn, showing the details of the Address object.
Doing a bit more...

 Inspection with object reference
 Inspection of internal object
If the selected field is public then, instead of clicking Inspect, you could also select
the address field and click the Get button. This operation places the selected object on
the object bench. There you can examine it further by making calls to its methods.
4.2 Passing objects as parameters
Summary: An object can be passed as a parameter to a method call by clicking on the
object icon.
Objects can be passed as parameters to methods of other objects. Let us try an
example. Create an object of class Database. (You will notice that the Database class
Doing a bit more...
Has only one constructor which takes no parameters, so construction of an object is
straight forward.) The Database object has the ability to hold a list of persons. It has
operations to add person objects and to display all persons currently stored. (Calling it
Database is actually a bit of an exaggeration!)
If you don’t already have a Staff or Student object on the object bench, create one of
those as well. For the following, you need a Database object and a Staff or Student
object on the object bench at the same time.
Now call the addPerson method of the Database object. The signature tells you that a
parameter of type Person is expected. (Remember: the class Person is abstract, so
there are no objects which are directly of type Person. But, because of subtyping,
Student and Staff objects can be substituted for person objects. So it is legal to pass in
a Student or Staff where a Person is expected.) To pass the object which you have on
your object bench as a parameter to the call you are making, you could enter its name
into the parameter field or, as a shortcut, just click on the object. This enters its name
into the method call dialogue. Click OK and the call is made. Since there is no return
value for this method, we do not immediately see a result. You can call the listAll
method on the Database object to check that the operation really was performed. The
listAll operation writes the person information to standard output. You will notice that
a text terminal opens automatically to display the text.
Try this again with more than one person entered into the “database”.

5 Creating a new project
This chapter takes you to a quick tour of setting up a new project.
5.1 Creating the project directory
Summary: To create a project, select New... from the Project menu.
To create a new project, select Project – New... from the menu. A file selection dialogue
opens that lets you specify a name and location for the new project. Try that now.
You can choose any name for your project. After you click OK, a directory will be
created with the name you specified, and the main window shows the new, empty
project.
5.2 Creating classes
Summary: To create a class, click the New Class button and specify the class name.
You can now create your classes by clicking the New Class button on the project tool
bar. You will be asked to supply a name for the class - this name has to be a valid
Java identifier.
You can also choose from four types of classes: abstract, interface, applet or
“standard”. This choice determines what code skeleton gets initially created for your
class. You can change the type of class later by editing the source code (for example,
by adding the “abstract” keyword in the code).
After creating a class, it is represented by an icon in the diagram. If it is not a standard
class, the type (interface, abstract, or applet) is indicated in the class icon. When you
open the editor for a new class you will notice that a default class skeleton has been
created - this should make it easy to get started. The default code is syntactically
correct. It can be compiled (but it doesn’t do much). Try creating a few classes and
compile them.
Creating a new project
5.3 Creating dependencies
Summary: To create an arrow, click the arrow button and drag the arrow in the
diagram, or just write the source code in the editor.
The class diagram shows dependencies between classes in the form of arrows.
Inheritance relations (“extends” or “implements”) are shown as arrows with a hollow
arrow head; “uses” relations are shown as dashed arrows with an open head.
You can add dependencies either graphically (directly in the diagram) or textually in
the source code. If you add an arrow graphically, the source is automatically updated;
if you add the dependency in the source, the diagram is updated.
To add an arrow graphically, click the appropriate arrow button (hollow arrow for
“extends” or “implements”, dashed arrow for “uses”) and drag the arrow from one
class to the other.
Adding an inheritance arrow inserts the “extends” or “implements” definition into the
class’s source code (depending on whether the target is a class or an interface).
Adding a “uses” arrow does not immediately change the source (unless the target is a
class from another package. In that case it generates an “import” statement, but we
have not seen that yet in our examples). Having a uses arrow in the diagram pointing
to a class that is not actually used in its source will generate a warning later stating
that a “uses” relationship to a class was declared but the class is never used.
Adding the arrows textually is easy: just type the code as you normally would. As
soon as the class is saved, the diagram is updated. (And remember: closing the editor
automatically saves.)
5.4 Removing elements
Summary: To remove a class or an arrow, select the remove function from its popup
menu.
To remove a class from the diagram, select the class and then select Remove from the
Edit menu. You can also select Remove from the class’s popup menu. Both options
work for arrows as well: You can either first select the arrow and then select Remove
from the menu, or you can use the arrow's popup menu.

6 Using the code pad
The BlueJ code pad allows quick and easy evaluation of arbitrary snippets of Java
code (expressions and statements). Thus, the code pad can be used to investigate
details of Java semantics and to illustrate and experiment with Java syntax.
6.1 Showing the code pad
Summary: To start using the code pad, select Show Code Pad from the View menu.
The code pad is not shown by default. To show it, use the Show Code Pad item from
the View menu. The main window will now include the code pad interface at the
lower right, next to the object bench (Figure 13). Both the horizontal and vertical
boundaries of the code pad and object bench can be adjusted to change their sizes.
The code pad area can now be used to enter expressions or statements. On pressing
Enter, each line will be evaluated and a result may be displayed.Figure 13: The main window with code pad shown
Using the code pad
6.2 Simple expression evaluation
Summary: To evaluate Java expressions, just type them into the code pad.
The code pad can be used to evaluate simple expressions. Try entering, for example:
4 + 45
"hello".length()
Math.max(33, 4)
(int) 33.7
javax.swing.JOptionPane.showInputDialog(null, "Name:")
Expressions can refer to standard Java values and objects, as well as classes from the
current project. The code pad will display the result value, followed by its type (in
parenthesis), or an error message if the expression is incorrect.
You can also use the objects you have on the object bench. Try the following: place
an object of class student onto the object bench (using the class popup menu as
described earlier). Name it student1.
In the code pad, you can now type
student1.getName()
Similarly, you can refer to all available methods from your project classes.
6.3 Receiving objects
Summary: To transfer objects from the code pad to the object bench, drag the small
object icon.
Some expression results are objects, rather than simple values. In this case, the result
is shown as <object reference>, followed by the type of the object, and a small object
icon is painted next to the result line (Figure 14).
 An object as a result of a code pad expression
If the result is a string, the string value will be displayed as the result, but you will
also see the small object icon (since strings are objects).
Some expressions you could try to create objects are
Using the code pad

new Student()
"marmelade".substring(3,8)
new java.util.Random()
"hello" + "world"
The small object icon can now be used to continue working with the resulting object.
You can point to the icon and drag it onto the object bench (Figure 15). This will
place the object onto the bench, where it will be available for further calls to its
methods, either via its popup menu or via the code pad.
Figure 15: Dragging the object to the object bench
6.4 Inspecting objects
Summary: To inspect result objects in the code pad, double-click the small object
icon.
If you want to inspect an object that was returned as a result from a code pad
expression, you can do this without placing it onto the object bench: you can just
double-click the object's icon to open the usual object inspector.
6.5 Executing statements
Summary: Statements that are typed into the code pad are executed.
You can also use the code pad to execute statements (that is: Java instructions that do
not return a value). Try these, for example:
System.out.println("Gurkensalat");
System.out.println(new java.util.Random().nextInt(10));
Statements are correctly evaluated and executed with or without semicolons at the
end.
Using the code pad

6.6 Multi-line statements and sequences of statements
Summary: Use shift-Enter at the end of a line to enter multi-line statements.
You can enter sequences of statements or statements spanning multiple lines by using
shift-Enter at the end of the input line. Using shift-enter will move the cursor to the
start of the next line, but not (yet) execute the input. At the end of the last input line
type Enter to evaluate all lines together. Try, for example, a for loop:
for (int i=0; i<5; i++) {
System.out.println("number: " + i);
}
6.7 Working with variables
Summary: Local variables can be used in single, multi-line statements. The names of
objects on the object bench serve as instance fields.
Variables – instance fields and local variables – can be used in the code pad in
restricted ways.
You can declare local variables in the code pad, but this is only useful as part of
multi-line statement sequences, since variables are discarded between separate inputs.
For example: You can enter the following block as a single, multi-line input, and it
will work as expected:
int sum;
sum = 0;
for (int i=0; i<100; i++) {
sum += i;
}
System.out.println("The sum is: " + sum);
Entering the same sequence as separate input statements, however, will fail, since the
local variable sum is not remembered between inputs.
You can think of the input you type as the text within a method body. All code that is
legal to write in the body of a Java method is also legal in the code pad. However,
every text input you type forms the part of a different method, so you cannot refer
from one input line to a variable declared in another.
You can think of objects on the object bench as instance fields. You cannot define any
new instance fields from within a method body (or from within the code pad), but you
can refer to the instance fields and make calls to the objects held in them.
You can create a new instance field by dragging an object from the code pad to the
object bench.
Using the code pad

6.8 Command history
Summary: Use up-arrow and down-arrow keys to make use of the input history.
The code pad keeps a history of your previously used inputs. Using the up or down
arrow keys, you can easily recall previous input lines, which can be edited before
being reused.

7 Debugging
This section introduces the most important aspects of the debugging functionality in
BlueJ. In talking to computing teachers, we have very often heard the comment that
using a debugger in first year teaching would be nice, but there is just no time to
introduce it. Students struggle with the editor, compiler and execution; there is no
time left to introduce another complicated tool.
That’s why we have decided to make the debugger as simple as possible. The goal is
to have a debugger that you can explain in 15 minutes, and that students can just use
from then on without further instruction. Let’s see whether we have succeeded.
First of all, we have reduced the functionality of traditional debuggers to three tasks:
• setting breakpoints
• stepping through the code
• inspecting variables
In return, each of the three tasks is very simple. We will now try out each one of
them.
To get started, open the project debugdemo, which is included in the examples
directory in the distribution. This project contains a few classes for the sole purpose of
demonstrating the debugger functionality – they don’t make a lot of sense otherwise.
7.1 Setting breakpoints
Summary: To set a breakpoint, click in the breakpoint area to the left of the text in the
editor.
Setting a breakpoint lets you interrupt the execution at a certain point in the code.
When the execution is interrupted, you can investigate the state of your objects. It
often helps you to understand what is happening in your code.
In the editor, to the left of the text, is the breakpoint area (Figure 16). You can set a
breakpoint by clicking into it. A small stop sign appears to mark the breakpoint. Try
this now. Open the class Demo, find the method loop, and set a breakpoint somewhere
in the for loop. The stop sign should appear in your editor.
Debugging

 A breakpoint
When the line of code is reached that has the breakpoint attached, execution will be
interrupted. Let’s try that now.
Create an object of class Demo and call the loop method with a parameter of, say, 10.
As soon as the breakpoint is reached, the editor window pops up, showing the current
line of code, and a debugger window pops up. It looks something .
 The debugger window
The highlight in the editor shows the line that will be executed next. (The execution is
stopped before this line was executed.)
Debugging

7.2 Stepping through the code
Summary: To single-step through your code, use the Step and Step Into buttons in the
debugger.
Now that we have stopped the execution (which convinces us that the method really
does get executed and this point in the code really does get reached), we can singlestep
through the code and see how the execution progresses. To do this, repeatedly
click on the Step button in the debugger window. You should see the source line in
the editor changing (the highlight moves with the line being executed). Every time
you click the Step button, one single line of code gets executed and the execution
stops again. Note also that the values of the variables displayed in the debugger
window change (for example the value of sum.) So you can execute step by step and
observe what happens. Once you get tired of this, you can click on the breakpoint
again to remove it, and then click the Continue button in the debugger to restart the
execution and continue normally.
Let’s try that again with another method. Set a breakpoint in class Demo, method
carTest(), in the line reading
places = myCar.seats();
Call the method. When the breakpoint is hit, you are just about to execute a line that
contains a method call to the method seats() in class Car. Clicking Step would step
over the whole line. Let’s try Step Into this time. If you step into a method call, then
you enter the method and execute that method itself line by line (not as a single step).
In this case, you are taken into the seats() method in class Car. You can now happily
step through this method until you reach the end and return to the calling method.
Note how the debugger display changes.
Step and Step Into behave identically if the current line does not contain a method
call.
7.3 Inspecting variables
Summary: Inspecting variables is easy – they are automatically displayed in the
debugger.
When you debug your code, it is important to be able to inspect the state of your
objects (local variables and instance variables).
Doing it is trivial – most of it you have seen already. You do not need special
commands to inspect variables; static variables, instance variables of the current
object and local variables of the current method are always automatically displayed
and updated.
You can select methods in the call sequence to view variables of other currently
active objects and methods. Try, for example, a breakpoint in the carTest() method
Debugging

again. On the left side of the debugger window, you see the call sequence. It currently
shows
Car.seats
Demo.carTest
This indicates that Car.seats was called by Demo.carTest. You can select
Demo.carTest in this list to inspect the source and the current variable values in this
method.
If you step past the line that contains the new Car(...) instruction, you can observe
that the value of the local variable myCar is shown as <object reference>. All values
of object types (except for Strings) are shown in this way. You can inspect this
variable by double-clicking on it. Doing so will open an object inspection window
identical to those described earlier (section 4.1). There is no real difference between
inspecting objects here and inspecting objects on the object bench.
7.4 Halt and terminate
Summary: Halt and Terminate can be used to halt an execution temporarily or
permanently.
Sometimes a program is running for a long time, and you wonder whether everything
is okay. Maybe there is an infinite loop, maybe is just takes this long. Well, we can
check. Call the method longloop() from the Demo class. This one runs a while.
Now we want to know what’s going on. Show the debugger window, if it is not
already on screen.
Now click the Halt button. The execution is interrupted just as if we had hit a
breakpoint. You can now step a couple of steps, observe the variables, and see that
this is all okay – it just needs a bit more time to complete. You can just Continue and
Halt several times to see how fast it is counting. If you don’t want to go on (for
example, you have discovered that you really are in an infinite loop) you can just hit
Terminate to terminate the whole execution. Terminate should not be used too
frequently – you can leave perfectly well written objects in an inconsistent state by
terminating the machine, so it is advisable to use it only as an emergency mechanism.

8 Creating stand-alone applications
Summary: To create a stand-alone application, use Project - Create Jar File...
BlueJ can create executable jar files. Executable jar files can be executed on some
systems by double-clicking the file (for example on Windows and MacOS X), or by
issuing the command java -jar <file-name>.jar (Unix or DOS prompt).
We will try this with the example project hello. Open it (it is in the examples
directory). Make sure that the project is compiled. Select the Create Jar File...
function from the Project menu.
A dialogue opens that lets you specify the main class (Figure 18). This class must
have a valid main method defined (with the signature public static void
main(String[] args)).
Figure 18: The "Create Jar File" dialogue
In our example, choosing the main class is easy: there is only one class. Select Hello
from the popup menu. If you have other projects, select the class that holds the "main"
method you want to execute.
Usually, you would not include sources in executable files. But you can, if you want
to distribute your sources as well. (You can use the jar format to send your whole
project to someone else via email in a single file, for example.)
If you have configured BlueJ to use user libraries (either via the Preferences/Libraries
setting, or using the lib/userlib directory) you will see an area titled Include user
libraries in the middle of the dialogue. (If you are not using any libraries, this area
will be absent.) You should check every library that your current project uses.
Creating stand-alone applications

Click Continue. Next, you see a file chooser dialogue that lets you specify a name for
the jar file to create. Type hello and click Create.
If you do not have libraries to be included, a file hello.jar will now be created. If you
have libraries, a directory named hello will be created, and within it the jar file
hello.jar. The directory also contains all necessary libraries. Your jar file expects to
find referenced libraries in the same directory it is in itself – so make sure to keep
these jar files together when you move them around.
You can double-click the jar file only if the application uses a GUI interface. Our
example uses text I/O, so we have to start it from a text terminal. Let's try to run the
jar file now.
Open a terminal or DOS window. Then go to the directory where you saved your jar
file (you should see a file hello.jar). Assuming Java is installed correctly on your
system, you should then be able to type
java -jar hello.jar
to execute the file.
9 Creating applets
9.1 Running an applet
Summary: To run an applet, select Run Applet from the applet’s popup menu.
BlueJ allows creating and executing applets as well as applications. We have included
an applet in the examples directory in the distribution. First, we want to try executing
an applet. Open the appletdemo project from the examples.
You will see that this project has only one class; it is named CaseConverter. The class
icon is marked (with the tag <<applet>>) as an applet. After compiling, select the Run
Applet command from the class’s popup menu.
A dialogue pops up that lets you make some selections (Figure 19).
Figure 19: The "Run Applet" dialogue
You see that you have a choice of running the applet in a browser or in an applet
viewer (or just to generate the web page without running it). Leave the default settings
and click OK. After a few seconds, an applet viewer should pop up displaying the
case converter applet.
The applet viewer is installed together with your J2SE SDK (your Java installation),
so it is always guaranteed to be of the same version as your Java compiler. It
Creating applets

generally causes fewer problems than browsers do. Your web browser may run a
different version of Java and, depending on which version of which browser you use,
may cause problems. With most current browsers it should work fine, though.
On Microsoft Windows and MacOS systems, BlueJ uses your default browser. On
Unix systems, the browser is defined in the BlueJ settings.
9.2 Creating an applet
Summary: To create an applet, click the New Class button and select Applet as the
class type.
After having seen how to run an applet, we want to create our own.
Create a new class with Applet as the class type (you can select the type in the New
Class dialogue). Compile, then run the applet. That’s it! That wasn’t too bad, was it?
Applets (like other classes) are generated with a default class skeleton that contains
some valid code. For applets, this code shows a simple applet with two lines of text.
You can now open the editor and edit the applet to insert your own code.
You will see that all the common applet methods are there, each with a comment
explaining its purpose. The sample code is all in the paint method.
9.3 Testing the applet
In some situations it can be useful to create an applet object on the object bench (as
for normal classes). You can do that – the constructor is shown in the applet’s popup
menu. From the object bench you cannot execute the full applet, but you can call
some methods. This may be useful to test single methods you may have written as
part of your applet implementation.
If you set breakpoints in an applet, they will have no effect when you run the applet in
an applet viewer or a web browser. This is because both the applet viewer and web
browsers use their own virtual machines to execute the applet, which do not
understand anything about BlueJ breakpoints.
If you want to use breakpoints and single-stepping in an applet, you can use the class
AppletWindow, written by Michael Trigoboff. The class provides a frame that lets you
run the applet directly within BlueJ, so normal debugging methods work. You can
find this class and a demo in the Resources section of the BlueJ web site.

10 Other operations
10.1 Opening non-BlueJ packages in BlueJ
Summary: Non-BlueJ packages can be opened with the Project: Open Non BlueJ...
command.
BlueJ lets you open existing packages that were created outside of BlueJ. To do this,
select Project – Open Non BlueJ... from the menu. Select the directory that contains the
Java source files, then click the Open in BlueJ button. The system will ask for
confirmation that you want to open this directory.
10.2 Adding existing classes to your project
Summary: Classes can be copied into a project from outside by using the Add Class
from File... command.
Often, you want to use a class that you got from somewhere else in your BlueJ
project. For example, a teacher may give a Java class to students to be used in a
project. You can easily incorporate an existing class into your project by selecting Edit
– Add Class from File... from the menu. This will let you select a Java source file (with a
name ending in .java) to be imported.
When the class is imported into the project, a copy is taken and stored in the current
project directory. The effect is exactly the same as if you had just created that class
and written all its source code.
An alternative is to add the source file of the new class to the project directory from
outside BlueJ. Next time you open that project, the class will be included in the
project diagram.
10.3 Calling main and other static methods
Summary: Static methods can be called from the class's popup menu.
Open the hello project from the examples directory. The only class in the project
(class Hello) defines a standard main method.
Other operations

Right-click on the class, and you will see that the class menu includes not only the
class’s constructor, but also the static main method. You can now call main directly
from this menu (without first creating an object).
All static methods can be called like this. The standard main method expects an array
of Strings as an argument. You can pass a String array using the standard Java syntax
for array constants. For example, you could pass
{"one", "two", "three"}
(including the braces) to the method. Try it out!
Side note: In standard Java, array constants cannot be used as actual arguments to
method calls. They can only be used as initialisers. In BlueJ, to enable interactive calls
of standard main methods, we allow passing of array constants as parameters.
10.4 Generating documentation
Summary: To generate documentation for a project, select Project Documentation
from the Tools menu.
You can generate documentation for your project in the standard javadoc format from
within BlueJ. To do this, select the Tools - Project Documentation from the menu. This
function will generate the documentation for all classes in a project from the classes’
source code and open a web browser to display it.
You can also generate and view the documentation for a single class directly in the
BlueJ editor. To do this, open the editor and use the popup menu in the editor’s
toolbar. Change the selection from Implementation to Interface. This will show the
javadoc style documentation (the class’s interface) in the editor.
10.5 Working with libraries
Summary: The Java standard class API can be viewed by selecting Help - Java Class
Libraries.
Frequently, when you write a Java program, you have to refer to the Java standard
libraries. You can open a web browser showing the JDK API documentation by
selecting Help - Java Standard Classes from the menu (if you are online).
The JDK documentation can also be installed and used locally (offline). Details are
explained in the help section on the BlueJ web site.
Other operations

10.6 Creating objects from library classes
Summary: To create objects from library classes, use Tools – Use Library Class.
BlueJ also offers a function to create objects from classes that are not part of your
project, but defined in a library. You can, for example, create objects of class String
or ArrayList. This can be very useful for quick experimentation with these library
objects.
You can create a library object by selecting Tools – Use Library Class… from the menu. A
dialog will pop up that prompts you to enter a fully qualifies class name, such as
java.lang.String. (Note that you must type the fully qualified name, that is the name
including the package names that contain the class.)
The text entry field has an associated popup menu showing recently used classes.
Once a class name has been entered, pressing Enter will display all constructors and
static methods of that class in a list in the dialog. Any of these constructors or static
methods can now be invoked by selecting them from this list.
The invocation proceeds as any other constructor or method call.

11 Just the summaries
Getting started
1. To open a project, select Open from the Project menu.
2. To create an object, select a constructor from the class popup menu.
3. To execute a method, select it from the object popup menu.
4. To edit the source of a class, double-click its class icon.
5. To compile a class, click the Compile button in the editor. To compile a project, click the
Compile button in the project window.
6. To get help for a compiler error message, click the question mark next to the error
message.
Doing a bit more...
7. Object inspection allows some simple debugging by checking an object’s internal state.
8. An object can be passed as a parameter to a method call by clicking on the object icon.
Creating a new project
9. To create a project, select New... from the Project menu.
10. To create a class, click the New Class button and specify the class name.
11. To create an arrow, click the arrow button and drag the arrow in the diagram, or just write
the source code in the editor.
12. To remove a class or an arrow, select the remove function from its popup.
Using the code pad
13. To start using the code pad, select Show Code Pad from the View menu.
14. To evaluate Java expressions, just type them into the code pad.
15. To transfer objects from the code pad to the object bench, drag the small object icon.
16. To inspect result objects in the code pad, double-click the small object icon.
17. Statements that are typed into the code pad are executed.
18. Use shift-Enter at the end of a line to enter multi-line statements.
19. Local variables can be used in single, multi-line statements. The names of objects on the
object bench serve as instance fields.
20. Use up-arrow and down-arrow keys to make use of the input history.
Debugging
21. To set a breakpoint, click in the breakpoint area to the left of the text in the editor.
22. To single-step through your code, use the Step and Step Into buttons in the debugger.
23. Inspecting variables is easy – they are automatically displayed in the debugger.
24. Halt and Terminate can be used to halt an execution temporarily or permanently.
Just the summaries

Creating stand-alone applications
25. To create a stand-alone application, use Project - Create Jar File...
Creating applets
26. To run an applet, select Run Applet from the applet’s popup menu.
27. To create an applet, click the New Class button and select Applet as the class type.
Other operations
28. Non-BlueJ packages can be opened with the Project: Open Non BlueJ… command.
29. Classes can be copied into a project from outside by using the Add Class from File...
command.
30. Static methods can be called from the class's popup menu.
31. To generate documentation for a project, select Project Documentation from the Tools
menu.
32. The Java standard class API can be viewed by selecting Help - Java Standard Libraries.
33. To create objects from library classes, use Tools – Use Library Class.

Monday, July 4, 2011

INTRODUCTION OF TALLY 7.2


       
Tally ies (integrated enterprise solution) 7.2 provides you with two specialized features:
Single User Licensing
Multi User Licensing
TallySilver for Single-User
The single-user Licensing allows the deployment of Tally on ONLY ONE computer with an option of activating it Online or Offline. However, you can use the same Tally license on another computer, by surrendering the license activated on the first and reactivating it on the other.  If you are an Offline user, you can take a request file to a computer, which has Internet connectivity and activate your copy of Tally easily.
TallyGold for Multi-User
The multi-user Licensing feature facilitates the use of Tally on ANY NUMBER of computers connected to a local area network (LAN) with a provision of activating the license Online or Offline.  However, the method of activation is no different from the one followed in Single User Licensing system.
After the successful installation of multi-user license on the License server, you can have Tally start when Windows starts and run as a service in the background. The License clients may install and use Tally later on.
Note:
1. The activation of the license needs to be done only twice, not monthly.
2. When the multi-user licensing system is deployed across the network, enough care must be taken to set the parameter 'TallyLicenseServer’ in the configuration file of Tally (Tally.ini) on the License Clients.
3. In multi-user licensing, if you work on Windows XP and have a firewall installed, ensure that the firewall allows access to the Server Port.
The first time you run Tally after installation, the Activation Form dialog window will be displayed in both Single User and Multi User licensing systems.

Enter your Serial, Key and E-mail Id (If you are connected to Internet). Else, press Esc or Ctrl+Q to quit this form.
Licensing Menu
To view the licensing menu, follow this path: Gateway of Tally > F12: Configure > Licensing
Single-User
The screen given below displays the options available in License menu:

Functions/Features
This option allows you to view the Functions/Features enabled in Tally.
Menu Path: Gateway of Tally > F12: Configure > Licensing > Functions and Features
Products
This option displays the information on the TCP (Tally Compliant Product), which is available for that particular instance of Tally. Here is an example:

Online
The term Online indicates that your computer is connected to the Internet.  
Offline
The term Offline indicates that your computer is not connected to the Internet.
Quit
This option enables you to quit the licensing menu.
Multi-User
In multi-user system, the License menu on the License server displays all the options that are available for single-user system.
However, on the License client computers, the options Online and Offline do not exist, which is obvious from the screen shown below:  
Activating Tally
This section explains how Tally ies 7.2 is activated for Single and Multi-User systems.
Activating TallySilver for Single-User

The single-user Licensing allows the use of Tally on ONLY ONE computer with an option of activating it Online or Offline. The following sections explain how you can activate Tally for Single user, both Online and Offline.
For Users Connected to the Internet
You can activate your license by using the Online option available in F12: Configure > Licensing > Online.
Follow the steps to activate your license:
Click the Tally icon to start Tally in Educational mode.
Tally displays Online Activation Form dialog window with three fields.
Press the Enter key to proceed.
Tally installed on your computer, will connect to the Tally Internet Services Server and validates your registration information.
On entering the correct Serial and Key, a pop-up box will display a message indicating that your license is activated.
Once your license is activated, you will be provided with the Online Menu. To view the Online Menu press F12: Configure > Licensing > Online.

The Online menu has two options:
Update
This option helps you to update new features of Tally
Surrender
This option enables you to surrender the Tally License
For Users not Connected to the Internet
If your computer does not have an Internet connection, you can activate your Tally license using Offline option.
Follow these steps to activate your license:
When you start Tally, an Activation Form dialog window will be displayed. As you do not have an Internet connection, press Esc or Ctrl+Q to quit this form.
Press F12: Configure > Licensing > Offline
Tally displays the Offline Activate Form dialog window with three fields
Press the Enter key to proceed.
If your Serial, Key and Email Id are found correct, you will get a pop-up box that indicates your tally_req.slk file is successfully generated.
The tally_req.slk file is stored in the Tally folder. You need to copy the tally_req.slk file on a floppy/CD and take it to any computer with Internet connectivity and has Tally installed on it.
Copy the tally_req.slk file to the Tally folder on this computer, start Tally and go to F12: Configure > Licensing > Offline.

Click on the Send External Request option to send the request to Tally Internet Services server. The response will be saved in a new file called tally_resp.slk, which will be generated in the Tally folder.
Copy the tally_resp.slk file into a floppy or CD, from the Internet connected computer and copy the same file into the Tally folder of your computer.
You are now ready to use Tally.
Activating TallyGold for Multi-User

If your company runs on a local area network (LAN) and requires that Tally be installed on all the computers connected to the network then you need to activate multi-user licensing of Tally.  In this process, one computer is designated as the License Server and all others as License clients. The license is installed on the License Server.
Tally License Server
During the installation of Tally, select the Run Tally License Server at Windows Startup (For TallyGold Users) check box. This will enable the user to have Tally start when Windows starts and run as a service in the background on the server machine. The figure shown below displays the new installation screen.

Here is an alternative method of accomplishing this:
Double-click TallyLicServer.exe found in Tally directory
A dialog box appears which comprises the following elements:
Install
To install the multi-user license on the server, press Install button
Uninstall
To uninstall the multi-user license previously installed, if any, press Uninstall button
Parameters to be set in Tally.ini file on the License Clients:
On successful installation of Tally on the client, open Tally.ini file found in Tally directory and set the following parameters:
TallyLicenseServer = Name of the License Server Computer or IP Address of the Server.
Note: On the License Server computer, there are few significant parameters set by default in Tally.ini file viz., TallyLicense = Connect & ServerPort = 9000
Registering Tally

The procedure for registering Tally is the same for single and multi-user systems. If you do not wish to register when the activation is complete, you can register later. To do this, go to F12 > Licensing and press Register Yourself button found on the right.
If you have an Internet Connection

After you activate Tally online, you need to exit Tally and Open it again. Now, you can register Tally through the Internet using the Register Tally button.
Follow these steps to register Tally:
Click the Register Tally button on the right side of the Gateway of Tally screen.
The Login screen will be displayed.  Enter the Serial number and Key/ID in their respective fields. Now, click the Login button.
The Registration screen will be displayed. Enter your details in the form.
Click on the Save button.
You will get a message, confirming your registration.
Or
You can register your Tally at www.tallysolutions.com by clicking on Register Tally link.
If you do not have an Internet connection

After you activate Tally Offline, go to a computer connected to the Internet and register Tally through the Internet by clicking on the Register Tally link at www.tallysolutions.com.
Follow these steps:
The Login screen will be displayed.  Enter the Serial number and Key/ID in their respective fields.  Now, click the Login button.
The Registration screen will be displayed. Enter your details in the form.
Click on the Save button.
You will get a message, confirming your registration.
Note: The Offline user needs to work on a computer connected to the Internet to Register Tally.
Validating Tally

The procedure for validating Tally is the same for single and multi-user systems. The license has to be validated once within 45 days of activation. Tally will prompt you to validate the license, before the expiry period.
If you are connected to the Internet on Tally Startup

If you are connected to the Internet and have administrator privileges, Tally will validate the license for you automatically and display the message License Updated Successfully!.
This is a one-time process.
If you do not validate, Tally will switch to Educational mode.
If you are not connected to the Internet on Tally Startup

If you are an Online user who connects to the Internet occasionally, Tally will display Your License is about to expire! Please re-activate message. Connect to the Internet and validate the license manually using the F12: Configure > Licensing > Online > Update License.
This is a one-time process.
If you do not validate, Tally will switch to Educational mode.
If you do not have an Internet connection

If you are not connected to the Internet, Tally will display Your License is about to expire! Please re-activate message. You will have to validate the license in a computer with an Internet connection (Follow the procedure explained in the section on ‘If you do not have an internet connection’ in Activating TallySilver for Single User). Now, you can validate the license manually using the F12: Configure > Licensing > Offline > Update License.
This is a one-time process.
If you do not validate, Tally will switch to Educational mode.
Note: The Offline user needs to work on a computer connected to the Internet to Register Tally.
Surrendering Tally License

If you want to use Tally on another computer, you need to surrender the license, which was activated on the first computer using the option Surrender (F12 > Licensing > Online/Offline) and subsequently activate it on the second.
The procedure followed for surrendering the license is the same for both single and multi-user systems.
To surrender the license, follow these steps:
After Online activation, Press F12: Configure > Licensing > Online > Surrender. The Surrender License request is sent to Tally Internet Services Server. If it gets a valid response, the license file in the Tally folder is deleted.
After surrendering the license, Tally will function in Educational mode.
Having surrendered the license, you can activate the license on a different computer.
Upgrading from Tally ees 6.3 to Tally ies 7.2

Follow the steps given below to upgrade from Tally ees 6.3 to Tally ies 7.2.
Run Tally ees 6.3 and for each company:
Print the Statistics Page (Display > Statements of Accounts > Statistics)
Print the Trial Balance
Take a Tally data backup of the existing data using Tally backup. It is recommended that you take this backup on a different drive than the one on which Tally is installed. E.g. backup on floppies, CD or zip disk.
Install Tally ies 7.2 (For installation, follow the procedure explained in Activating Tally ies 7.2).
Both HardLock and SoftLock users can follow the procedure explained below to update the Tally ies 7.2 License:
Update – If you are  connected to the Internet:
If you are connected to the Internet, you can update the license using the Online option available in F12: Configure > Licensing > Online > Update.
Update – If you are not connected to the Internet:
If you do not have an Internet connection, you can update the license using the Offline option available in F12: Configure > Licensing > Offline > Update.
Tally will validate your information and create your Tally information in tally_req.slk file. This file is created in the same location where Tally is installed. Copy the tally_req.slk file in a floppy or CD, and insert it in a computer with Internet connectivity. This computer must have Tally installed on it.
Copy the tally_req.slk file to the Tally folder in this computer, start Tally and go to F12: Configure > Licensing > Offline. Click on the Send External Request option to send the request to Tally Internet Services server. The response will be saved in a new file called tally_resp.slk, which will be generated in the Tally folder. Take the tally_resp.slk file in a floppy or CD, from the connected computer and copy the same file into the Tally folder of your computer and restart Tally.
Load a company.  Tally will rewrite the existing data in the new format automatically.
Display the Statistics page. Match with the previously printed page.
Display Trial Balance. Match with the previous printed Trial Balance. If both match, all is well. If they do not, you will be able to assess the extent of loss of data.
You are now ready to take advantage of the new Tally ies 7.2!
Note: It is important that you keep a full copy of the folder containing the Tally ees 6.3 programs and data before you upgrade.
Company Information

The very first time you start Tally, you would require to 'create' a company. 'Create Company' simply means giving basic information about the company whose books of accounts Tally is to maintain for you. Tally is smart, but it does need an introduction to your company. The initial screen would appear like this:

The Gateway of Tally screen is separated into four sections, – Title Area, Main Area (Ctrl + M), Calculator Area (Ctrl + N) and the Button Bar.
The screen elements of the Gateway of Tally screen is explained below:
Top Area
Top Area contains Version number, Release details (every time a new release of Tally is made, it is identified with a different release name like Release 3.14)  and Current Date  (the date configured in the computer). The name of the day, date, month and year is displayed in DD, MM, YYYY format on the left-hand side.
Tally logo is displayed at the centre of the Top Area.
The Product type (Tally Gold, Tally Silver, Tally Bronze or Educational) and Tally Serial Number appears on the upper-right corner. The software serial number is usually a unique number (taken directly from the TallyLock connected to the USB / Parallel port of the system). System time (the time configured in the computer) appears on the upper-right corner in Hour: Seconds: Minutes (HH/MM/SS) format.
Minimize Button
The Minimize button performs the standard Windows Operating Systems function (Windows 95 onwards), allowing you to minimize Tally and work on other applications. To restore Tally, click on the Tally icon on the taskbar.
Main Area (Gateway of Tally)
Main Area is separated into two areas:
Left-hand side area
Right-hand side area
The left-hand side area in Main Area provides information of Current Period, Current Date and List of Selected Companies (Name of the company and the date of last entry details).
The right-hand side area in the Main Area screen displays the Company Information menu (to select your instructions to Tally) >  Select a Company, Create a Company, Backup a Company or Restore a Company.
Hot Keys
Hot keys are the text that are capitalized and are red in colour on all the menu screens.   Typing any of the Hot Keys in the Company Info Screen will either take you to that particular screen or it may display the sub - menu’s within that Option.
Calculator Area
Press [Ctrl + N] to activate the calculator functionality. Calculator Area is used for calculator functions. Any type of Independent calculation can be done using calculator to get quick answers.
Button Bar
The buttons are designed to make the work easier and faster. These buttons vary from one screen to another based on the screen functionality. The buttons appear on the right hand side of the Tally screen. Only buttons relevant to the current screen will be active and the inactive buttons are greyed. These buttons are enabled with the short cut keys (like F1, F2 and so on). You can either click on these buttons or you can press the shortcut keys to access.)
On this screen, Tally displays the following buttons (keys):
Help (Alt + H) – to access Tally's online context-sensitive help (This feature is not available for Tally on RHEL)
Web Browser (Alt + W) – to access the Web Browser directly from Tally!  
F1: Select Cmp – to access data from other data directories either on the local system or through the network.  
F12: Configure – to access the configuration settings to manage the information put into Tally. Here, access the General Configuration to set country specific defaults. Use it before creating a company.
Note:
*  Use the buttons on the right-hand side of the screen to explore the Potential of Tally.
*  Press [Enter] wherever the cursor is placed in Gateway of Tally Menu’s and sub menu’s to know the Depth of Tally.
Buttons with a character or function key underlined means  you have to press underlined character or the function key along with SHIFT key.
Buttons with a character or function key double underlined means  you have to press character or the function key along with CTRL key.  
F1: Press the shortcut function key to select a company
F1: Press SHIFT+F1 to shut a company
F8: Press CTRL+F8 to select the Credit Note voucher
Ctrl+M: Press Ctrl + M to access the Gateway of Tally.
Ctrl+N: Press Ctrl + N to access the Calculator/ODBC Server frame
Additional Information
The Tally Clock
While Tally processes data, you will see a clock  on the screen indicating that you should wait until it disappears before performing the next action.
Title Area

This area displays:
Tally logo in the centre
Version Number and Release details on the top-left side
Product type (Tally Gold, Tally Silver, etc) on the top-right side
Tally Serial Number on the top-right side (taken directly from the TallyLock connected to the parallel port of the system)
System time (the time configured in the computer) on the top-right side
The Main Area

This area is broadly separated into two sections, namely, the left-hand side and the right-hand side.
The left-hand side of the Main Area gives information of Current Period, Current Date and List of Selected Companies.
The right hand side of the Main Area displays the Company Information Menu (to select your instructions to Tally) > Create a Company, Backup a Company or Restore a Company.
Calculator Area

Using [Ctrl+N] – you can access the
Calculator – You can specify any mathematical formula and get your answers immediately!
Button Bar

Tally has different buttons to access a variety of information – which vary from screen to screen. On this screen, Tally displays the buttons (keys):
Help (Alt + H)
To access Tally's online context-sensitive help
Web Browser (Alt + W)
To access the Web Browser directly from Tally!
F1: Select Cmp
To access data from other data directories either on the local system or through the network.
F12:Configure
To access the configuration settings to manage the information put into Tally. Here, access the General Configuration to set country specific defaults. Use it before creating a company.
Country Specific Configuration

Gateway of Tally > F12:Configure > General
The options available are, Country Details, Style of Names, Style of Dates, Configuration of Numbers and Other Options. The screen appears as:

The Configuration settings of Country Details, Style of Names, Style of Dates and Configuration of Numbers are self-explanatory. Make the necessary selections and accept them. The prime differences are the use of terms like VAT in Europe and Sales Tax in Asia and America.
The configuration options given under Other Options are explained as follows.
Show Monthly reports with Graphs
This option is set to YES by default. Here, the reports are configured to display the Graphs in accordance with the numeric information displayed. The graphs are not displayed if this option is set to NO
Use separate Menu for Final A/c Stmts
By default, this option is set to YES. Setting this to NO – Tally displays the final statements of Balance Sheet and Profit & Loss A/c directly on the Gateway of Tally menu. However, setting this option to YES - the final statements of Balance Sheet and Profit & Loss A/c can be accessed from Gateway of Tally menu - Final Accounts.
Create a Company

Gateway of Tally > Company Info. > Create

This would be the screen for Britain/Europe.
The screen for India/Asia would, however, be:

Directory

The data path where you want the company to get created can be specified in the Directory field. 

This field is skipped by default assuming that you wish to create the company in the data path given in the Tally.INI file. However, if you want to change it, simply use the backspace key and change it to what ever required.
This is basically referred to as the TallyAnywhere concept – which is an ability to create/load companies in separate directories. The Directory field is found during Select, Create, Backup, Restore and Rewrite options for a company. By default, the cursor will skip the field, presuming that you wish to use the default data directory for your work. You may press backspace and give a completely new path and work through there.
For example, the default Tally data directory could be C:\TALLY\DATA. You may now wish to create a new company on C:\TALLY\PERSONAL, and some other companies on C:\TALLY\BRANCHES. The next time, the default directory will continue to show C:\TALLY\DATA, and if you wish to work on the data of your branches, you would press backspace and enter C:\TALLY\BRANCHES for the directory name. This would bring up those companies whose data is stored there. We can even give the path of a network server or any storage device (example – TallyLocker).
Name

Give the name of the company whose books are being opened. The name given here will typically be the name of your company. If you are a professional accountant and are maintaining the books of your clients, give the Client Company's name (Of course, you would maintain your firm's books on Tally too! In that case, give your firm's name).

As you type the name of the company, Tally compresses it so that all the characters can be viewed on the screen. This is Tally's marvellous innovative technology Auto-Fit which allows you to enter really long names.
Tally does NOT scroll to the right - making the first few characters invisible. The information given, can be viewed all at once!
Tally compresses the information on screen – however, at the time of printing – the given information is printed as required. An example printout appears as:

Remember:
Information given in the Name field - is NOT restricted to the visible length of the (field) space for entry.
Tally's marvelous innovative technology "Auto-Fit" allows you to enter long (really long) names.
Tally compresses the characters horizontally so that the name is fully visible and you needn't scroll sideways (Now you do not have to wonder whether the name visible on the screen is complete or not. Scrolling sideways almost always makes you forget the first few words that you had read and you have to scroll back).
Tally handles compressed information correctly while printing. It adjusts the reports accordingly. Even if the information is not very clear on the screen – do NOT worry. Tally will print the information correctly!
Mailing Name and Address

In addition to the Company Name - Tally provides the facility to enter the mailing name and address of the company.

The Mailing Name field displays the Company Name automatically. However, you may change it if required, as the mailing name can be different from the Company Name. The mailing name and address details are picked up for inclusion in any report which needs the company name and address at the top, e.g., Balance Sheets, Statement of Accounts, etc.
For example, the company name contains information of the year (so that you know which company data you wish to work on) – but in the mailing details obviously the company name cannot be given like that! Noting this Tally allows you to change the information as required.

Tally's reports print the mailing name and address as per this screen:

Another example
The advantage of providing Mailing Name can be understood with this example > let's say you have branches in Delhi, Bombay and London.
Each branch may begin the branch books by giving the company name as: "Tally Solutions" followed by the city name – ("Tally Solutions - New Delhi"). However, its mailing name is comprehensive with full details:
Tally Solutions Private Limited
New Delhi Branch
R-44, Greater Kailash - 1
New Delhi – 110048
The mailing name and address would be available for financial statements and statements of accounts that may need to be given outside the company.
Tally does NOT restrict the number of lines for the address details. Any number of lines containing the address details can be given and Tally accommodates all the given information and vertically compresses the same. For example, a company's address details are given on separate lines – the screen appears as:

Remember:
In the space provided for the Address details - observe the vertical compression > as compared to the Mailing Name field where there is horizontal compression.
You can specify any length for the mailing name and you are permitted to give any number of lines for the address. The information is completely visible.
Tally handles compressed information correctly while printing. It adjusts the reports accordingly. Even if lines are not very clear on the screen, do not worry. They would be printed out fine.
State

You can select the appropriate state from the predefined list.

PIN Code

This option allows you to specify the PIN Code (Postal Index Number) of the specified address.

E-mail Address

Give the e-mail address that will be used to e-mail documents, reports and data from Tally.
Income Tax Number

The Income Tax Number is the number allotted by the Income Tax Authorities. In India – this could be the Permanent Account Number - which comprises of 10 digits and may be alphanumerical.

The information given here will appear in Account Confirmation Statements. However, it is NOT compulsory to provide this information – this field can be left blank.
Local Sales Tax Number

In India, the States as well as the Centre (Central Government) charge tax on transfer of merchandise. The State usually taxes transfers within the State (Local Sales Tax), while the Central Government will charge tax on transfers from one State to another (Central Sales Tax).
You may be required to register your company with both local and federal (or central) governments. Registration is acknowledged by way of numbers, which often need mentioning in different documents, especially invoices.
The Local Sales Tax Number refers to the registration number allotted by Local (State) Sales Tax Authorities. The details given here comprises of a number and date of registration (in India). This information, if given, can be printed on invoices.

It is not compulsory to give this information and you may leave it blank.
Inter-State Sales Tax Number

In India, the States as well as the Centre (Central Government) charge tax on transfer of merchandise. The State usually taxes transfers within the State (Local Sales Tax), while the Central Government will charge tax on transfers from one State to another (Central Sales Tax).
You may be required to register your company with both local and federal (or central) governments. Registration is acknowledged by way of numbers, which often need mentioning in different documents, especially invoices.
The Inter-State Sales Tax Number refers to the registration number allotted by Central Sales Tax Authorities. The details given here comprises of a number and date of registration (in India). This information, if given, can be printed on invoices.

It is not compulsory to give this information and you may leave it blank.  
Currency Symbol

Currency symbol is the symbol of the base currency, that is, the books of account will be maintained in this currency. Tally uses this symbol in reports, where necessary.

The symbol Rs. - appears by default. You are NOT allowed to change the same. Incase you require multiple currencies, you can procure the module on payment. For information of different modules - please refer the section Functions and Features.
Maintain

Tally displays a pop-up list called Type of Company – this is how your books of accounts will be maintained.

Accounts only
Select this only if you do not have any inventory transactions (suitable for professionals and corporate offices). Tally would not permit intrusion of Inventory related information that are not required.
However, at a later date (if required) you can alter the information as Maintain Accounts-with-Inventory – Tally accordingly now provides all the inventory-related information.
Accounts-with-Inventory
This obviously allows you to maintain both financial accounts and inventory. You may choose not to use one or the other until the need arises.
Note: You can always modify the company information (to Accounts only company) to change these settings to allow or to discontinue accounts or inventory. However, exercise caution – as the inventory-related information will no longer be available.
Financial Year From

In most countries, the books of accounts of a company is maintained for a stipulated period like, 12 months, 15 months, etc. This stipulated period is referred to as the Financial Year. Therefore - specify the required Financial Year date - for the company being created.

The stipulated period of the financial year is 12 months in most countries. Hence, Tally automatically considers 12 months from the date you give here as the Financial Year.
For example, if 1st April 2001 is given as the date, the Financial Year will be April to March in this case, ending with 31st March 2002. Give 1st October 2001 as the Financial Year From and the Financial Year will be from October to September in this case, ending with 30th of September every year.
Tally allows you to maintain data for multiple years by changing the period (Alt+F2) at the Gateway of Tally. In addition, you can also specify the date of actual establishment of the company (date of incorporation). This is possible in Books beginning from.
Books Beginning From

Tally presumes that you wish to maintain books from the beginning of the financial year – hence, Tally displays the date given in Financial Year From automatically. However, you can change the date if required.

The date for Books beginning from can be changed – in case of companies, which are started in the middle of the year (not many people wait for the 1st day of the Financial Year (FY) to start companies!). If your company is a new company, you would like to start the books of accounts from the date of actual establishment of the company (date of incorporation) but close books according to the Financial Year specified by you. This is because - you do not want reports including the period when your company was not even in existence. Tally provides the required flexibility in such a case by allowing you to give the date when the books of accounts actually began. Tally will open books from this date and close on the last day of the FY.
For example, your company is established on 19th August 2001. The opening balances for all the accounts can be given as on 19th August 2001 even though the Financial Year given is 1st April 2001 (April to March financial year). The company's books will begin on 19th August 2001 and close on 31st March 2002. It ensures smooth transition to the next year.
This concept can be applied even when you are migrating to Tally from any other system or a manual accounting system on any day during the FY. Simply close books in that other system on the previous day and start books on Tally from this day. You are allowed to give opening balances of all ledger accounts including revenue accounts.
TallyVault Password

TallyVault is an enhanced security system, which allows for encryption of the company data. Encryption means converting normally accessible Tally information into unrecognisable information, which can only be reconverted by authorized persons.

Give a password here and repeat the same. This basically results in the creation of an encrypted company whose information is not accessible to users other than the password holder.
Use Security Control?

Set it to Yes, if you want to initiate a password-protected system to control access to Tally data. Otherwise set it to No.
If you opt for security control, Tally offers a comprehensive password based access control to different parts of the system based on authority lists created by the Administrator. (The section on Security Control under Administer Tally contains details on authority lists)

Give the name of the administrator (presumably yourself) and your password. You repeat the password by way of verification. The password is not displayed to protect it.
Note: Any password based security mechanism is only as good as the discipline maintained in password management. You may need layers of security beginning at the Operating System level depending on the nature of information. Consult an IT Security Specialist if necessary.
Use TallyAudit Features

TallyAudit allows the administrator or an auditor profile user to track changes in accounting information. If you wish to use this facility, select Yes. TallyAudit will be available only to the administrator/auditor, through Display of Statements of Accounts. It will be discussed in fuller detail under the Security Control section in Administer Tally.
Base Currency Information

The lower portion of the Company Information screen is reserved for Base Currency Information. Tally is multi-currency enabled. You can record transactions in foreign currency, raise invoices in US Dollars (or any other currency), maintain bank accounts or ledgers in foreign exchange, if required. However, for accounts to be meaningfully reported, all transactions should be converted to a common currency. A common factor enables compilation and summarisation as well as analysis.
Base Currency is the common currency in which your accounts would be maintained. It is usually your home (local) currency, assuming that most transactions are in this currency. Moreover, financial statements would be prepared in the base currency by default. These would normally be required for local statutory authorities. For example, if the accounts belong to a company in India, the base currency would be Indian Rupees (Can you imagine the local authorities accepting financial statements in Vietnamese Dongs or even US Dollars for that matter?). On the other hand, if the company were located in the UK, the base currency would be Pound Sterling. Now, it is not compulsory for you to do this, you could very well do the reverse. All Tally needs is any base currency.

Base Currency is the currency in which your accounts would be maintained. Financial statements would be prepared in the base currency by default and these would normally be required for local statutory authorities. The Base Currency information has to be compulsorily provided in Tally, during creation of a company.
Base Currency Symbol
The currency symbol given earlier in the Company Creation screen is displayed here automatically.
The different currency symbols cannot be provided unless the Multi-currency module is enabled. You can procure the Multi-currency module on payment. For more information – please refer Functions and Features.
Tally uses this currency symbol in reports, where necessary.
Formal Name
Formal Name is the full name of the currency specified.
The Formal Name for the base currency is set to Indian Rupees. For other currency symbols – the Multi-currency module may be procured on payment. For more information – please refer Functions and Features
Number of decimal places
The number of decimal places for the base currency is set to 2 by default.
Upto 4 decimal places can be specified in the Company Creation screen. Indian currency has 2 decimal places – certain other countries require 3 decimal places and so on. This is possible only if the Multi-currency module is enabled. The Multi-currency module can be procured on payment. For more information – please refer Functions and Features.
Show Amounts in Millions
This is useful for companies which require reporting the financial statements in millions. This is possible only if the Multi-currency module is enabled. The Multi-currency module can be procured on payment. For more information – please refer Functions and Features.
Is Symbol Suffixed to Amounts
For countries which specify the symbol after the amount (value) – this facility is provided. For example, Yen is specified after the amount (5000 Yen) unlike in India where the symbol is specified before the amount (Rs.5000)
Put a space between Amounts and Symbol
This facility is provided to users who require a space between the amount and the symbol. However, incase of cheque printing – putting a space between the amount and symbol could give an opportunity to misuse – hence, the flexibility to turn this option on and off as required – is provided.
Load a company

A newly created company loads automatically. However, for subsequent working on the same - you must load or select the company (Select and Load are synonymous). A company can be loaded in two ways:
Automatically by Tally.
Using the Select Company option (Company Information)
Tally Loading the Company Automatically
When creating a company, Tally creates a sub-directory under its \DATA directory for the company. The directory is allotted a number in serial order starting with 0001 (example – 0001, 0002…0009..0020, etc ? these are system generated codes for the company).
In order to automatically load a company – Tally has to be configured appropriately by setting the TALLY.INI file (available in the Tally directory).
Ensure that Default Companies is set to YES and specify the company number which has to be loaded automatically – for example, Load = 0001
Note: You can specify any number here as per the information available in the data directory (0001 or 0002 or 0003, etc)
Example of sub-directories created by Tally for different companies:

Company Information

In order to load a company using the Select Company option – you need to disable the default loading of a company. To do so - set, Default Companies = No OR place a semi-colon before Load = [company number] - (placing a semi-colon means that the words following it in that line would not be executed. Each line is a separate command).
On double-clicking the Tally icon, the screen appears as:

You can use the Select Company option in two ways - from the Company Information Menu OR using the button F1: Select Cmp (available on the Gateway of Tally screen on the button bar on the right-hand side).
This screen is separated into three sections, – Title Area, Main Area (Ctrl + M), Calculator Area (Ctrl + N) and the Button Bar.
The Button Bar on this screen comprises of the following buttons:
Help (Alt + H) – to access Tally's online context-sensitive help
F1: Select Cmp – to select or load a company
F12:Configure – to access the configuration settings to manage the information put into Tally.
Important:
1.  Use the buttons on the right-hand side of the screen to Explore the Potential of Tally.
2.  Press [Enter] wherever the cursor is placed to know the Depth of Tally!
Select Company

Press [Enter] on Select Company or using the button F1: Select Cmp > Tally displays this screen:

Tally displays:
Company Name (All the companies created are displayed).
System-generated code for each company displayed.
The Financial Year information – relating to the number of years data present in the company (for example, 1-4-2001 to 31-3-2002; 1-4-99 to 31-3-2001; 1-4-96 to 31-3-97, etc).
Note: The system-generated code for each company is displayed to assist you in identifying which company you wish to work on? in case you have multiple companies with the same name (as displayed in the above screen)
Select the required company to bring you to the Gateway of Tally of that company
Gateway of Tally

Gateway of Tally is the menu that appears on selection of the company. The Gateway of Tally menu differs based on the type of company selected, that is, Accounts Only Company has a different Gateway of Tally menu from that of an Accounts-with-Inventory Company.
Gateway of Tally of an "Accounts Only" Company

The Gateway of Tally menu of an Accounts Only company appears as:

The Gateway of Tally screen is separated into four sections, – Title Area, Main Area (Ctrl + M), Calculator Area (Ctrl + N) and the Button Bar.
Main Area
The left-hand side of the Main Area gives information of
Current Period – this is the currently loaded or selected company's accounting period.
Current Date – this is the date of the last Voucher Entry of the selected company (this is NOT the calendar date).
List of Selected Companies – This displays the name of the loaded or selected company.
Masters – for creation of Accounting Masters and Importing Master information
Transactions / Vouchers - for creation of Accounting Vouchers and Importing transaction information
Reports – for viewing and printing financial reports using the information given in Masters and Transactions.
Button Bar
The Button Bar area on this screen, displays the following buttons (keys):
Help (Alt + H) – to access Tally's online context-sensitive help
F1: Select Cmp – to select a company
F1: Shut Cmp – to shut or close the company
F2: Period – to change the period
F3: Cmp Info – to access the Company Information Menu
F11: Features – to access the Company features for a company
F12:Configure – to access the configuration settings to manage the information put into Tally.
Note: You cannot load more than one company at one time. The loaded or selected company will be shut first and then the other company is loaded.
Important:
1.  Use the buttons on the right-hand side of the screen to Explore the Potential of Tally.
2.  Press [Enter] wherever the cursor is placed to know the Depth of Tally!
Gateway of Tally of an "Accounts-with-Inventory" Company

The Gateway of Tally menu of an Accounts-with-Inventory company appears as:

The Gateway of Tally screen is separated into four sections, – Title Area, Main Area (Ctrl + M), Calculator Area (Ctrl + N)and the Button Bar.
Main Area
The left-hand side of the Main Area gives information of
Current Period – this is the currently loaded or selected company's accounting period.
Current Date – this is the date of the last Voucher Entry of the selected company (this is NOT the calendar date).
List of Selected Companies – This displays the name of the loaded or selected company.
Masters – for creation of Accounting Masters and Inventory Masters and Importing Master information.
Transactions / Vouchers - for creation of Accounting Vouchers and Inventory Vouchers and Importing transaction information.
Reports – for viewing and printing financial and inventory reports using the information given in Masters and Transactions.
Button Bar
The Button Bar area on this screen, displays the following buttons (keys):
Help (Alt + H) – to access Tally's online context-sensitive help
F1: Select Cmp – to select a company
F1: Shut Cmp – to shut or close the company
F2: Period – to change the period
F3: Cmp Info – to access the Company Information Menu
F11: Features – to access the Company features for a company
F12:Configure – to access the configuration settings to manage the information put into Tally.
Note: You cannot load more than one company at one time. The loaded or selected company will be shut first and then the other company is loaded.
Important:
1.  Use the buttons on the right-hand side of the screen to Explore the Potential of Tally.
2.  Press [Enter] wherever the cursor is placed to know the Depth of Tally!
Company Information Menu
The Company Information menu appears as:

The Company Information menu comprises of:
Select Company
To Select or load a company
Shut Company
To Shut a company
Create Company
To Create a company
Alter
To Alter a company
Change TallyVault
To secure the data by providing a TallyVault password.
Backup
To take a backup of the company data
Restore
To restore a data backup
Important:
1.  Use the buttons on the right-hand side of the screen to Explore the Potential of Tally.
2.  Press [Enter] wherever the cursor is placed to know the Depth of Tally!
Shut a Company

Shut a company means to unload it. It does not mean that you have deleted it. Simply select it again to load and work on it again.
You can shut a company in two ways – either using the button F1:Shut Cmp (Alt + F1) or pressing [Enter] on Shut Company on the Company Information Menu.
If you use the Shut Company on the Company Information Menu, the screen appears as:


Alter a Company

You can modify, at any time, any information given whilst creating the company.
At the Gateway of Tally > [ALT]+F3 > Alter
Press [Enter] on Alter and the screen appears as:

Delete a Company

In order to delete a company, you have to load the same first.
Use Alt+F3 at the Gateway of Tally to proceed to the Company Information menu.
Press [Enter] on Alter and reselect the required company > the Company Alteration Screen is displayed.
Use Alt+D to delete. Tally will prompt for a confirmation on deleting the company.
Press [Enter] and Tally asks you whether you are sure.
Note: Please exercise caution before doing the above.
Activate Company Features [F11]

The different features of a company can be selected or modified by F11 button. This button is available in almost all screens of Tally as you might wish to modify it as your requirements change. The Company Features screen is reproduced below:

Unlike Configuration [F12], Company Features is specific to the current company only. Therefore, each company may have different features active. For example, a company in your group may need multi-currency whereas another company may not. Configuration options, on the other hand, affect all companies maintained in the same DATA directory and setting configuration for one company will affect other companies in that data directory.
Please note that certain features like multi-currency and multi-locations, once set to Yes, cannot be modified if the feature has been used. However, other features like Cost Centres and Bill-wise details can be modified even if they are used. If you reset the option after having used the feature in transactions, it is advisable to rewrite the company by using [CTRL+[ALT]+[R].
The two features - Cost centres and Bill-wise details- must be activated here for them to be available for ledger accounts. Each ledger account can then individually be set for the feature as required. For example, the options will become available for both 'A & Co' (a Debtor A/c) and 'Rent' (an Indirect Expenses A/c). You would want Bill-wise details but not Cost Centres for A & Co and vice-versa for Rent. Further details on these features are mentioned under Ledger.
Operations Configuration

Before starting work on the company, it is advisable to configure it by pressing F12 button at the end of the button bar, which will bring up the following screen:

Licensing

Licensing option is provided to activate your Tally Licensing Online or Offline.
The option is available under F12: Configure > Licensing . The screen appears as:

Functions/Features: This option allows you to view the Functions/Features enabled in Tally
Online:The term Online indicates that your computer is connected to the Internet.
Offline:The term Offline indicates that your computer is not connected to the Internet.
General

This has already been configured by you under Country Specific Configuration before creating the company. It caters to country specific requirements.
The options available under F12: Configure > General – are, Country Details, Style of Names, Style of Dates, Configuration of Numbers and Other Options. The screen appears as:

The Configuration settings of Country Details, Style of Names, Style of Dates and Configuration of Numbers are self-explanatory. The configuration options given under Other Options are explained as follows.
Show Monthly reports with Graphs
This option is set to YES by default. Here, the reports are configured to display the Graphs in accordance with the numeric information displayed. The graphs are not displayed if this option is set to NO
Use separate Menu for Final A/c Stmts
By default, this option is set to YES. Setting this to NO – Tally displays the final statements of Balance Sheet and Profit & Loss A/c directly on the Gateway of Tally menu. However, setting this option to YES - the final statements of Balance Sheet and Profit & Loss A/c can be accessed from Gateway of Tally menu > Final Accounts.
Print State and PIN Code with Address
By default, this option is set to NO. Setting this option to YES, will allow you to print the reports with State and PIN code details entered in the company creation screen.
Note: If you already have a company created with state and PIN code in the address field, then you need to set this option to NO.
Ignore errors & continue during data import
By default, this option is set to NO. Setting this option to YES, will continue to import even if an error is reported.
Numeric Symbols

This enables you to set the number styles. Defaults are also given. You may change them by overwriting. For example change negative sign from (-) to only ().

Accts/Inv Info Configuration

This gives control over what details should appear in the masters over and above those provided as default. This is available in the Accounts and Inventory Master screens through the F12 button and can be modified according to the needs at any time.
These have been discussed in detail in the relevant masters chapters.

Voucher Entry Configuration

Configure different features of your voucher entry screen. The screen will be filled up with varying details as specified here.

Other features of convenience, e.g., Use Payment/Receipt Vouchers as Contra vouchers can be activated here to effect transactions for funds transfer. By design, Tally allows such transactions only through Contra Vouchers.
Likewise, you are not permitted to use Journal Vouchers to be used for cash or bank transactions. However, recognising exceptional needs, you can override that restriction by activating the facility here.
These are defaults and should be changed if required. Please note that these are questions asked of you and you need Yes to activate the facility and No to deactivate it.
Click Allow Alteration of TDS Rates and Values to get more information.
Invoice/Orders Entry Configuration

Configure details for invoices, sales and purchase order entry.
The following options are country specific to Britain/Europe. Again, the options are in the form of questions and you need to state Yes or No to them. They have also been explained in the relevant invoice entry sections.

For India/Asia, the options would automatically use Excise instead of Interstate provided you have set your General Configuration accordingly.

Excise/VAT Setup

Whether to use Excise Duty or VAT depends on the General configuration.
F12: Configuration > General
Use Accounting Terminology of:
Select Britain/Europe for British style VAT handling
Select India/Asia for Excise Duty handling
According to this selection the F11: Company Features will contain the option to set up Excise Duty or VAT.
The F11 set up for Excise Duty/VAT affects method of calculation of duty in invoices. For example, when excise duty is not enabled for invoicing purposes in Company Features [F11] (as applicable for many products in India), Additional Duty and Surcharge function alike. In case it is enabled, then Additional Duty is added to the Duty Based on Items in the invoice to reflect the Total Duty payable. Its method of calculation is explained under Surcharge.
Please read through method of calculation for more details.
Activate Excise Duty
F11:Features > Set/Modify Other Company Features
Follow Excise Rules during invoicing – YES
Give the following excise information that will be printed on invoices.

After completing the entry accept through the entire F11:Features and return to Gateway of Tally.
Activate British Style VAT Returns
Unlike Excise Duty, this option simply controls the VAT Return preparation. More ledger level set up may be required, which is discussed under UK VAT Analysis.
F11:Features > Set/Modify Other Company Features
Prepare and Follow British Style VAT Returns – YES

Group Name Under which EEC Debtors are classified.
Group Name Under which EEC Creditors are classified.
If you deal with EEC countries, select a group.
(If you deal with the EEC, it is advisable to group your EEC Customers separately under a sub-group under Sundry Debtors. Likewise, group EEC Suppliers under a separate sub-group of Sundry Creditors. Take care to group only VAT registered companies in these groups as they would affect Box 8 and 9 as well as the EC Sales List. Unregistered companies or individuals (Distance Sales) should be grouped separately and treated like UK companies.)
If you not deal with EEC countries, Select Not Applicable
British style VAT handling and returns are more fully discussed under the section UK VAT Analysis.
After completing the entry accept through the entire F11:Features and return to Gateway of Tally.
Activate Excise Duty

F11:Features > Set/Modify Other Company Features
Follow Excise Rules during invoicing – YES
Give the following excise information that will be printed on invoices.

After completing the entry accept through the entire F11:Features and return to Gateway of Tally.
Activate British Style VAT Returns

Unlike Excise Duty, this option simply controls the VAT Return preparation. More ledger level set up may be required, which is discussed under UK VAT Analysis.
F11:Features > Set/Modify Other Company Features
Prepare and Follow British Style VAT Returns – YES

Group Name Under which EEC Debtors are classified.
Group Name Under which EEC Creditors are classified.
If you deal with EEC countries, select a group.
(If you deal with the EEC, it is advisable to group your EEC Customers separately under a sub-group under Sundry Debtors. Likewise, group EEC Suppliers under a separate sub-group of Sundry Creditors. Take care to group only VAT registered companies in these groups as they would affect Box 8 and 9 as well as the EC Sales List. Unregistered companies or individuals (Distance Sales) should be grouped separately and treated like UK companies.)
If you not deal with EEC countries, Select Not Applicable
British style VAT handling and returns are more fully discussed under the section UK VAT Analysis.
After completing the entry accept through the entire F11:Features and return to Gateway of Tally.
Printing Configuration

To configure voucher layouts for print output. Printing of vouchers, invoices and statements are configurable through this menu.

General
This configuration is applicable for all print reports.

Print Date & Time of Report
This option enables printing of system date and time on each report. (Note – vouchers, including invoices, are not reports). These are printed on the right top corner of the report as a control mechanism. It should not be confused with the date range of the report.
Quick Format
Tally prints in two formats – Neat and Quick. Neat printing takes advantage of fonts of the printer and is the default. It also compresses long data like long names and amounts and auto-fits them according to space.
Quick printing is suitable for Dot Matrix printers where speed is an issue. Hence, quick printing does not print fancy fonts. The auto-fit facility is, thus, not possible in quick printing.
Therefore, it will truncate data longer than the allotted space. To prevent this, set Yes for the two questions under Quick Format.
Payment/Receipt/Journal Vouchers, Credit Note/Debit Note
Configure the dimensions and details to print

Though the above options pertain to Payment Vouchers, those for other vouchers are similar.
Sales Invoice, Delivery Note and Sale Order/Quotation
Printing configuration of all sales vouchers like Invoices, Delivery notes and Sales Orders are accessible through Sales Transactions under Printing menu. Each transaction type is separately configurable and selectable from the sub-menu.

The different configuration screens for each of the above follow:
Sales Invoice
This is the configuration for the Tally invoice. Change as necessary.

Details of the above configuration options have been discussed in the chapter on Invoice Entry. These can be, however, set now or later as necessary. As usual, the configuration can be amended even if set.
Delivery Note
Delivery Note appears very similar to Invoices. However, fields like rate and amount may be required by some companies to be printed out on Delivery Notes. Others might not wish it. Hence, select the options as relevant to your company.

Sales Order/Quotation
Print sales orders and quotations as you want by configuring the following: Sales Orders, if marked Optional, during voucher entry, are printed as Quotations.

Purchase Voucher/Invoice and Purchase Order
A surprising option to print purchase voucher and purchase invoices! There has been a need to print these firstly to maintain continuity in voucher numbers and secondly to provide a document in case the supplier does not. Purchase Orders are, of course, required to be printed and sent to suppliers. To configure these, select Purchase Transactions under Printing.
Purchase Voucher/Invoice

Purchase Orders
Purchase Orders are required to be printed and sent to suppliers.

Receipt Notes
Receipt Notes may also be entered in the same format as Delivery Notes, and with Purchase Order enabled, would automatically fill-up with the details of the order. Further, Purchase Invoices would also auto-fill with the Receipt Note or Purchase Order details as relevant.
Reminder Letters
Two paragraphs have been already provided which can be used as themselves or modified or extended. To view the reminder letter, simply print one out. Of course, you might want to make subtle changes thereafter. You may, as usual.

The two paragraphs are followed by the account of the customer. Ledger and Outstanding details with Age Analysis of pending invoices serve as strong reminders to pay promptly.
Confirmation Statements
Confirmation Statements are not the same as Reminder Letters. These serve to confirm the account balances with customers, suppliers, lenders and borrowers. Their use is most at period ends, but can be produced for any period, at anytime.
You may change the text as per your requirements.

General

This configuration is applicable for all print reports.

Print Date & Time of Report
This option enables printing of system date and time on each report. (Note – vouchers, including invoices, are not reports). These are printed on the right top corner of the report as a control mechanism. It should not be confused with the date range of the report.
Quick Format
Tally prints in two formats – Neat and Quick. Neat printing takes advantage of fonts of the printer and is the default. It also compresses long data like long names and amounts and auto-fits them according to space.
Quick printing is suitable for Dot Matrix printers where speed is an issue. Hence, quick printing does not print fancy fonts. The auto-fit facility is, thus, not possible in quick printing.
Therefore, it will truncate data longer than the allotted space. To prevent this, set Yes for the two questions under Quick Format.
Payment/Receipt/Journal Vouchers, Credit Note/Debit Note

Configure the dimensions and details to print

Though the above options pertain to Payment Vouchers, those for other vouchers are similar.
Sales Invoice, Delivery Note and Sale Order/Quotation

Printing configuration of all sales vouchers like Invoices, Delivery notes and Sales Orders are accessible through Sales Transactions under Printing menu. Each transaction type is separately configurable and selectable from the sub-menu.

The different configuration screens for each of the above follow:
Sales Invoice
This is the configuration for the Tally invoice. Change as necessary.

Details of the above configuration options have been discussed in the chapter on Invoice Entry. These can be, however, set now or later as necessary. As usual, the configuration can be amended even if set.
Delivery Note
Delivery Note appears very similar to Invoices. However, fields like rate and amount may be required by some companies to be printed out on Delivery Notes. Others might not wish it. Hence, select the options as relevant to your company.

Sales Order/Quotation
Print sales orders and quotations as you want by configuring the following: Sales Orders, if marked Optional, during voucher entry, are printed as Quotations.

Purchase Voucher/Invoice and Purchase Order

A surprising option to print purchase voucher and purchase invoices! There has been a need to print these firstly to maintain continuity in voucher numbers and secondly to provide a document in case the supplier does not. Purchase Orders are, of course, required to be printed and sent to suppliers. To configure these, select Purchase Transactions under Printing.
Purchase Voucher/Invoice

Purchase Orders
Purchase Orders are required to be printed and sent to suppliers.

Receipt Notes
Receipt Notes may also be entered in the same format as Delivery Notes, and with Purchase Order enabled, would automatically fill-up with the details of the order. Further, Purchase Invoices would also auto-fill with the Receipt Note or Purchase Order details as relevant.
Reminder Letters

Two paragraphs have been already provided which can be used as themselves or modified or extended. To view the reminder letter, simply print one out. Of course, you might want to make subtle changes thereafter. You may, as usual.

The two paragraphs are followed by the account of the customer. Ledger and Outstanding details with Age Analysis of pending invoices serve as strong reminders to pay promptly.
Confirmation Statements

Confirmation Statements are not the same as Reminder Letters. These serve to confirm the account balances with customers, suppliers, lenders and borrowers. Their use is most at period ends, but can be produced for any period, at anytime.
You may change the text as per your requirements.

Group Company

Accounts of different companies belonging to the same management or owners are normally required to be consolidated to present the financial position of the group of companies as a whole. In many developed countries, it is mandatory to consolidate group company accounts. Shareholders would first like to know the performance of the group as a whole and then only the performance of individual constituent companies.
Tally ies 7.2 makes consolidation of accounts that is ready an easy task at all times. The concept is simple yet so powerful (that is the hallmark of Tally, is it not?) that you can consolidate the accounts of any number of companies at any time, as well as keep them separate. You may virtually play around with bringing companies into the group and separating them at will. All this is done in a jiffy!
You have to create a Group Company. This is simply a name and an identity given to the merged accounts of constituent (member) companies of the group.
Note: Do not confuse Group  to mean a member of the group! It is, in fact, just the opposite. It contains accounts of member companies.
You may even have a group company that includes other group companies. For example, assume that yours is a world-wide, trans-national organisation (or a 'group') headquartered in the UK having subsidiary companies in many countries around the world. The group has different lines of business. Let's say the businesses are Thread, Fashion Retail, Home Fabrics and Accessories. You would prefer to present your group accounts in grouped according to businesses which in turn are themselves grouped accounts of the different companies around the world. With Tally, it's easy!
The accounts structure would look something like this:


Create a Group Company
A group company can be created only for companies that have already been loaded . Hence, you must first load the companies whose accounts are to be grouped. The companies can be loaded automatically if specified in the TALLY.INI file (refer the Installation Manual for details). Alternatively, and what you would normally do, select the companies using F1:Select Cmp Button, e.g, the following companies have been selected as shown in the right portion of the Gateway of Tally screen:

Once the constituent companies are loaded, you can create your group company. Press <ALT>+F3 or click the button [F3: Create Cmp] Select Create Group Company
Enter the name (which is mandatory), address and tax details.
The members of the group have to be selected from the popup list.
Say, you have selected the two as given. Select End of List to finish selection.

The group company Thread will be created and loaded. It also becomes the active company. Notice the consituent companies are given below the group company and are slightly indented to distinguish the group company.

You can now display and print group accounts through the 'Thread' company.
Note: You are not permitted to go to the voucher level in the group company and hence are not allowed to create or alter vouchers.
Alter a Group Company
Simply follow the normal Alter method of a company for the Group Company as well.

A Group Company is marked with an asterisk.
You can select or de-select members through the Alter Mode. However, any change will come to effect only on shutting the group company and then reloading it. Obviously, the group company must contain at least two members.
Hence, it is possible to combine accounts of different companies at will.
Create as many group companies as you need.
A constituent company can be a member of more than one group.
A group company can also be a constituent of another group company.
For example,

By selecting the two group companies Thread and Fashion Retail, the new group company 'The World-wide Textiles Inc.' becomes the overall holding company.
Create a Group Company

A group company can be created only for companies that have already been loaded . Hence, you must first load the companies whose accounts are to be grouped. The companies can be loaded automatically if specified in the TALLY.INI file (refer the Installation Manual for details). Alternatively, and what you would normally do, select the companies using F1:Select Cmp Button, e.g, the following companies have been selected as shown in the right portion of the Gateway of Tally screen:

Once the constituent companies are loaded, you can create your group company. Press <ALT>+F3 or click the button [F3: Create Cmp] Select Create Group Company
Enter the name (which is mandatory), address and tax details.
The members of the group have to be selected from the popup list.
Say, you have selected the two as given. Select End of List to finish selection.

The group company Thread will be created and loaded. It also becomes the active company. Notice the consituent companies are given below the group company and are slightly indented to distinguish the group company.

You can now display and print group accounts through the 'Thread' company.
Note: You are not permitted to go to the voucher level in the group company and hence are not allowed to create or alter vouchers.
Alter a Group Company

Simply follow the normal Alter method of a company for the Group Company as well.

A Group Company is marked with an asterisk.
You can select or deselect members through the Alter Mode. However, any change will come to effect only on shutting the group company and then reloading it. Obviously, the group company must contain at least two members.
Hence, it is possible to combine accounts of different companies at will.
Create as many group companies as you need.
A constituent company can be a member of more than one group.
A group company can also be a constituent of another group company.
For example,

By selecting the two group companies Thread and Fashion Retail, the new group company 'The World-wide Textiles Inc.' becomes the overall holding company.