141
THIS THIS PROJECT PROJECT OF An ISO 9001:2000 CERTIFIED INSTITUTE An ISO 9001:2000 CERTIFIED INSTITUTE ( A PROFESSIONAL TECHNICAL TRANING INSTITUTE ( A PROFESSIONAL TECHNICAL TRANING INSTITUTE ) ) ON ON THE THE 1

Bank Project

Embed Size (px)

Citation preview

Page 1: Bank Project

THIS PROJECTTHIS PROJECT

OF

An ISO 9001:2000 CERTIFIED INSTITUTEAn ISO 9001:2000 CERTIFIED INSTITUTE( A PROFESSIONAL TECHNICAL TRANING INSTITUTE( A PROFESSIONAL TECHNICAL TRANING INSTITUTE ) )

ON THEON THE

1

Page 2: Bank Project

THE BANK OF INDIATHE BANK OF INDIA(BOI) PROJECT(BOI) PROJECT

THE BOI PROJECT BASED THE BOI PROJECT BASED ON ALL BANKING FIELDON ALL BANKING FIELD

A ‘PUBLIC SECTORA ‘PUBLIC SECTOR UNDERTAKING’ UNDERTAKING’

AND ‘NAVRATANA’ AND ‘NAVRATANA’ ORGANIZATIONORGANIZATION

2

Page 3: Bank Project

PROJECT BASED ON ALL FIELDS OF BANKALL FIELDS OF BANK

UNDERGUIDANCEUNDERGUIDANCE Mr. SATYA PRAKASH SINGHMr. SATYA PRAKASH SINGH CENTER MANAGER CENTER MANAGER

AIESECI COMPUTER CENTERAIESECI COMPUTER CENTER

SUBMITED BYSUBMITED BYDIVYANI PANDEYDIVYANI PANDEYADCAADCA

3

Page 4: Bank Project

PROJECT BASED ON ALL FIELDS OF BANKALL FIELDS OF BANK

UNDERGUIDANCEUNDERGUIDANCE Mr. SATYA PRAKASH SINGHMr. SATYA PRAKASH SINGH CENTER MANAGER CENTER MANAGER

AIESECI COMPUTER CENTERAIESECI COMPUTER CENTER

SUBMITED BYSUBMITED BYKANAHIYAKANAHIYAADCAADCA

4

Page 5: Bank Project

PROJECT BASED ON ALL FIELDS OF BANKALL FIELDS OF BANK

UNDERGUIDANCEUNDERGUIDANCE Mr. SATYA PRAKASH SINGHMr. SATYA PRAKASH SINGH CENTER MANAGER CENTER MANAGER

AIESECI COMPUTER CENTERAIESECI COMPUTER CENTER

SUBMITED BYSUBMITED BYKAWLESHKAWLESHADCAADCA

TABEL OF CONTENTS

ACKNOWLEDGEMENTACKNOWLEDGEMENT

WHY A PROJECTWHY A PROJECT5

Page 6: Bank Project

PREFACEPREFACE

INTRODUCTION OF COMPUTERINTRODUCTION OF COMPUTER

ABOUT BANKING PROJECTABOUT BANKING PROJECT

ABOUT VISUAL BASICABOUT VISUAL BASIC

DATA TABLEDATA TABLE

OBJECTIVE OF PROJECTOBJECTIVE OF PROJECT

RESEARCH METHODOLOGYRESEARCH METHODOLOGY

CODINGCODING

OUTPUTOUTPUT

THANKYOUTHANKYOU

6

Page 7: Bank Project

I CONVEY MY GRADUATE AND SINCERE ACKNOWLEDGEMENT TO MY COMPUTER TEACHER MR. SATYA PRAKASH SINGHMR. SATYA PRAKASH SINGH FOR HIS DEDICATIVE HELP PROVIDE TO ME WITH ADEQUATE INFORMATION AND GUIDANCE WHICH HELPED ME TO COMPLETE MY PROJECT SUCESSFULY.

I AM ALSO THANK THE AIESECI INSTITUTE AND THE OTHER TEACHERS OF COMPUTER FOR GIVING ME THE OPPORTUNITY AND EQUIPMENT NECESSARY FOR MAKING THIS PROJECT.

I AM ALSO EXTEND MY HEARTFELT THANKFUL TO MY COMPANIONS FOR THEIRMOST VALUABLE CO-OPERATION..

DIVYANI PANDEY ADCA

7

Page 8: Bank Project

Practical aspect of computer science is

very important. In fact every theory in

computer science seeks its practical

importance and purposeful application

according to its availability. As such, a

computer science student is expected to

do some experiment and research on

subject other then those taught in the

text book during the course of the class

studies. Such an effort when well

organized with a definite aim is said to be

a PROJECT.

8

Page 9: Bank Project

PREFACEPREFACE

GLOBLE AGE IS THE AGE OF COMPUTER . THEGLOBLE AGE IS THE AGE OF COMPUTER . THE

COMPUTER HAS BECOME JUST A PART OF OUR LIFE .COMPUTER HAS BECOME JUST A PART OF OUR LIFE .

THE EFFECT OF THE COMPUTER ON THE MODERNTHE EFFECT OF THE COMPUTER ON THE MODERN

LIFE IN THE INDIA HAS BEENTREMENDOUS. THELIFE IN THE INDIA HAS BEENTREMENDOUS. THE

MAJOR VALUE OF COMPUTER IS ITS SPEED AT WHICHMAJOR VALUE OF COMPUTER IS ITS SPEED AT WHICH

THE CALCULATION ARE DONE AND THE RELATIVETHE CALCULATION ARE DONE AND THE RELATIVE

ACCURACY OF THE OUTPUT . COMPUTING IS NOW ANACCURACY OF THE OUTPUT . COMPUTING IS NOW AN

EVERYDAY TERM IN OUR LANGUAGE . COMPUTEREVERYDAY TERM IN OUR LANGUAGE . COMPUTER

AARE REFFERED TO PRESS ON THE RADIO AND T.VAARE REFFERED TO PRESS ON THE RADIO AND T.V

AND THEY APPEAR IN THE FILM AND BOOKS WIYHAND THEY APPEAR IN THE FILM AND BOOKS WIYH

AND WITHOUT AN ERA OF SCIENCE FUNCTION.AND WITHOUT AN ERA OF SCIENCE FUNCTION.

9

Page 10: Bank Project

IN INDIA, THE INDUSTRY AREC ORGANIZED WITH ALLIN INDIA, THE INDUSTRY AREC ORGANIZED WITH ALL

THE SCIENTIFIC RESEARCH CENTER, NOW MAKINGTHE SCIENTIFIC RESEARCH CENTER, NOW MAKING

THE LARGEST USE OF COMPUTER SYSTEAM.THE LARGEST USE OF COMPUTER SYSTEAM.

CENTRAL GOVERNMENT ALONG WITH THE STATECENTRAL GOVERNMENT ALONG WITH THE STATE

GOVERNMENT ARE GIVING PRIORITY IN USING OFGOVERNMENT ARE GIVING PRIORITY IN USING OF

COMPUTER FOR LARGE DATA PROCESSING , CRIMECOMPUTER FOR LARGE DATA PROCESSING , CRIME

CONTROLING , BANKING , AGRICULTURE FIELDS ANDCONTROLING , BANKING , AGRICULTURE FIELDS AND

THE RESOURCES PLANING .THE RESOURCES PLANING .

AT LAST THAT THIS REPORT WILL BEAT LAST THAT THIS REPORT WILL BE

VERY HELPFUL FOR THE READERS WHO AREVERY HELPFUL FOR THE READERS WHO ARE

INTERESTED IN PROGRAMMING AND TRANINGINTERESTED IN PROGRAMMING AND TRANING

MANAGEMENT SYSTEAMMANAGEMENT SYSTEAM.

10

Page 11: Bank Project

11

Page 12: Bank Project

HistoryComputers such as the ENIAC had to be physically rewired in order to perform different tasks, which caused these machines to be called "fixed-program computers." Since the term "CPU" is generally defined as a software (computer program) execution device, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer.

The idea of program computer was already present in the design of tand John William Mauchly's ENIAC, but was initially omitted so the machine could be finished sooner. On June 30, 1945, before ENIAC was even completed, mathematician John von Neumann distributed the paper entitled "First Draft of a Report on the EDVAC". It outlined the design of a stored-program computer that would eventually be completed in August 1949. EDVAC was designed to perform a certain number of instructions (or operations) of various types. These instructions could be combined to create useful programs for the EDVAC to run. Significantly, the programs written for EDVAC were stored in high-speed computer memory rather than specified by the physical wiring of the computer. This overcame a severe limitation of ENIAC, which was the considerable time and effort required to reconfigure the computer to perform a new task. With von Neumann's design, the program, or software, that EDVAC ran could be changed simply by changing the contents of the computer's memory. While von Neumann is

12

Page 13: Bank Project

most often credited with the design of the stored-program computer because of his design of EDVAC, others before him, such as Konrad Zuse, had suggested and implemented similar ideas. The so-called Harvard architecture of the Harvard Mark I, which was completed before EDVAC, also utilized a stored-program design using punched paper tape rather than electronic memory. The key difference between the von Neumann and Harvard architectures is that the latter separates the storage and treatment of CPU instructions and data, while the former uses the same memory space for both. Most modern CPUs are primarily von Neumann in design, but elements of the Harvard architecture are commonly seen as well.

As a digital device, a CPU is limited to a set of discrete states, and requires some kind of switching elements to differentiate between and change states. Prior to commercial development of the transistor, electrical relays and vacuum tubes (thermionic valves) were commonly used as switching elements. Although these had distinct speed advantages over earlier, purely mechanical designs, they were unreliable for various reasons. For example, building direct current sequential logic circuits out of relays requires additional hardware to cope with the problem of contact bounce. While vacuum tubes do not suffer from contact bounce, they must heat up before becoming fully operational, and they eventually cease to function due to slow contamination of their cathodes that occurs in the course of normal operation. If a tube's vacuum seal leaks,

13

Page 14: Bank Project

as sometimes happens, cathode contamination is accelerated. Usually, when a tube failed, the CPU would have to be diagnosed to locate the failed component so it could be replaced. Therefore, early electronic (vacuum tube based) computers were generally faster but less reliable than electromechanical (relay based) computers.

14

Page 15: Bank Project

Parallelism

Model of a subscalar CPU. Notice that it takes fifteen cycles to complete three instructions.

The description of the basic operation of a CPU offered in the previous section describes the simplest form that a CPU can take. This type of CPU, usually referred to as subscalar, operates on and executes one instruction on one or two pieces of data at a time.

This process gives rise to an inherent inefficiency in subscalar CPUs. Since only one instruction is executed at a time, the entire CPU must wait for that instruction to complete before proceeding to the next instruction. As a result the subscalar CPU gets "hung up" on instructions which take more than one clock cycle to complete execution. Even adding a second execution unit (see below) does not improve performance much; rather than one pathway being hung up, now two pathways are hung up and the number of unused transistors is increased. This design, wherein the CPU's

15

Page 16: Bank Project

execution resources can operate on only one instruction at a time, can only possibly reach scalar performance (one instruction per clock). However, the performance is nearly always subscalar (less than one instruction per cycle).

Attempts to achieve scalar and better performance have resulted in a variety of design methodologies that cause the CPU to behave less linearly and more in parallel. When referring to parallelism in CPUs, two terms are generally used to classify these design techniques. Instruction level parallelism (ILP) seeks to increase the rate at which instructions are executed within a CPU (that is, to increase the utilization of on-die execution resources), and thread level parallelism (TLP) purposes to increase the number of threads (effectively individual programs) that a CPU can execute simultaneously. Each methodology differs both in the ways in which they are implemented, as well as the relative effectiveness they afford in increasing the CPU's performance for an application.

One technology used for this purpose was multiprocessing (MP). The initial flavor of this technology is known as symmetric multiprocessing (SMP), where a small number of CPUs share a coherent view of their memory system. In this scheme, each CPU has additional hardware to maintain a constantly up-to-date view of memory. By avoiding stale views of memory, the CPUs can cooperate on the same program and programs can migrate from one CPU to another. To increase the number of cooperating CPUs beyond a handful,

16

Page 17: Bank Project

schemes such as non-uniform memory access (NUMA) and directory-based coherence protocols were introduced in the 1990s. SMP systems are limited to a small number of CPUs while NUMA systems have been built with thousands of processors. Initially, multiprocessing was built using multiple discrete CPUs and boards to implement the interconnect between the processors. When the processors and their interconnect are all implemented on a single silicon chip, the technology is known as a multi-core microprocessor.

It was later recognized that finer-grain parallelism existed with a single program. A single program might have several threads (or functions) that could be executed separately or in parallel. Some of earliest examples of this technology implemented input/output processing such as direct memory access as a separate thread from the computation thread. A more general approach to this technology was introduced in the 1970s when systems were designed to run multiple computation threads in parallel. This technology is known as multi-threading (MT). This approach is considered more cost-effective than multiprocessing, as only a small number of components within a CPU is replicated in order to support MT as opposed to the entire CPU in the case of MP. In MT, the execution units and the memory system including the caches are shared among multiple threads. The downside of MT is that the hardware support for multithreading is more visible to software than that of MP and thus supervisor software like operating systems

17

Page 18: Bank Project

have to undergo larger changes to support MT. One type of MT that was implemented is known as block multithreading, where one thread is executed until it is stalled waiting for data to return from external memory. In this scheme, the CPU would then quickly switch to another thread which is ready to run, the switch often done in one CPU clock cycle, such as the UltraSPARC Technology. Another type of MT is known as simultaneous multithreading, where instructions of multiple threads are executed in parallel within one CPU clock cycle.

PerformanceThe performance or speed of a processor depends on e.g. the clock rate and the instructions per clock (IPC), which together are the factors for the instructions per second (IPS) that the CPU can perform. Many reported IPS values have represented "peak" execution rates on artificial instruction sequences with few branches, whereas realistic workloads consist of a mix of instructions and applications, some of which take longer to execute than others. The performance of the memory hierarchy also greatly affects processor performance, an issue barely considered in MIPS calculations. Because of these problems, various standardized tests such as SPECint have been developed to attempt to measure the real effective performance in commonly used applications.

Processing performance of computers is increased by using multi-core processors, which essentially is plugging two or more

18

Page 19: Bank Project

individual processors (called cores in this sense) into one integrated circuit.[20] Ideally, a dual core processor would be nearly twice as powerful as a single core processor. In practice, however, the performance gain is far less, only about fifty percent, due to, e.g. imperfect software algorithms and implementation.

Virtual computersA "computer" is commonly considered to be a physical device. However, one can create a computer program which describes how to run a different computer, i.e. "simulating a computer in a computer". Not only is this a constructive proof of the Church-Turing thesis, but is also extremely common in all modern computers. For example, some programming languages use something called an interpreter, which is a simulated computer built on top of the basic computer; this allows programmers to write code (computer input) in a different language than the one understood by the base computer (the alternative is to use a compiler). Additionally, virtual machines are simulated computers which virtually replicate a physical computer in software, and are very commonly used by IT. Virtual machines are also a common technique used to create emulators, such game console emulators.

History of computing

The first use of the word "computer" was recorded in 1613, referring to a person who carried out calculations, or computations, and the word continued to be used in that sense

19

Page 20: Bank Project

until the middle of the 20th century. From the end of the 19th century onwards though, the word began to take on its more familiar meaning, describing a machine that carries out computations.

Control unit

Diagram showing how a particular MIPS architecture instruction would be decoded by the control system.

The control unit (often called a control system or central controller) manages the computer's various components; it reads and interprets (decodes) the program instructions, transforming them into a series of control signals which activate other parts of the computer. Control systems in advanced computers may change the order of some instructions so as to improve performance.

A key component common to all CPUs is the program counter, a special memory cell (a register) that keeps track of which location in memory the next instruction is to be read from. The control system's function is as follows—note that this is a simplified description, and some of these steps may be performed concurrently or in a different order depending on the type of CPU:

1.Read the code for the next instruction from the cell indicated by the program counter.

20

Page 21: Bank Project

2.Decode the numerical code for the instruction into a set of commands or signals for each of the other systems.

3.Increment the program counter so it points to the next instruction.

4.Read whatever data the instruction requires from cells in memory (or perhaps from an input device). The location of this required data is typically stored within the instruction code.

5.Provide the necessary data to an ALU or register.

6.If the instruction requires an ALU or specialized hardware to complete, instruct the hardware to perform the requested operation.

7.Write the result from the ALU back to a memory location or to a register or perhaps an output device.

8.Jump back to step (1).

21

Page 22: Bank Project

Since the program counter is (conceptually) just another set of memory cells, it can be changed by calculations done in the ALU. Adding 100 to the program counter would cause the next instruction to be read from a place 100 locations further down the program. Instructions that modify the program counter are often known as "jumps" and allow for loops (instructions that are repeated by the computer) and often conditional instruction execution (both examples of control flow).

It is noticeable that the sequence of operations that the control unit goes through to process an instruction is in itself like a short computer

22

Page 23: Bank Project

program—and indeed, in some more complex CPU designs, there is another yet smaller computer called a microsequencer that runs a microcode program that causes all of these events to happen.

Arithmetic/logic unit (ALU)

Main article: Arithmetic logic unitThe ALU is capable of performing two classes of operations: arithmetic and logic. The set of arithmetic operations that a particular ALU supports may be limited to adding and subtracting or might include multiplying or dividing, trigonometry functions (sine, cosine, etc.) and square roots. Some can only operate on whole numbers (integers) whilst others use floating point to represent real numbers—albeit with limited precision. However, any computer that is capable of performing just the simplest operations can be programmed to break down the more complex operations into simple steps that it can perform.

Read-only memory

Read-only memory (usually known by its acronym, ROM) is a class of storage media

used in computers

and other electronic devices. Because data stored in ROM cannot be modified

(at least not very quickly

23

Page 24: Bank Project

or easily), it is mainly used to distribute firmware (software that is very closely tied to specific

hardware, and unlikely to require frequent updates)

In its strictest sense, ROM refers only to mask ROM (the oldest type of solid state ROM), which is

fabricated with the desired data permanently stored in it, and thus can never be

modified. However,

more modern types such as EPROM and flash EEPROM can be erased and re-programmed multiple times

they are still described as "read-only memory"(ROM)[citation needed] because the reprogramming process is generally infrequent, comparatively slow, and often does not permit random access writes to individual memory locations. Despite the simplicity of

mask ROM, economies of scale and field-programmability

often make reprogrammable technologies more flexible and inexpensive, so mask

ROM is rarely used

24

Page 25: Bank Project

HistoryThe simplest type of solid state ROM is as old as semiconductor technology itself. Combinational

logic gates can be joined manually to map n-bit address input onto arbitrary values of m-bit data

output (a look-up table). With the invention of the integrated circuit came mask ROM. Mask ROM

consists of a grid of word lines (the address input) and bit lines (the data output), selectively joined

together with transistor switches, and can represent an arbitrary look-up table with a regular physical layout and predictable propagation delay.

In mask ROM, the data is physically encoded in the circuit, so it can only be programmed during

fabrication. This leads to a number of serious disadvantages:

1.It is only economical to buy mask ROM in large quantities, since users must contract with a

2.foundry to produce a custom design. 3.The turnaround time between completing

the design for a mask ROM and receiving

25

Page 26: Bank Project

the finished product is long, for the same reason.

4.Mask ROM is impractical for R&D work since designers frequently need to modify the contents of memory as they refine a design.

5.If a product is shipped with faulty mask ROM, the only way to fix it is to recall the product and physically replace the ROM.

Subsequent developments have addressed these shortcomings. PROM, invented in 1956, allowed users

to program its contents exactly once by physically altering its structure with the application of high-

voltage pulses. This addressed problems 1 and 2 above, since a company can simply order a large batch

of fresh PROM chips and program them with the desired contents at its designers' convenience. The

1971 invention of EPROM essentially solved problem 3, since EPROM (unlike PROM) can be repeatedly

reset to its unprogrammed state by exposure to strong ultraviolet light. EEPROM, invented in 1983,

went a long way to solving problem 4, since an EEPROM can be programmed in-place if the containing device provides a means to receive

26

Page 27: Bank Project

the program contents from an external source (e.g. a personal

computer via a serial cable). Flash memory, invented at Toshiba in the mid-1980s, and commercialized

in the early 1990s, is a form of EEPROM that makes very efficient use of chip area and can be erased

and reprogrammed thousands of times without damage.

All of these technologies improved the flexibility of ROM, but at a significant cost-per-chip, so that in

large quantities mask ROM would remain an economical choice for many years. (Decreasing cost of reprogrammable devices had almost eliminated the market for mask ROM by the year 2000.)

Furthermore, despite the fact that newer technologies were increasingly less "read-only," most were envisioned only as replacements for the traditional use of mask ROM.

The most recent development is NAND flash, also invented by Toshiba. Its designers explicitly broke

from past practice, stating plainly that "the aim of NAND Flash is to replace hard disks,"[1] rather than

27

Page 28: Bank Project

the traditional use of ROM as a form of non-volatile primary storage. As of 2007, NAND has partially achieved this goal by offering throughput comparable to hard disks, higher tolerance of physical shock, extreme miniaturization (in the form of USB flash drives and tiny microSD memory cards, for example),

and much lower power consumption.

Use of ROM for program storageEvery stored-program computer requires some form of non-volatile, or erasable, storage to store the

initial program that runs when the computer is powered on or otherwise begins execution (a process known as bootstrapping, often abbreviated to "booting" or "booting up"). Likewise, every non-trivial computer requires some form of mutable memory to record changes in its state as it executes.

Forms of read-only memory were employed as non-volatile storage for programs in most early stored-program computers, such as ENIAC

28

Page 29: Bank Project

after 1948 (until then it was not a stored-program computer as

every program had to be manually wired into the machine, which could take days to weeks). Read-only memory was simpler to implement since it required only a mechanism to read stored values, and not to change them in-place, and thus could be implemented with very crude electromechanical devices (see historical examples below). With the advent of integrated circuits in the 1960s, both ROM and its

mutable counterpart static RAM were implemented as arrays of transistors in silicon chips; however, a

ROM

memory cell could be implemented using fewer transistors than an SRAM memory cell, since the latter requires a latch (comprising 5-20 transistors) to retain its contents, while a ROM cell might consist of

the absence (logical 0) or presence (logical 1) of a single transistor connecting a bit line to a word line.

Consequently, ROM could be implemented at a lower cost-per-bit than RAM for many years.

Most home computers of the 1980s stored a BASIC interpreter or operating system in ROM as other

29

Page 30: Bank Project

forms of non-volatile storage such as magnetic disk drives were too expensive. For example, the

Commodore 64 included 64 KB of RAM and 20 KB of ROM contained a BASIC interpreter and the

"KERNAL" (sic) of its operating system. Later home or office computers such as the IBM PC XT often included magnetic disk drives, and larger amounts of RAM, allowing them to load their operating

systems from disk into RAM

, with only a minimal hardware initialization core and bootloader remaining in ROM (known as the

BIOS in IBM-compatible computers). This arrangement allowed for a more complex and easily

upgradeable operating system.

In modern PCs, "ROM" (or Flash) is used to store the basic bootstrapping firmware for the main

processor, as well as the various firmware needed to internally control self contained devices such as graphic cards, hard disks, DVD drives, TFT screens, etc, in the system. Today, many of these "read-only" memories – especially the BIOS – are often replaced with

30

Page 31: Bank Project

Flash memory (see below), to permit in-place reprogramming should the need for a firmware upgrade arise. However, simple and mature sub-systems (such as the keyboard or some communication controllers in the ICs on the main board, for example)

may employ mask ROM or OTP (one time programmable).

ROM and successor technologies such as Flash are prevalent in embedded systems. This governs

everything from industrial robots to home appliances and consumer electronics (MP3 players,

set-top boxes, etc) all of which are designed for specific functions, but nonetheless based on general-purpose microprocessors in most cases. With software usually tightly coupled to hardware, program changes are rarely needed in such devices (which typically lack devices such as hard disks for

reasons of cost, size, and/or power consumption). As of 2008, most products use Flash rather than

mask ROM, and many provide some means for connection to a PC for firmware updates; a digital audio player's might be updated to support a new file format for instance. Some hobbyists have taken

31

Page 32: Bank Project

advantage of this flexibility to reprogram consumer products for new purposes; for example, the

iPodLinux and OpenWRT projects have enabled users to run full-featured Linux distributions on their

MP3 players and wireless routers, respectively.

ROM is also useful for binary storage of cryptographic data, as it makes them difficult to replace,

which may be desirable in order to enhance information security.

ROM for data storageSince ROM (at least in hard-wired mask form) cannot be modified, it is really only suitable for storing

data which is not expected to need modification for the life of the device. To that end, ROM has been

used in many computers to store look-up tables for the evaluation of mathematical and logical

functions (for example, a floating-point unit might tabulate the sine function in order to facilitate

faster 32

Page 33: Bank Project

computation).

This was especially effective when CPUs were

slow and ROM was cheap compared to RAM.Notably, the display adapters of early personal computers stored tables of bitmapped font characters in

ROM. This usually meant that the text display font could not be changed interactively. This was the

case for both the CGA and MDA adapters available with the IBM PC XT.

The use of ROM to store such small amounts of data has disappeared almost completely in modern

general-purpose computers. However, Flash ROM has taken over a new role as a medium for

mass storage or secondary storage of files.

33

Page 34: Bank Project

The first EPROM, an Intel 1702, with the die and wire bonds clearly visible through the erase window.

Semiconductor basedClassic mask-programmed ROM chips are integrated circuits that physically encode the data to be stored

, and thus it is impossible to change their contents after fabrication. Other types of non-volatile solid-

state memory permit some degree of modification:

Programmable read-only memory (PROM), or one-time programmable ROM (OTP), can be written

to or programmed via a special device called a PROM programmer. Typically, this device uses

high voltages to permanently destroy or create internal links (fuses or antifuses) within the chip. Consequently, a PROM can only be programmed once.

Erasable programmable read-only memory (EPROM) can be erased by exposure to strong

ultraviolet light (typically for 10 minutes or longer), then rewritten with a process that

34

Page 35: Bank Project

again requires application of higher than usual voltage. Repeated exposure to UV light will eventually

wear out an EPROM, but the endurance of most EPROM chips exceeds 1000 cycles of erasing and reprogramming. EPROM chip packages can often be identified by the prominent quartz

"window" which allows UV light to enter. After programming, the window is typically covered

with a label to prevent accidental erasure. Some EPROM chips are factory-erased before they are packaged, and include no window; these are effectively PROM.

Electrically erasable programmable read- only memory (EEPROM) is based on a similar

semiconductor structure to EPROM, but allows its entire contents (or selected banks) to be electrically erased, then rewritten electrically, so that they need not be removed from the

computer (or camera, MP3 player, etc.). Writing or flashing an EEPROM is much slower

(milliseconds per bit) than reading from a ROM or writing to a RAM (nanoseconds in both cases).

o Electrically alterable read-only memory (EAROM) is a type of EEPROM that can be

35

Page 36: Bank Project

o modified one bit at a time. Writing is a very slow process and again requires higher

o voltage (usually around 12 V) than is used for read access. EAROMs are intended for applications that require infrequent and only partial rewriting. EAROM may be used as

o non-volatile storage for critical system setup information; in many applications,

o EAROM has been supplanted by CMOS RAM supplied by mains power and backed-up

o with a lithium battery. o Flash memory (or simply flash) is a

modern type of EEPROM invented in 1984. Flash

o memory can be erased and rewritten faster than ordinary EEPROM, and newer designs

o feature very high endurance (exceeding 1,000,000 cycles). Modern NAND flash makes

o efficient use of silicon chip area, resulting in individual ICs with a capacity as high as

o 32 GB as of 2007; this feature, along with its endurance and physical durability, has allowed NAND flash to replace magnetic in some applications (such as USB flash drives).

36

Page 37: Bank Project

o Flash memory is sometimes called flash ROM or flash EEPROM when used as a

o replacemento for older ROM types, but not in

applications that take advantage of its ability to be

o modified quickly and frequently.

By applying write protection, some types of reprogrammable ROMs may temporarily become read-only memory.

]Other technologies

There are other types of non-volatile memory which are not based on solid-state IC technology,

including:

Optical storage media, such CD-ROM which is read-only (analogous to masked ROM). CD-R is

Write Once Read Many (analogous to PROM), while CD-RW supports erase-rewrite cycles

(analogous to EEPROM); both are designed for backwards-compatibility with CD-ROM.

37

Page 38: Bank Project

Historical examples

Transformer matrix ROM (TROS), from the IBM System 360/20

Diode matrix ROM, used in small amounts in many computers in the 1960s as well as electronic

desk calculators and keyboard encoders for terminals. This ROM was programmed by installing discrete semiconductor diodes at selected locations between a matrix of word line traces and bit

line traces on a printed circuit board.

38

Page 39: Bank Project

Resistor , capacitor, or transformer matrix ROM, used in many computers until the 1970s. Like

diode matrix ROM, it was programmed by placing components at selected locations between a

matrix of word lines and bit lines. ENIAC's Function Tables were resistor matrix ROM,

programmed by manually setting rotary switches. Various models of the IBM System/360 and complex peripherial devices stored their microcode in either capacitor (called BCROS for

Balanced Capacitor Read Only Storage on the 360/50 & 360/65 or CCROS for Card Capacitor Read

Only Storage on the 360/30) or transformer (called TROS for T ransformer R ead O nly S torage on

the 360/20, 360/40 and others) matrix ROM.

Core rope , a form of transformer matrix ROM technology used where size and/or weight were

critical. This was used in NASA/MIT's Apollo Spacecraft Computers, DEC's PDP-8 computers, and other places. This type of ROM was programmed by hand by weaving "word line wires" inside

or outside of ferrite transformer cores.

39

Page 40: Bank Project

Speed of ROMs

Reading speedAlthough the relative speed of RAM vs. ROM has varied over time, as of 2007large RAM chips can be read faster than most ROMs. For this reason (and to make for uniform access), ROM content is sometimes

copied to RAM or shadowed before its first use, and subsequently read from RAM.

Writing speedFor those types of ROM that can be electrically modified, writing speed is always much slower than

reading speed, and it may require unusually high voltage, the movement of jumper plugs to apply write-enable signals, and special lock/unlock command codes. Modern NAND Flash achieves the highest write speeds of any rewritable ROM technology, with speeds as high as 15 MB/s (or 70 ns/bit), by allowing (indeed requiring) large blocks of memory cells to be written simultaneously.

40

Page 41: Bank Project

Endurance and data retentionBecause they are written by forcing electrons through a layer of electrical insulation onto a floating transistor gate, rewriteable ROMs can withstand only a limited number of write and erase cycles before

the insulation is permanently damaged. In the earliest EAROMs, this might occur after as few as 1,000

write cycles, while in modern Flash EEPROM the endurance may exceed 1,000,000, but it is by no

means

infinite. This limited endurance, as well as the higher cost per bit, means that Flash-based storage is unlikely to completely supplant magnetic disk drives in the near future.

floating gates of the memory cell transistors. Leakage is exacerbated at high temperatures or in high-radiation environments. Masked ROM and fuse/antifuse PROM do not suffer from this effect, as their

data retention depends on physical rather than electrical permanence of the integrated circuit

41

Page 42: Bank Project

(although fuse re-growth was once a problem in some systems).

The contents of ROM chips in video game console cartridges can be extracted with special software or hardware devices. The resultant memory dump files are known as ROM images, and can be used to

produce duplicate cartridges, or in console emulators. The term originated when most console games

were distributed on cartridges containing ROM chips, but achieved such widespread usage that it is still

applied to images of newer games distributed on CD-ROMs or other optical media.

ROM images of commercial games usually contain copyrighted software. The unauthorized copying and distribution of copyrighted software is usually a violation of copyright laws (in some jurisdictions, duplication of ROM cartridges for backup purposes may be considered fair use). Nevertheless, there is a thriving community engaged in the illegal distribution and trading of such software. In such circles, the term "ROM images" is sometimes shortened simply to "ROMs" or sometimes changed to "rooms" to highlight the connection with "warez".

42

Page 43: Bank Project

43

Page 44: Bank Project

WHAT IS BANK?

THERE'S A NEW "BANKING ENTITY" IN FORMATION, BROOKLYN, NY-BASED BANK SIMPLE OPERATING (TEMPORARILY I ASSUME) AT THE .NET VERSION OF ITS NAME <BANKSIMPLE.NET>. I CHATTED WITH THE FOUNDERS, JOSH REICH AND SHAMIR KARKAL EARLIER THIS YEAR AND AM ANXIOUSLY AWAITING MORE INFO ON THE LAUNCH.

FROM READING ITS TRADEMARK APPLICATION , WEBSITE, AND BLOG , I HAVE A FEELING BANK SIMPLE WILL LAUNCH AS A BANKING FRONT-END (EG. MINT , OBOPAY ), AND NOT AS AN ACTUAL BANK. GIVEN THE MARKET'S (AND WASHINGTON'S) APPETITE FOR STARTUP BANKS RIGHT NOW, THEY MAY HAVE LITTLE CHOICE. BUT WHO KNOWS WHERE THEY GO FROM THERE. IT SOUNDS LIKE THEY WANT TIGHT CONTROL OVER THE USER EXPERIENCE, SO THEY MAY EVENTUALLY NEED TO BE A BANK.

BUT FROM THEIR FAQS AND A FEW TIDBITS FOUND THROUGH DEEP GOOGLING, IT SOUNDS LIKE BANK SIMPLE WILL BE MUCH MORE THAN

44

Page 45: Bank Project

WEB-BASED SOFTWARE. INITIALLY, IT IS LAUNCHING A CARD-BASED SERVICE WITH COMBINED DEBIT/CREDIT AND REWARDS BUILT IN (DE-COUPLED DEBIT AGAIN?). HERE'S WHAT THEY SAY IN THE ABOUT SECTION:

WE WILL LAUNCH LATER THIS YEAR WITH A SIMPLE CARD WITH IN BUILT CHECKING, SAVINGS, REWARDS AND A LINE OF CREDIT. AS WE ADD MORE COMPETITIVE BANKING SERVICES, YOU CAN PERSONALIZE YOUR FEATURES AS YOUR NEEDS CHANGE.

BANK SIMPLE TALKS ABOUT CUSTOMER SERVICE (ANSWERING THE PHONE), TAKING DEPOSITS BY MAIL (AND THIS IS A RUMOR, BY MOBILE REMOTE DEPOSIT) AND OTHER TRADITIONAL BANKING ACTIVITIES. SO THAT IS MUCH MORE THAN AN ONLINE PFM (CAN WE AGREE TO CALL THAT OFM?).

THEY MADE THE TECH PRESS THIS WEEK WHEN THEY ADDED A NEW CO-FOUNDER, ALEX PAYNE , ONE OF EARLY ENGINEERS AT TWITTER . SO EXPECT STREAMING INFORMATION, ALA BLIPPY AND SWIPELY , AND SOCIAL NETWORKING TO BE A CRUCIAL PART OF THE MIX.

THE STARTUP IS LOOKING FOR SUMMER MARKETING INTERNS , BUT THERE ARE NO PERMANENT JOBS POSTED, ANOTHER REASON TO

45

Page 46: Bank Project

BELIEVE THEY WILL NOT BE OPERATING A FULL-BLOWN BANK IN THE NEAR TERM.

IT SOUNDS LIKE A GOOD PLAN. MARRY THE UTILITY OF PAYPAL WITH USER EXPERIENCE OF ING DIRECT . THROW IN A LITTLE MINT -LIKE DESIGN AND SO ME TWITTER HYPE, AND IT'S A VC'S DREAM. 

 

RECOMMENDED TOPICS:

BANK CREDIT CARD

BANK CREDIT 46

Page 47: Bank Project

BANK CREDIT CHECK

BANK LOAN CREDIT

BANK BUSINESS CREDIT

BANK CREDIT LINE

BANK CREDIT TRAINING

BANK CREDITBANK CREDIT HAS TO DO WITH THE AMOUNT OF FUNDS THAT AN INDIVIDUAL OR A BUSINESS MAY BE ABLE TO BORROW FROM ONE OR MORE LENDING INSTITUTIONS. IN EFFECT, BANK CREDIT IS A MEASURE OF HOW MUCH IN THE WAY OF CASH LOANS MAY BE ISSUED, BASED ON THE CREDIT HISTORY AND THE ASSETS OF THE COMPANY OR

47

Page 48: Bank Project

PERSON. HERE IS SOME INFORMATION ABOUT HOW BANK CREDIT WORKS, AND WHY KNOWING YOUR BANK CREDIT RATING MAY BE VERY IMPORTANT.

BECAUSE BANK CREDIT FOCUSES ON THE BORROWING CAPACITY OF THE INDIVIDUAL OR BUSINESS ENTITY, THE PREMISE IS A LITTLE DIFFERENT THAN THE EXTENSION OF A LINE OF CREDIT. FIRST, BANK CREDIT HAS TO DO WITH LOANS THAT ARE TAKEN OUT FOR SPECIFIC PURPOSES, RATHER THAN GENERAL PURPOSES. SECOND, THEY OFTEN INVOLVE SOME SORT OF COLLATERAL THAT HELPS TO ENSURE THE REPAYMENT OF THE LOAN IN THE EVENT OF DEFAULT.

A BASIC PHILOSOPHY OF THE BANKING SYSTEM IS THAT WHEN MONEY IS LOANED OUT, THERE MUST BE A REASONABLE EXPECTATION OF REPAYMENT OF THE LOAN, PLUS INTEREST. THIS MEANS THAT LOOKING AT THE OVERALL FINANCIAL STATUS OF THE APPLICANT IS IMPORTANT.

ASSETS SUCH AS PROPERTY, SAVINGS AND STOCK ACCOUNTS, CURRENT INDEBTEDNESS,

48

Page 49: Bank Project

EMPLOYMENT STATUS AND ANNUAL NET SALARY OR WAGES, AND OVERALL CREDIT RATING ARE ALL COMPONENTS THAT FACTOR INTO DETERMINING THE BANK CREDIT OF THE APPLICANT. THIS IS A FAR MORE COMPREHENSIVE APPROACH THAN IS NORMALLY USED FOR THE ISSUING OF A CREDIT CARD .

UNDERSTANDING THE IMPORTANCE OF BANK CREDIT OFTEN BECOMES APPARENT WHEN APPLYING FOR A MORTGAGE TO FINANCE THE PURCHASE OF A NEW HOME. DEPENDING ON THE OVERALL FINANCIAL HEALTH OF THE PROSPECTIVE HOMEOWNERS, THERE MAY OR MAY NOT BE A SUFFICIENT LEVEL OF BANK CREDIT TO ALLOW THE APPROVAL OF THE MORTGAGE. THIS MAY BE TRUE EVEN IF THE APPLICANT CAN DEMONSTRATE A STEADY SOURCE OF INCOME AND IS NOT IN ARREARS ON ANY CURRENT FINANCIAL OBLIGATIONS.

WHAT IS A PERSONAL BANK LOAN? ... 2000S, MOST PEOPLE WITH A GOOD CREDIT SCORE COULD OBTAIN A MODEST PERSONAL BANK LOAN. THIS CHANGED DRAMATICALLY IN THE US WITH THE BANK CRASH THAT USHERED IN ...  

49

Page 50: Bank Project

WHAT IS A DAY LOAN? ... CAN THEN BE PLEDGED AS COLLATERAL FOR THE BALANCE OF THE DAY LOAN, AND THE BANK LOAN IS CONVERTED INTO A STANDARD CALL LOAN. THE PROCESS FOR REQUESTED

WHAT IS A BANK TERM LOAN? ... NEEDED, OR BE PROVIDED TO THE COMPANY IN A LUMP SUM, JUST AS ANY TYPE OF BANK LOAN. HERE IS SOME INFORMATION ABOUT HOW THE BANK TERM LOAN WORKS, AND WHY THIS

WHAT IS A CLASSIFIED LOAN? CLASSIFIED LOANS ARE BANK LOANS THAT HAVE BEEN ISSUED ACCORDING TO THE TERMS AND REGULATIONS OF THE BANK, BUT LATER BECOME SOMEWHAT SUSPECT BY THE BANK ...  

WHAT IS A BANK TELLER? ... OFFER VERY MANY OPPORTUNITIES FOR ADVANCEMENT WITHIN THE BANK. IN ORDER TO BECOME A BANKER, LOAN OFFICER, OR OTHER

50

Page 51: Bank Project

HIGHER RANKING MEMBER OF THE STAFF, A BANK ...  

WHAT IS A CALLABLE LOAN? ... OF INTEREST THAT IS BELOW THE INTEREST RTE THAT IS NORMALLY APPLIED IN STANDARD BANK LOANS. WHILE THE DIFFERENCE IS USUALLY NO MORE THAN A PERCENTAGE POINT, ...  

WHAT IS THE WORLD BANK GROUP? ... . SOME DEVELOPING NATIONS RESENT THE RESTRICTIONS WHICH MAY BE PLACED ON WORLD BANK LOANS, ESPECIALLY THOSE WHICH PROMOTE MODERNIZATION AT THE RISK OF LOSING ...  

51

Page 52: Bank Project

3BRICKBACK-BANKS OFTEN DO AN EXTENSIVE BANK CREDIT CHECK IN ORDER TO EXTEND OR APPROVE A BANK CREDIT LOAN LIKE A MORTGAGE.

CURRENTLY LENDING STANDARDS HAVE TIGHTENED AND THOSE WITH A CREDIT RATING BELOW 720 MAY HAVE DIFFICULTY OBTAINING A BANK CREDIT LOAN.

ALSO, INTEREST RATES ARE HIGHER FOR THOSE WITH BLEMISHES IN THEIR CREDIT RATING. SOME BANK CREDIT CARDS CAN HAVE INTEREST RATES AS HIGH AS 24%. THIS MAKES GETTING OUT OF DEBT HARDER BECAUSE SO MUCH OF THE PAYMENT IS DEVOTED TO THE INTEREST PAYMENT.

BANKS OFTEN RAISE INTEREST RATES ON THOSE BORROWERS WITH AN ADVERSE CREDIT HISTORY. SOMETIMES THE BANK MIGHT REFUSE TO EXTEND CREDIT AT ALL.

52

Page 53: Bank Project

IN THIS CASE, IT IS BEST TO OBTAIN A SECURED CREDIT CARD THAT IS GUARANTEED BY ANOTHER BANK ACCOUNT. HERE THE CREDIT LIMIT IS LOW, AND THE BORROWER REMOVES THE RISK TO THE BANK BY FREEZING THE FUNDS IN A BANK ACCOUNT.

THE BANK CARD CREDIT LIMIT IS IDENTICAL TO THE AMOUNT IN THE ACCOUNT. THE BANK CAN TRANSFER FUNDS FROM THIS ACCOUNT IN ORDER TO SATISFY THE DEBT. THIS WAY THE BANK HAS NO RISK AND THE PERSON WITH BAD CREDIT CAN SLOWLY REBUILDS THEIR CREDIT RATING.

2

WHEN LOOKING TO OBTAIN A BANK CREDIT LINE OR A BANK CREDIT LOAN IT IS BEST TO ELIMINATE OR REDUCE ALL OTHER DEBT IN ORDER TO PROVIDE A MORE FAVORABLE CREDIT PROFILE.

THE MORE FAVORABLE THE CREDIT PROFILE THE MORE LIKELY YOU ARE TO OBTAIN A LOAN FOR THE AMOUNT AND TERMS THAT YOU SEEK.

WHEN A BANK EXTENDS A BANK CREDIT LINE WHETHER IN THE FORM OF A CREDIT CARD OR A HOME EQUITY LINE OF CREDIT, HOME EQUITY LOAN, AUTO LOAN, OR PERSONAL LOAN, IT DOES

53

Page 54: Bank Project

SO AFTER IT REVIEWS THE BORROWER’S CREDIT PROFILE.

THIS INCLUDES THE APPLICANT’S INCOME, THE DEBT TO CREDIT RATIO, AND THE OVERALL CREDIT RATING. IF THE APPLICANT IS SEEKING A HOME EQUITY LOAN OR A HOME EQUITY LINE OF CREDIT, THE BANK WILL ALSO CONSIDER THE MARKET VALUE OF THE HOME AND THE AVAILABLE EQUITY IN IT.

A LOAN TO VALUE MINIMUM IS USUALLY AT LEAST 80%, MEANING THAT THERE HAS TO BE AT LEAST 20% EQUITY IN THE HOME BEFORE THE BANK WILL CONSIDER AN EQUITY LINE.

MOST BANKS WILL NOT SURPASS THE HOME’S EQUITY BECAUSE THIS WOULD RESULT IN NEGATIVE AMORTIZATION. THIS WOULD MAKE THE LOAN VALUED HIGHER THAN THE VALUE OF THE HOME. AN APPRAISAL IS USUALLY DONE TO VERIFY THE MARKET VALUE OF THE HOME.

3BRICKBACK-BANKS OFTEN DO AN EXTENSIVE BANK CREDIT CHECK IN ORDER TO EXTEND OR APPROVE A BANK CREDIT LOAN LIKE A MORTGAGE.

CURRENTLY LENDING STANDARDS HAVE TIGHTENED AND THOSE WITH A CREDIT RATING

54

Page 55: Bank Project

BELOW 720 MAY HAVE DIFFICULTY OBTAINING A BANK CREDIT LOAN.

ALSO, INTEREST RATES ARE HIGHER FOR THOSE WITH BLEMISHES IN THEIR CREDIT RATING. SOME BANK CREDIT CARDS CAN HAVE INTEREST RATES AS HIGH AS 24%. THIS MAKES GETTING OUT OF DEBT HARDER BECAUSE SO MUCH OF THE PAYMENT IS DEVOTED TO THE INTEREST PAYMENT.

BANKS OFTEN RAISE INTEREST RATES ON THOSE BORROWERS WITH AN ADVERSE CREDIT HISTORY. SOMETIMES THE BANK MIGHT REFUSE TO EXTEND CREDIT AT ALL.

IN THIS CASE, IT IS BEST TO OBTAIN A SECURED CREDIT CARD THAT IS GUARANTEED BY ANOTHER BANK ACCOUNT. HERE THE CREDIT LIMIT IS LOW, AND THE BORROWER REMOVES THE RISK TO THE BANK BY FREEZING THE FUNDS IN A BANK ACCOUNT.

THE BANK CARD CREDIT LIMIT IS IDENTICAL TO THE AMOUNT IN THE ACCOUNT. THE BANK CAN TRANSFER FUNDS FROM THIS ACCOUNT IN ORDER TO SATISFY THE DEBT. THIS WAY THE BANK HAS NO RISK AND THE PERSON WITH BAD CREDIT CAN SLOWLY REBUILDS THEIR CREDIT RATING.

255

Page 56: Bank Project

WHEN LOOKING TO OBTAIN A BANK CREDIT LINE OR A BANK CREDIT LOAN IT IS BEST TO ELIMINATE OR REDUCE ALL OTHER DEBT IN ORDER TO PROVIDE A MORE FAVORABLE CREDIT PROFILE.

THE MORE FAVORABLE THE CREDIT PROFILE THE MORE LIKELY YOU ARE TO OBTAIN A LOAN FOR THE AMOUNT AND TERMS THAT YOU SEEK.

WHEN A BANK EXTENDS A BANK CREDIT LINE WHETHER IN THE FORM OF A CREDIT CARD OR A HOME EQUITY LINE OF CREDIT, HOME EQUITY LOAN, AUTO LOAN, OR PERSONAL LOAN, IT DOES SO AFTER IT REVIEWS THE BORROWER’S CREDIT PROFILE.

THIS INCLUDES THE APPLICANT’S INCOME, THE DEBT TO CREDIT RATIO, AND THE OVERALL CREDIT RATING. IF THE APPLICANT IS SEEKING A

HOME EQUITY LOAN OR A HOME EQUITY

LINE OF CREDIT, THE BANK WILL ALSO CONSIDER THE MARKET VALUE OF THE HOME AND THE AVAILABLE EQUITY IN IT.

56

Page 57: Bank Project

A LOAN TO VALUE MINIMUM IS USUALLY AT LEAST 80%, MEANING THAT THERE HAS TO BE AT LEAST 20% EQUITY IN THE HOME BEFORE THE BANK WILL CONSIDER AN EQUITY LINE.

MOST BANKS WILL NOT SURPASS THE HOME’S EQUITY BECAUSE THIS WOULD RESULT IN NEGATIVE AMORTIZATION. THIS WOULD MAKE THE LOAN VALUED HIGHER THAN THE VALUE OF THE HOME. AN APPRAISAL IS USUALLY DONE TO VERIFY THE MARKET VALUE OF THE HOME.

57

Page 58: Bank Project

58

Page 59: Bank Project

VVISUALISUAL B BASICASICTHIS ARTICLE IS ABOUT THE VISUAL BASIC LANGUAGE SHIPPING WITH MICROSOFT VISUAL STUDIO 6.0 OR EARLIER. FOR THE VISUAL BASIC LANGUAGE SHIPPING WITH MICROSOFT VISUAL STUDIO LATER, SEE VISUAL BASIC

59

Page 60: Bank Project

What is Visual BasicVISUAL BASIC is a high level programming language which  evolved from the earlier DOS version called BASIC. BASIC means Beginners' All-purpose Symbolic Instruction Code. It is a very  easy programming language to learn. The code look a lot  like English Language. Different software companies produced different versions of BASIC, such as Microsoft QBASIC, QUICKBASIC, GWBASIC ,IBM BASICA and so on. However, people prefer to use Microsoft Visual Basic today, as it is a well developed programming language and supporting resources are available everywhere. Now, there are many versions of VB exist in the market, the most popular one and still widely used by many VB programmers is none other than Visual Basic 6. We also have VB.net, VB2005, VB2008 and the latest VB2010. Both Vb2008 and VB2010 are fully object oriented programming (OOP) language. If you wish to learn VB2008, click on the

60

Page 61: Bank Project

VB2008 Tutorial. VB2010 tutorial will be available soon.

VISUAL BASIC is a VISUAL and  events driven Programming Language. These are the main divergence from the old BASIC. In BASIC, programming is done in a text-only environment and the program is executed sequentially. In VB, programming is done in a graphical environment. In the old BASIC, you have to write program code for each graphical object you wish to display it on screen, including its position and its color. However, In VB , you just need to drag and drop any graphical object anywhere on the form, and any graphical object anywhere on the form, and you can change its color any time using the properties windows.

On the other hand, because  the user may click on a certain object randomly, so each object has to be programmed independently to be able to response

VISUAL BASIC (VB) IS THE THIRD-GENERATION EVENT-DRIVEN PROGRAMMING LANGUAGE AND INTEGRATED DEVELOPMENT ENVIRONMENT (IDE) FROM MICROSOFT FOR ITS COM PROGRAMMING MODEL. VB IS ALSO CONSIDERED A RELATIVELY EASY TO LEARN AND USE PROGRAMMING

61

Page 62: Bank Project

LANGUAGE, BECAUSE OF ITS GRAPHICAL DEVELOPMENT FEATURES AND BASIC HERITAGE.

VISUAL BASIC WAS DERIVED FROM BASIC AND ENABLES THE RAPID APPLICATION DEVELOPMENT (RAD) OF GRAPHICAL USER INTERFACE (GUI) APPLICATIONS, ACCESS TO DATABASES USING DATA ACCESS OBJECTS , REMOTE DATA OBJECTS , OR ACTIVEX DATA OBJECTS , AND CREATION OF ACTIVEX CONTROLS AND OBJECTS. SCRIPTING LANGUAGES SUCH AS VBA AND VBSCRIPT ARE SYNTACTICALLY SIMILAR TO VISUAL BASIC, BUT PERFORM DIFFERENTLY.

A PROGRAMMER CAN PUT TOGETHER AN APPLICATION USING THE COMPONENTS PROVIDED WITH VISUAL BASIC ITSELF. PROGRAMS

WRITTEN IN VISUAL BASIC CAN ALSO USE THE WINDOWS API , BUT DOING SO REQUIRES EXTERNAL FUNCTION DECLARATIONS.

THE FINAL RELEASE WAS VERSION 6 IN 1998. MICROSOFT'S EXTENDED SUPPORT ENDED IN MARCH 2008 AND THE DESIGNATED SUCCESSOR WAS (NOW KNOWN SIMPLY AS VISUAL BASIC).

62

Page 63: Bank Project

What programs can you create with Visual Basic 6?

With VB 6, you can create any program depending on your objective. For example, if you are a college or university lecturer,  you can create  educational programs to teach business, economics, engineering, computer science, accountancy , financial management, information system and more to make teaching more effective and interesting. If you are in business, you can also create business programs such as inventory management system , point-of-sale system, payroll system, financial program as well as accounting program to help manage your business and increase productivity. For those of you who like games and working as games programmer, you can create those programs as well. Indeed, there is no limit to what program

you ca you can create ! There are many such programs in this tutorial, so you must spend more time on the tutorial in order to learn how to create those programs. If you wish to see some of the sample programs, you can take a look at the  link below:

63

Page 64: Bank Project

   VB Sample ProgramsThe Visual Basic 6 Integrated Development Environment

Before you can program in VB 6, you need to install Visual Basic 6 in your computer. If you do not own a copy of  Visual Basic 6 software yet , you can purchase it from Amazon.com by clicking the link below:

 Microsoft Visual Basic 6.0 ProfessionalOn start up, Visual Basic 6.0  will display the following dialog box as shown in . You can choose to either start a new project, open an existing project or select a list of recently opened programs. A project is a collection of files that make up your application. There are various types of applications that we could create, however, we shall concentrate on creating Standard EXE programs (EXE means executable program). Now, click on the Standard EXE icon to go into the actual Visual Basic 6 programming environment.  

64

Page 66: Bank Project

8 SEE ALSO 9 REFERENCES

10 EXTERNAL LINKS

LANGUAGE FEATURES

LIKE THE BASIC PROGRAMMING LANGUAGE, VISUAL BASIC WAS DESIGNED TO BE EASILY LEARNED AND USED BY BEGINNER PROGRAMMERS. THE LANGUAGE NOT ONLY ALLOWS PROGRAMMERS TO CREATE SIMPLE GUI APPLICATIONS, BUT CAN ALSO DEVELOP COMPLEX APPLICATIONS. PROGRAMMING IN VB IS A COMBINATION OF VISUALLY ARRANGING COMPONENTS OR CONTROLS ON A FORM , SPECIFYING ATTRIBUTES AND ACTIONS OF THOSE COMPONENTS, AND WRITING ADDITIONAL LINES OF CODE FOR MORE FUNCTIONALITY. SINCE DEFAULT ATTRIBUTES AND ACTIONS ARE DEFINED FOR THE COMPONENTS, A SIMPLE PROGRAM CAN BE CREATED WITHOUT THE PROGRAMMER HAVING TO WRITE MANY LINES OF CODE. PERFORMANCE PROBLEMS WERE EXPERIENCED BY EARLIER VERSIONS, BUT WITH

66

Page 67: Bank Project

FASTER COMPUTERS AND NATIVE CODE COMPILATION THIS HAS BECOME LESS OF AN ISSUE.

ALTHOUGH PROGRAMS CAN BE COMPILED INTO NATIVE CODE EXECUTABLES FROM VERSION 5 ONWARDS , THEY STILL REQUIRE THE PRESENCE OF RUNTIME LIBRARIES OF APPROXIMATELY 1 MB IN SIZE. THIS RUNTIME IS INCLUDED BY DEFAULT IN WINDOWS 2000 AND LATER, BUT FOR EARLIER VERSIONS OF WINDOWS LIKE 95/98/NT IT MUST BE DISTRIBUTED TOGETHER WITH THE EXECUTABLE.

FORMS ARE CREATED USING DRAG-AND-DROP TECHNIQUES. A TOOL IS USED TO PLACE CONTROLS (E.G., TEXT BOXES, BUTTONS, ETC.) ON THE FORM (WINDOW). CONTROLS HAVE ATTRIBUTES AND EVENT HANDLERS ASSOCIATED WITH THEM. DEFAULT VALUES ARE PROVIDED WHEN THE CONTROL IS CREATED, BUT MAY BE CHANGED BY THE PROGRAMMER.

MANY ATTRIBUTE VALUES CAN BE MODIFIED DURING RUN TIME BASED ON USER ACTIONS OR CHANGES IN THE ENVIRONMENT, PROVIDING A DYNAMIC APPLICATION. FOR EXAMPLE, CODE CAN BE INSERTED INTO THE FORM RESIZE EVENT HANDLER TO REPOSITION A CONTROL SO THAT IT REMAINS CENTERED ON THE FORM, EXPANDS TO FILL UP THE FORM, ETC. BY INSERTING CODE INTO

67

Page 68: Bank Project

THE EVENT HANDLER FOR A KEYPRESS IN A TEXT BOX, THE PROGRAM CAN AUTOMATICALLY TRANSLATE THE CASE OF THE TEXT BEING ENTERED, OR EVEN PREVENT CERTAIN CHARACTERS FROM BEING INSERTED.

VISUAL BASIC CAN CREATE EXECUTABLES (EXE FILES), ACTIVEX CONTROLS , OR DLL FILES, BUT IS PRIMARILY USED TO DEVELOP WINDOWS APPLICATIONS AND TO INTERFACE DATABASE SYSTEMS. DIALOG BOXES WITH LESS FUNCTIONALITY CAN BE USED TO PROVIDE POP-UP CAPABILITIES. CONTROLS PROVIDE THE BASIC FUNCTIONALITY OF THE APPLICATION, WHILE PROGRAMMERS CAN INSERT ADDITIONAL LOGIC WITHIN THE APPROPRIATE EVENT HANDLERS. FOR EXAMPLE, A DROP-DOWN COMBINATION BOX WILL AUTOMATICALLY DISPLAY ITS LIST AND ALLOW THE USER TO SELECT ANY ELEMENT. AN EVENT HANDLER IS CALLED WHEN AN ITEM IS SELECTED, WHICH CAN THEN EXECUTE ADDITIONAL CODE CREATED BY THE PROGRAMMER TO PERFORM SOME ACTION BASED ON WHICH ELEMENT WAS SELECTED, SUCH AS POPULATING A RELATED LIST.

ALTERNATIVELY, A VISUAL BASIC COMPONENT CAN HAVE NO USER INTERFACE, AND INSTEAD PROVIDE ACTIVEX OBJECTS TO OTHER PROGRAMS VIA COMPONENT OBJECT MODEL (COM). THIS

68

Page 69: Bank Project

ALLOWS FOR SERVER-SIDE PROCESSING OR AN ADD-IN MODULE.

THE LANGUAGE IS GARBAGE COLLECTED USING REFERENCE COUNTING , HAS A LARGE LIBRARY OF UTILITY OBJECTS, AND HAS BASIC OBJECT ORIENTED SUPPORT . SINCE THE MORE COMMON COMPONENTS ARE INCLUDED IN THE DEFAULT PROJECT TEMPLATE, THE PROGRAMMER SELDOM NEEDS TO SPECIFY ADDITIONAL LIBRARIES. UNLIKE MANY OTHER PROGRAMMING LANGUAGES, VISUAL BASIC IS GENERALLY NOT CASE SENSITIVE, ALTHOUGH IT WILL TRANSFORM KEYWORDS INTO A STANDARD CASE CONFIGURATION AND FORCE THE CASE OF VARIABLE NAMES TO CONFORM TO THE CASE OF THE ENTRY WITHIN THE SYMBOL TABLE. STRING COMPARISONS ARE CASE SENSITIVE BY DEFAULT, BUT CAN BE MADE CASE INSENSITIVE IF SO DESIRED.

The Visual Basic compiler is shared with The Visual Basic compiler is shared with other Visual Studio languages (C, C++), other Visual Studio languages (C, C++), but restrictions in the IDE do not allow but restrictions in the IDE do not allow the creation of some targets (Windows the creation of some targets (Windows model DLLs) and threading models.model DLLs) and threading models.

69

Page 70: Bank Project

CHARACTERISTICS

VISUAL BASIC HAS THE FOLLOWING TRAITS WHICH DIFFER FROM C-DERIVED LANGUAGES:

MULTIPLE ASSIGNMENT AVAILABLE IN C LANGUAGE IS NOT POSSIBLE. A = B = C DOES NOT IMPLY THAT THE VALUES OF A, B AND C ARE EQUAL. THE BOOLEAN RESULT OF "IS B = C?" IS STORED IN A. THE RESULT STORED IN A WOULD THEREFORE BE EITHER FALSE OR TRUE.

BOOLEAN CONSTANT TRUE HAS NUMERIC VALUE −1.

THIS IS BECAUSE THE BOOLEAN DATA TYPE IS STORED AS A 16-BIT SIGNED INTEGER. IN THIS CONSTRUCT −1 EVALUATES TO 16 BINARY 1S (THE BOOLEAN VALUE TRUE), AND 0 AS 16 0S (THE BOOLEAN VALUE FALSE). THIS IS APPARENT WHEN PERFORMING A NOT OPERATION ON A 16 BIT SIGNED INTEGER VALUE 0 WHICH WILL RETURN THE INTEGER VALUE −1, IN OTHER WORDS TRUE = NOT FALSE. THIS INHERENT FUNCTIONALITY BECOMES ESPECIALLY USEFUL WHEN PERFORMING LOGICAL OPERATIONS ON THE INDIVIDUAL BITS OF AN INTEGER SUCH AS AND, OR, XOR AND NOT. THIS DEFINITION OF TRUE IS ALSO CONSISTENT WITH BASIC SINCE

70

Page 71: Bank Project

THE EARLY 1970S MICROSOFT BASIC IMPLEMENTATION AND IS ALSO RELATED TO THE CHARACTERISTICS OF CPU INSTRUCTIONS AT THE TIME.

LOGICAL AND BITWISE OPERATORS ARE UNIFIED. THIS IS UNLIKE SOME C-DERIVED LANGUAGES (SUCH AS PERL ), WHICH HAVE SEPARATE LOGICAL AND BITWISE OPERATORS. THIS AGAIN IS A TRADITIONAL FEATURE OF BASIC.

VARIABLE ARRAY BASE. ARRAYS ARE DECLARED BY SPECIFYING THE UPPER AND LOWER BOUNDS IN A WAY SIMILAR TO PASCAL AND FORTRAN . IT IS ALSO POSSIBLE TO USE THE OPTION BASE STATEMENT TO SET THE DEFAULT LOWER BOUND. USE OF THE OPTION BASE STATEMENT CAN LEAD TO CONFUSION WHEN READING VISUAL BASIC CODE AND IS BEST AVOIDED BY ALWAYS EXPLICITLY SPECIFYING THE LOWER BOUND OF THE ARRAY. THIS LOWER BOUND IS NOT LIMITED TO 0 OR 1, BECAUSE IT CAN ALSO BE SET BY DECLARATION. IN THIS WAY, BOTH THE LOWER AND

UPPER BOUNDS ARE PROGRAMMABLE. IN MORE SUBSCRIPT-LIMITED LANGUAGES, THE LOWER BOUND OF THE ARRAY IS NOT VARIABLE. THIS UNCOMMON TRAIT DOES EXIST IN BUT NOT IN

71

Page 72: Bank Project

OPTION BASE WAS INTRODUCED BY ANSI, WITH THE STANDARD FOR ANSI MINIMAL BASIC IN THE LATE 1970S.

RELATIVELY STRONG INTEGRATION WITH THE WINDOWS OPERATING SYSTEM AND THE COMPONENT OBJECT MODEL . THE NATIVE TYPES FOR STRINGS AND ARRAYS ARE THE DEDICATED COM TYPES, BSTR AND SAFEARRAY.

BANKER'S ROUNDING AS THE DEFAULT BEHAVIOR WHEN CONVERTING REAL NUMBERS TO INTEGERS WITH THE ROUND FUNCTION. FOR INSTANCE, THE COMMAND ROUND(2.4, 0) GIVES 2, WHILE ROUND(3.5, 0) RETURNS 4.

INTEGERS ARE AUTOMATICALLY PROMOTED TO REALS IN EXPRESSIONS INVOLVING THE NORMAL DIVISION OPERATOR (/) SO THAT DIVISION OF ONE INTEGER BY ANOTHER PRODUCES THE INTUITIVELY CORRECT RESULT. THERE IS A SPECIFIC INTEGER DIVIDE OPERATOR (\) WHICH DOES TRUNCATE.

BY DEFAULT, IF A VARIABLE HAS NOT BEEN DECLARED OR IF NO TYPE DECLARATION CHARACTER IS SPECIFIED, THE VARIABLE IS OF TYPE VARIANT . HOWEVER THIS CAN BE CHANGED WITH DEFTYPE STATEMENTS SUCH AS DEFINT, DEFBOOL, DEFVAR, DEFOBJ, DEFSTR. THERE ARE 12 DEFTYPE

72

Page 73: Bank Project

STATEMENTS IN TOTAL OFFERED BY VISUAL BASIC 6.0. THE DEFAULT TYPE MAY BE OVERRIDDEN FOR A SPECIFIC DECLARATION BY USING A SPECIAL SUFFIX CHARACTER ON THE VARIABLE NAME (# FOR DOUBLE, ! FOR

SINGLE, & FOR LONG, % FOR INTEGER, $ FOR STRING, AND @ FOR CURRENCY) OR USING THE KEY PHRASE AS (TYPE). VB CAN ALSO BE SET IN A MODE THAT ONLY EXPLICITLY DECLARED VARIABLES CAN BE USED WITH THE COMMAND OPTION EXPLICIT.

HISTORY

VB 1.0 WAS INTRODUCED IN 1991. THE DRAG AND DROP DESIGN FOR CREATING THE USER INTERFACE IS DERIVED FROM A PROTOTYPE FORM GENERATOR DEVELOPED BY ALAN COOPER AND HIS COMPANY CALLED TRIPOD. MICROSOFT CONTRACTED WITH COOPER AND HIS ASSOCIATES TO DEVELOP TRIPOD INTO A PROGRAMMABLE FORM SYSTEM FOR WINDOWS 3.0, UNDER THE CODE NAME RUBY (NO RELATION TO THE TRIPOD DID NOT INCLUDE A PROGRAMMING LANGUAGE AT ALL. MICROSOFT DECIDED TO COMBINE RUBY WITH THE BASIC LANGUAGE TO CREATE VISUAL BASIC.

THE RUBY INTERFACE GENERATOR PROVIDED THE "VISUAL" PART OF VISUAL BASIC AND THIS WAS COMBINED WITH THE "EB" EMBEDDED BASIC

73

Page 74: Bank Project

ENGINE DESIGNED FOR MICROSOFT'S ABANDONED "OMEGA" DATABASE SYSTEM. RUBY ALSO PROVIDED THE ABILITY TO LOAD DYNAMIC LINK LIBRARIES CONTAINING ADDITIONAL CONTROLS (THEN CALLED "GIZMOS"), WHICH LATER BECAME THE VBX INTERFACE.

TIMELINE

PROJECT 'THUNDER' WAS INITIATED VISUAL BASIC 1.0 (MAY 1991 ) WAS

RELEASED FOR WINDOWS AT THE COMDEX/WINDOWS WORLD TRADE SHOW IN ATLANTA, GEORGIA.

VISUAL BASIC 1.0 FOR DOS WAS RELEASED IN SEPTEMBER 1992 . THE LANGUAGE ITSELF WAS NOT QUITE COMPATIBLE WITH VISUAL BASIC FOR WINDOWS, AS IT WAS ACTUALLY THE NEXT VERSION OF MICROSOFT'S DOS-BASED BASIC COMPILERS, QUICKBASIC AND BASIC PROFESSIONAL DEVELOPMENT SYSTEM. THE INTERFACE USED A TEXT USER INTERFACE , USING EXTENDED ASCII CHARACTERS TO SIMULATE THE APPEARANCE OF A GUI .

74

Page 75: Bank Project

VISUAL BASIC FOR MS-DOS VISUAL BASIC 2.0 WAS RELEASED IN

NOVEMBER 1992 . THE PROGRAMMING ENVIRONMENT WAS EASIER TO USE, AND ITS SPEED WAS IMPROVED. NOTABLY, FORMS BECAME INSTANTIABLE OBJECTS, THUS LAYING THE FOUNDATIONAL CONCEPTS OF CLASS MODULES AS WERE LATER OFFERED IN VB4.

VISUAL BASIC 3.0 WAS RELEASED IN THE SUMMER OF 1993 AND CAME IN STANDARD

75

Page 76: Bank Project

AND PROFESSIONAL VERSIONS. VB3 INCLUDED VERSION 1.1 OF THE MICROSOFT JET DATABASE ENGINE THAT COULD READ AND WRITE JET (OR ACCESS) 1.X DATABASES.

VISUAL BASIC 4.0 (AUGUST 1995 ) WAS THE FIRST VERSION THAT COULD CREATE 32-BIT AS WELL AS 16-BIT WINDOWS PROGRAMS. IT ALSO INTRODUCED THE ABILITY TO WRITE NON-GUI CLASSES IN VISUAL BASIC. INCOMPATIBILITIES BETWEEN DIFFERENT RELEASES OF VB4 CAUSED INSTALLATION AND OPERATION PROBLEMS. WHILE PREVIOUS VERSIONS OF VISUAL BASIC HAD USED VBX CONTROLS, VISUAL BASIC NOW USED OLE CONTROLS (WITH FILES NAMES ENDING IN .OCX) INSTEAD. THESE WERE LATER TO BE NAMED ACTIVEX CONTROLS.

WITH VERSION 5.0 (FEBRUARY 1997 ), MICROSOFT RELEASED VISUAL BASIC EXCLUSIVELY FOR 32-BIT VERSIONS OF WINDOWS. PROGRAMMERS WHO PREFERRED TO WRITE 16-BIT PROGRAMS WERE ABLE TO IMPORT PROGRAMS WRITTEN IN

VISUAL BASIC 4.0 TO VISUAL BASIC 5.0, AND VISUAL BASIC 5.0 PROGRAMS CAN EASILY BE CONVERTED WITH VISUAL BASIC 4.0. VISUAL BASIC 5.0 ALSO INTRODUCED THE ABILITY TO

76

Page 77: Bank Project

CREATE CUSTOM USER CONTROLS, AS WELL AS THE ABILITY TO COMPILE TO NATIVE WINDOWS EXECUTABLE CODE, SPEEDING UP CALCULATION-INTENSIVE CODE EXECUTION. A FREE, DOWNLOADABLE CONTROL CREATION EDITION WAS ALSO RELEASED FOR CREATION OF ACTIVEX CONTROLS . IT WAS ALSO USED AS AN INTRODUCTORY FORM OF VISUAL BASIC: A REGULAR .EXE PROJECT COULD BE CREATED AND RUN IN THE IDE, BUT NOT COMPILED.

VISUAL BASIC 6.0 (MID 1998 ) IMPROVED IN A NUMBER OF AREAS INCLUDING THE ABILITY TO CREATE WEB-BASED APPLICATIONS. VB6 HAS ENTERED MICROSOFT'S "NON-SUPPORTED PHASE" AS OF MARCH 2008 . ALTHOUGH THE VISUAL BASIC 6.0 DEVELOPMENT ENVIRONMENT IS NO LONGER SUPPORTED, THE RUNTIME IS SUPPORTED ON WINDOWS VISTA, WINDOWS SERVER 2008 AND WINDOWS 7.

MAINSTREAM SUPPORT FOR MICROSOFT VISUAL BASIC 6.0 ENDED ON MARCH 31, 2005. EXTENDED SUPPORT ENDED IN MARCH 2008. IN RESPONSE, THE VISUAL BASIC USER COMMUNITY EXPRESSED ITS GRAVE CONCERN AND LOBBIED USERS TO SIGN A PETITION TO KEEP THE PRODUCT ALIVE. MICROSOFT HAS SO FAR REFUSED TO CHANGE THEIR POSITION ON THE MATTER. (BUT SEE IRONICALLY, AROUND

77

Page 78: Bank Project

THIS TIME (2005), IT WAS EXPOSED THAT MICROSOFT'S NEW ANTI-

SPYWARE OFFERING, MICROSOFT ANTISPYWARE (PART OF THE GIANT COMPANY SOFTWARE PURCHASE), WAS CODED IN VISUAL BASIC 6.0. ITS REPLACEMENT, WINDOWS DEFENDER, WAS REWRITTEN AS C++ CODE.

DERIVATIVE LANGUAGES

MICROSOFT HAS DEVELOPED DERIVATIVES OF VISUAL BASIC FOR USE IN SCRIPTING . VISUAL

78

Page 79: Bank Project

BASIC ITSELF IS DERIVED HEAVILY FROM BASIC , AND SUBSEQUENTLY HAS BEEN REPLACED WITH A .NET PLATFORM VERSION.

SOME OF THE DERIVED LANGUAGES ARE:

VISUAL BASIC FOR APPLICATIONS (VBA) IS INCLUDED IN MANY MICROSOFT APPLICATIONS (MICROSOFT OFFICE ), AND ALSO IN MANY THIRD-PARTY PRODUCTS LIKE SOLIDWORKS , AUTOCAD , WORDPERFECT OFFICE 2002 , ARCGIS , SAGE ACCPAC ERP , AND BUSINESS OBJECTS DESKTOP INTELLIGENCE. THERE ARE SMALL INCONSISTENCIES IN THE WAY VBA IS IMPLEMENTED IN DIFFERENT APPLICATIONS, BUT IT IS LARGELY THE SAME LANGUAGE AS VB6 AND USES THE SAME RUNTIME LIBRARY.

VBSCRIPT IS THE DEFAULT LANGUAGE FOR ACTIVE SERVER PAGES . IT CAN BE USED IN WINDOWS SCRIPTING AND CLIENT-SIDE WEB PAGE SCRIPTING. ALTHOUGH IT RESEMBLES VB IN SYNTAX, IT IS A SEPARATE LANGUAGE AND IT IS EXECUTED BY VBSCRIPT.DLL AS OPPOSED TO THE VB RUNTIME. ASP AND VBSCRIPT SHOULD NOT BE CONFUSED WITH WHICH USES THE FOR COMPILED WEB PAGES.

VISUAL BASIC .NET IS MICROSOFT'S DESIGNATED SUCCESSOR TO VISUAL BASIC 6.0, AND IS PART OF MICROSOFT'S

79

Page 80: Bank Project

PLATFORM. VISUAL BASIC.NET COMPILES AND RUNS USING THE .NET FRAMEWORK. IT IS NOT BACKWARDS COMPATIBLE WITH VB6. AN AUTOMATED CONVERSION TOOL EXISTS, BUT FULLY AUTOMATED CONVERSION FOR MOST PROJECTS IS IMPOSSIBLE.

STAROFFICE BASIC IS A VISUAL BASIC COMPATIBLE INTERPRETER INCLUDED IN STAROFFICE SUITE, DEVELOPED BY SUN MICROSYSTEMS .

GAMBAS IS A VISUAL BASIC INSPIRED FREE SOFTWARE PROGRAMMING LANGUAGE. IT IS NOT A CLONE OF VISUAL BASIC,

BUT IT DOES HAVE THE ABILITY TO CONVERT VISUAL BASIC PROGRAMS TO GAMBAS.

PERFORMANCE AND OTHER ISSUES

EARLIER COUNTERPARTS OF VISUAL BASIC (PRIOR TO VERSION 5) COMPILED THE CODE TO P-CODE ONLY. VISUAL BASIC 5 AND 6 ARE ABLE TO COMPILE THE CODE TO EITHER NATIVE OR P-CODE AS THE PROGRAMMER CHOOSES. THE P-CODE IS INTERPRETED BY THE LANGUAGE RUNTIME, ALSO KNOWN AS VIRTUAL MACHINE, IMPLEMENTED FOR BENEFITS SUCH AS PORTABILITY AND SMALL CODE. HOWEVER, IT USUALLY SLOWS DOWN THE EXECUTION BY ADDING AN ADDITIONAL LAYER OF

80

Page 81: Bank Project

INTERPRETATION OF CODE BY THE RUNTIME ALTHOUGH SMALL AMOUNTS OF CODE AND ALGORITHMS CAN BE CONSTRUCTED TO RUN FASTER THAN THE COMPILED NATIVE CODE. VISUAL BASIC APPLICATIONS REQUIRE MICROSOFT VISUAL BASIC RUNTIME MSVBVMXX.DLL, WHERE XX IS THE RELEVANT VERSION NUMBER, EITHER 50 OR 60. MSVBVM60.DLL COMES AS STANDARD WITH WINDOWS IN ALL EDITIONS AFTER WINDOWS 98 WHILE MSVBVM50.DLL COMES WITH ALL EDITIONS AFTER WINDOWS 95. A WINDOWS 95 MACHINE WOULD HOWEVER REQUIRE INCLUSION WITH THE INSTALLER OF WHICHEVER DLL WAS NEEDED BY THE PROGRAM.Criticisms levelled at Visual Basic editions prior to VB.NET include: Versioning problems associated with various runtime DLLs, known as DLL HELL

POOR SUPPORT FOR OBJECT-ORIENTED PROGRAMMING

INABILITY TO CREATE MULTI-THREADED APPLICATIONS, WITHOUT RESORTING TO WINDOWS API CALLS

INABILITY TO CREATE WINDOWS SERVICES VARIANT TYPES HAVE A GREATER

PERFORMANCE AND STORAGE OVERHEAD THAN STRONGLY TYPED PROGRAMMING LANGUAGES

81

Page 82: Bank Project

DEPENDENCY ON COMPLEX AND FRAGILE COM REGISTRY ENTRIES

THE DEVELOPMENT ENVIRONMENT IS NO LONGER SUPPORTED BY MICROSOFT.

LEGACY DEVELOPMENT AND SUPPORT

ALL VERSIONS OF THE VISUAL BASIC DEVELOPMENT ENVIRONMENT FROM 1.0 TO 6.0 HAVE BEEN RETIRED AND ARE NOW UNSUPPORTED BY MICROSOFT. THE ASSOCIATED RUNTIME ENVIRONMENTS ARE UNSUPPORTED TOO, WITH THE EXCEPTION OF THE VISUAL BASIC 6 CORE RUNTIME ENVIRONMENT, WHICH WILL BE OFFICIALLY SUPPORTED BY MICROSOFT FOR THE LIFETIME OF WINDOWS 7 .

THIRD PARTY COMPONENTS THAT SHIPPED WITH VISUAL STUDIO 6.0 ARE NOT INCLUDED IN THIS SUPPORT STATEMENT. SOME LEGACY VISUAL BASIC COMPONENTS MAY STILL WORK ON NEWER PLATFORMS, DESPITE BEING UNSUPPORTED BY MICROSOFT AND OTHER VENDORS.

DEVELOPMENT AND MAINTENANCE DEVELOPMENT FOR VISUAL BASIC 6 IS POSSIBLE ON LEGACY WINDOWS XP, WINDOWS VISTA AND WINDOWS 2003 USING VISUAL STUDIO 6.0 PLATFORMS, BUT IS UNSUPPORTED. DOCUMENTATION FOR VISUAL BASIC 6.0,

82

Page 83: Bank Project

ITS APPLICATION PROGRAMMING INTERFACE AND TOOLS IS BEST COVERED IN THE LAST MSDN RELEASE BEFORE VISUAL STUDIO.NET 2002. LATER RELEASES OF MSDN FOCUSED ON .NET DEVELOPMENT AND HAD SIGNIFICANT PARTS OF THE VISUAL BASIC 6.0 PROGRAMMING DOCUMENTATION REMOVED. THE VISUAL BASIC IDE CAN BE INSTALLED AND USED ON WINDOWS VISTA, WHERE IT EXHIBITS SOME MINOR INCOMPATIBILITIES WHICH DO NOT HINDER NORMAL SOFTWARE DEVELOPMENT AND MAINTENANCE. AS OF AUGUST 2008 , BOTH VISUAL STUDIO 6.0 AND THE MSDN DOCUMENTATION MENTIONED ABOVE ARE AVAILABLE FOR DOWNLOAD BY MSDN SUBSCRIBERS.

EXAMPLE CODE

HERE IS AN EXAMPLE OF THE LANGUAGE: CODE SNIPPET THAT DISPLAYS A MESSAGE BOX "HELLO, WORLD!" AS THE WINDOW FORM LOADS:

PRIVATE SUB FORM_LOAD() ' EXECUTE A SIMPLE MESSAGE BOX THAT WILL SAY "HELLO, WORLD!" MSGBOX "HELLO, WORLD!"END SUB

83

Page 84: Bank Project

84

Page 85: Bank Project

85

Page 86: Bank Project

LOGIN FORM CODINGLOGIN FORM CODING

Private Sub Command1_Click()Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf Combo1 = Adodc1.Recordset.Fields(0) And Text1 = Adodc1.Recordset.Fields(1) ThenLoad MDIForm1MDIForm1.ShowMsgBox "WELCOME TO BANKING SYSTEAM"Exit SubElseAdodc1.Recordset.MoveFirstEnd IfLoopMsgBox "INVALID PASSWORD"End Sub_____________________________________________________________Private Sub Command2_Click()If MsgBox("ARE U SURE U WANT TO EXIT", vbYesNo) = vbYes ThenEndElseMsgBox "AGAIN CONTINUE IN THIS PROJECT"End IfEnd Sub_____________________________________________________________Private Sub Form_Load()Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFCombo1.AddItem Adodc1.Recordset.Fields(0)Adodc1.Recordset.MoveNextLoopEnd Sub_____________________________________________________________Private Sub Timer1_Timer()Label2.Caption = Date

86

Page 87: Bank Project

Label4.Caption = TimeEnd Sub

ADD NEW USERS CODINGADD NEW USERS CODINGPrivate Sub Command1_Click()If Text2 = Text3 ThenAdodc1.Recordset.AddNewAdodc1.Recordset.Fields(0) = Text1Adodc1.Recordset.Fields(1) = Text2Text1 ""Text2 ""Text3 ""MsgBox "NEW LOGIN USERS ADDED"ElseMsgBox "RE-ENTER PASSWORD DOES NOT MATCH"Text1 ""Text2 ""Text3 ""End If_____________________________________________________________

DELETE USERS CODINGDELETE USERS CODING

End SubPrivate Sub Command1_Click()Adodc1.Recordset.MoveFirstDOUNTIL Adodc1.Recordset.EOFIf Combo1 = Adodc1.Recordset.Fields(0) ThenAdodc1.Recordset.DeleteAdodc1.Recordset.MovePreviousEnd Sub

_____________________________________________________________

87

Page 88: Bank Project

CHANGE PASSWORD CODINGCHANGE PASSWORD CODING

Private Sub Command1_Click()If Text2 = Text3 ThenAdodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf Combo1 = Adodc1.Recordset.Fields(0) ThenAdodc1.Recordset.Fields(1) = Text2MsgBox "password Updated"Combo1 = ""Text1 = ""Text2 = ""Text3 = ""Exit SubElseAdodc1.Recordset.MoveNextEnd IfLoopElseMsgBox "Re-enter password does not match"End IfEnd Sub_____________________________________________________________Private Sub Form_Load()Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFCombo1.AddItem Adodc1.Recordset.Fields(0)Adodc1.Recordset.MoveNextLoopEnd Sub

88

Page 89: Bank Project

Private Sub Text1_Change()Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf Combo1 = Adodc1.Recordset.Fields(0) And Text1 = Adodc1.Recordset.Fields(1) ThenLabel4.Visible = TrueLabel5.Visible = TrueText2.Visible = TrueText3.Visible = TrueCommand1.Enabled = TrueExit SubElseLabel4.Visible = FalseLabel5.Visible = FalseText2.Visible = FalseText3.Visible = FalseCommand1.Enabled = FalseAdodc1.Recordset.MoveNextEnd If_____________________________________________________________

ACOUNT OPENING FORM CODING

Private Sub Command1_Click()Adodc1.Recordset.Fields(0) = Text1Adodc1.Recordset.Fields(1) = Text2Adodc1.Recordset.Fields(2) = Text3Adodc1.Recordset.Fields(3) = Text4Adodc1.Recordset.Fields(4) = Text5Adodc1.Recordset.Fields(5) = Combo1

89

Page 90: Bank Project

Adodc1.Recordset.Fields(6) = Combo2Adodc1.Recordset.Fields(7) = Combo3Adodc1.Recordset.Fields(8) = Combo4

Adodc1.Recordset.Fields(9) = Combo5Adodc1.Recordset.Fields(10) = Combo6 + "/" + Combo7 + "/" + Combo8Adodc1.Recordset.Fields(11) = Text6Adodc1.Recordset.Fields(12) = Combo9Adodc1.Recordset.Fields(13) = Text7Adodc1.Recordset.Fields(14) = Combo10Adodc1.Recordset.Update

_____________________________________________________________

End SubPrivate Sub Command2_Click()a = InputBox("Enter Employee ID")Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf a = Adodc1.Recordset.Fields(0) ThenText1 = Adodc1.Recordset.Fields(0)Text2 = Adodc1.Recordset.Fields(1)Combo1.Text = Adodc1.Recordset.Fields(2)Combo2.Text = Adodc1.Recordset.Fields(3)Text3 = Adodc1.Recordset.Fields(4)Text4 = Adodc1.Recordset.Fields(5)Combo3.Text = Adodc1.Recordset.Fields(6)Combo4.Text = Adodc1.Recordset.Fields(7)Text5 = Adodc1.Recordset.Fields(8)Text6 = Adodc1.Recordset.Fields(9)Combo5.Text = Adodc1.Recordset.Fields(10)MsgBox "Record Found"Exit SubElseAdodc1.Recordset.MoveNextEnd IfLoopMsgBox "Record Not Found"End Sub_____________________________________________________________

90

Page 91: Bank Project

Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MovePreviousEnd Sub

Private Sub Command3_Click()a = InputBox("ENTRY ACOUNT NO")Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf a = Adodc1.Recordset.Fields(1) ThenText1 = Adodc1.Recordset.Fields(0)Text2 = Adodc1.Recordset.Fields(1)End Sub

_____________________________________________________________Private Sub Form_Load()Combo1.AddItem "MALE"Combo1.AddItem "FEMALE"Combo2.AddItem "MATRIC"Combo2.AddItem "INTER"Combo2.AddItem "GRADUCATION"Combo2.AddItem "POST GRADUCATION"Combo3.AddItem "SC/ST"Combo3.AddItem "GENRAL"Combo4.AddItem "MARIED"Combo4.AddItem "NON-MARID"Combo5.AddItem "INDIAN"Combo5.AddItem "CHINA"Combo5.AddItem "PAKISTAN"Combo5.AddItem "AMERICAN"Combo5.AddItem "GERMAN"Combo5.AddItem "FRANCH"Combo5.AddItem "AUSTRLIYA"Combo5.AddItem "AFRICI"FOR A = 1 to 31Combo6.AddItem aNextFOR A = 1 to 12Combo7.AddItem a

91

Page 92: Bank Project

NextFOR A = 1950 to 2000

Combo8.AddItem anextCombo9.AddItem "current"Combo9.AddItem "deposit"FORA = 1 - 31Combo10.AddItem aNextFORA = 1 - 12Combo11.AddItem aNextFORA = 1950 - 2000Combo12.AddItem aEnd Sub-_____________________________________________________________

WITHDRAWL FORM CODINGWITHDRAWL FORM CODING

Private Sub Command1_Click()Adodc1.Recordset.AddNewAdodc1.Recordset.Fields(0) = LABEL1Adodc1.Recordset.Fields(1) = Text1Adodc1.Recordset.Fields(2) = Text2Adodc1.Recordset.Fields(3) = Text3Adodc1.Recordset.Fields(4) = Text4Adodc1.Recordset.Fields(5) = Option1Adodc1.Recordset.Fields(6) = Option2Adodc1.Recordset.Fields(7) = Text5Adodc1.Recordset.UpdateEnd Sub_____________________________________________________________

Private Sub Command2_Click()

92

Page 93: Bank Project

Adodc1.Recordset.DeleteAdodc1.Recordset.MovePreviousEnd Sub-_____________________________________________________________

Private Sub Option1_Click()If Option1.Enabled = True ThenText5 = Text3 - Text4End IfEnd Sub_____________________________________________________________

Private Sub Option2_Click()If Option2.Enabled = True ThenText5 = Int(Text3) + Int(Text4)End IfEnd Sub-_____________________________________________________________

Private Sub Text1_Change()Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf Text1 = Adodc1.Recordset.Fields(1) ThenText2 = Adodc1.Recordset.Fields(2)Text3 = Adodc1.Recordset.Fields(3)Exit SubElseAdodc1.Recordset.MoveNextEnd IfLoopEnd Sub_____________________________________________________________

Private Sub Timer1_Timer()Label7.Caption = DateEnd Sub

93

Page 94: Bank Project

____________________________________________________________

FUND FORM CODINGFUND FORM CODING

Private Sub Command1_Click()Adodc1.Recordset.Fields(0) = Text1Adodc1.Recordset.Fields(1) = Combo1Adodc1.Recordset.Fields(2) = Text2Adodc1.Recordset.Fields(3) = Text3Adodc1.Recordset.Fields(4) = Text4Adodc1.Recordset.Fields(5) = Combo2Adodc1.Recordset.Fields(6) = Combo3Adodc1.Recordset.Fields(7) = Text5Adodc1.Recordset.Fields(8) = Option1.CaptionElseAdodc1.Recordset.Fields(8) = Option2.CaptionAdodc1.Recordset.Fields(9) = Combo4 + "/" + Combo5 + "/" + Combo6Adodc1.Recordset.UpdateEnd Sub_____________________________________________________________

Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MoveFirstEnd Sub_____________________________________________________________

Private Sub Form_Load()FORA = 1950 - 2005Combo1.AddItemCombo2.AddItem = "SONBHADRA"Combo2.AddItem = "MIRJAPUR"Combo2.AddItem = "SINGRAULI"Combo2.AddItem = "SIDHI"Combo2.AddItem = "VARANSI"

94

Page 95: Bank Project

Combo3.AddItem = "UTTAR PRADESH"Combo3.AddItem = "BIHAR"Combo3.AddItem = "MADHAY PRADESH"Combo3.AddItem = "CHHATISGARH"Combo3.AddItem = "GOA"FOR A = 1 to 31Combo4.AddItem aNextFOR A = 1 to 12Combo5.AddItem aNextFOR A = 1950 to 2000Combo6.AddItem aEnd Sub

DETAIL OF PAYMENT CODINGDETAIL OF PAYMENT CODING

Private Sub Command1_Click()Adodc1.Recordset.Fields(0) = Combo1 + "/" + Combo2 + "/" + Combo3Adodc1.Recordset.Fields(1) = Text1Adodc1.Recordset.Fields(2) = Text2Adodc1.Recordset.Fields(3) = Text3Adodc1.Recordset.Fields(4) = Text4Adodc1.Recordset.Fields(5) = Text5Adodc1.Recordset.Fields(6) = Text6Adodc1.Recordset.Fields(7) = Text7Adodc1.Recordset.Fields(8) = Combo4Adodc1.Recordset.UpdateEnd Sub_____________________________________________________________

Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MoveFirstEnd Sub

95

Page 96: Bank Project

Private Sub Form_Load()FORA = 1 - 31Combo1.AddItem aNextFORA = 1 - 12Combo2.AddItem aNextFORA = 1950 - 2009Combo3.AddItem aCombo4.AddItem "HUNDRAD"Combo4.AddItem "THOUSAND"Combo4.AddItem "LACKHS"Combo4.AddItem "CARORES"End Sub_____________________________________________________________

Private Sub Text7_Change()Text7 = Int(Text2) + Int(Text3) + Int(Text4) + Int(Text5) + Int(Text6) - Text1End Sub

-_____________________________________________________________

STUDENT LOAN FORM CODINGSTUDENT LOAN FORM CODING

Private Sub WF_Click()Load Form6Form6.ShowForm6.SetFocusEnd SubPrivate Sub Combo1_Change()

96

Page 97: Bank Project

If Combo1.Text = "EDUCATIONAL" ThenTEX2 = "1 LACKS TO 7.5 LACKS"Text4 = "8%"ElseIf Combo1.Text = "PERSONAL" ThenTEX2 = "1 LACKS TO 4.5 LACKS"Text4 = "10.5%"ElseIf Combo1.Text = "BUSINESS" ThenTEX2 = "1 LACKS TO 10 LACKS"Text4 = "12%"End IfEnd Sub_____________________________________________________________

Private Sub Command1_Click()Adodc1.Recordset.AddNew

Adodc1.Recordset.Fields(0) = Text1Adodc1.Recordset.Fields(1) = Text2Adodc1.Recordset.Fields(2) = Combo1Adodc1.Recordset.Fields(3) = Combo2Adodc1.Recordset.Fields(4) = Text3Adodc1.Recordset.Fields(5) = Text4Adodc1.Recordset.Fields(6) = Text5Adodc1.Recordset.Fields(7) = Text6Adodc1.Recordset.Fields(8) = Combo3Adodc1.Recordset.Fields(9) = Text7Adodc1.Recordset.Fields(10) = Text8Adodc1.Recordset.Fields(11) = Text9Adodc1.Recordset.Fields(12) = Text10Adodc1.Recordset.Fields(13) = Text11Adodc1.Recordset.Fields(14) = Text12Adodc1.Recordset.Fields(15) = Text13Adodc1.Recordset.Fields(16) = Text14Adodc1.Recordset.Fields(17) = Text15Adodc1.Recordset.UpdateEnd Sub_____________________________________________________________

97

Page 98: Bank Project

Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MovePreviousEnd Sub_____________________________________________________________

Private Sub Form_Load()Combo1.AddItem "MATRIC"Combo1.AddItem "INTER"Combo1.AddItem "GRADUCATION"Combo1.AddItem "POST GRADUCATION"Combo2.AddItem "EDUCATIONAL"Combo2.AddItem "PERSONAL"Combo2.AddItem "BUSINESS"End Sub

EMPLOY PF FORM CODINGEMPLOY PF FORM CODING

Private Sub Command1_Click()Adodc1.Recordset.AddNewAdodc1.Recordset.Fields(0) = Combo1 + "/" + Combo2 + "/" + Combo3Adodc1.Recordset.Fields(1) = Text1Adodc1.Recordset.Fields(2) = Combo4Adodc1.Recordset.Fields(3) = Combo5Adodc1.Recordset.Fields(4) = Combo6Adodc1.Recordset.Fields(5) = Combo7Adodc1.Recordset.Fields(6) = Text2Adodc1.Recordset.Fields(7) = Text3Adodc1.Recordset.Fields(8) = Text4Adodc1.Recordset.Fields(8) = Text5Adodc1.Recordset.Fields(8) = Text6Adodc1.Recordset.Fields(8) = Text7Adodc1.Recordset.Fields(8) = Text8Adodc1.Recordset.Fields(8) = Text9

98

Page 99: Bank Project

Adodc1.Recordset.Fields(8) = Text10Adodc1.Recordset.Fields(8) = Text11End Sub_____________________________________________________________

Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MovePreviousEnd Sub_____________________________________________________________

Private Sub Form_Load()For A = 1 To 31Combo1.AddItemNextFor A = 1 To 12Combo2.AddItemNextFor A = 1950 To 2010NextEnd Sub

DETAIL FO LOAN

Private Sub Command1_Click()Adodc1.Recordset.AddNewAdodc1.Recordset.Fields(0) = Text1Adodc1.Recordset.Fields(1) = Text2If Option1.Enabled = True ThenAdodc1.Recordset.Fields(2) = Option1.CaptionEnd IfIf Option2.Enabled = True ThenAdodc1.Recordset.Fields(2) = Option2.CaptionEnd IfAdodc1.Recordset.Fields(3) = Combo1Adodc1.Recordset.Fields(4) = Text3Adodc1.Recordset.Fields(5) = Combo2

99

Page 100: Bank Project

Adodc1.Recordset.Fields(6) = Text4Adodc1.Recordset.Fields(7) = Text5Adodc1.Recordset.Fields(8) = Text6Adodc1.Recordset.Fields(9) = Text7Adodc1.Recordset.Fields(10) = Text8Adodc1.Recordset.UpdateText1 = ""Text2 = ""Combo1.Text = ""Text3 = ""Combo2.Text = ""Text4 = ""Text5 = ""Text6 = ""Text7 = ""Text8 = ""MsgBox "Record Added Successfully"End Sub

Private Sub Command2_Click()Adodc1.Recordset.DeleteAdodc1.Recordset.MovePreviousMsgBox "Record Deleted Successfully"

End Sub

Private Sub Command3_Click()a = InputBox("Enter Employee ID")Adodc1.Recordset.MoveFirstDo Until Adodc1.Recordset.EOFIf a = Adodc1.Recordset.Fields(0) ThenText1 = Adodc1.Recordset.Fields(0)Text2 = Adodc1.Recordset.Fields(1)If Option1.Enabled = True ThenAdodc1.Recordset.Fields(2) = Option1.CaptionEnd IfIf Option2.Enabled = True ThenAdodc1.Recordset.Fields(2) = Option2.CaptionEnd IfCombo1.Text = Adodc1.Recordset.Fields(3)

100

Page 101: Bank Project

Text3 = Adodc1.Recordset.Fields(4)Combo2.Text = Adodc1.Recordset.Fields(5)Text4 = Adodc1.Recordset.Fields(6)Text5 = Adodc1.Recordset.Fields(7)Text6 = Adodc1.Recordset.Fields(8)Text7 = Adodc1.Recordset.Fields(9)Text8 = Adodc1.Recordset.Fields(10)MsgBox "Record Found"Exit SubElseAdodc1.Recordset.MoveNextEnd IfLoopMsgBox "Record Not Found"End Sub

Private Sub Command4_Click()EndEnd Sub

Private Sub Form_Load()Combo1.AddItem "Genral Manager"Combo1.AddItem "Mangre"Combo1.AddItem "Engineer"Combo1.AddItem "Supervisor"Combo1.AddItem "Officer"Combo1.AddItem "Workmen"Combo2.AddItem "House Building Loan"Combo2.AddItem "Vehical Loan"Combo2.AddItem "Furniture Loan"Combo2.AddItem "Computer Loan"Combo2.AddItem "Education Loan"End Sub

101

Page 102: Bank Project

MDI FORM CODINGMDI FORM CODING

Private Sub ANU_Click()Load Form2Form2.ShowForm2.SetFocusEnd Sub

Private Sub AOF_Click()Load form5form5.Showform5.SetFocusEnd Sub_____________________________________________________________

Private Sub CP_Click()Load Form4Form4.ShowForm4.SetFocusEnd Sub_____________________________________________________________

Private Sub DPF_Click()Load Form8Form8.ShowForm8.SetFocusEnd Sub_____________________________________________________________

Private Sub DU_Click()Load FORM3FORM3.ShowFORM3.SetFocusEnd Sub_____________________________________________________________

Private Sub FF_Click()Load Form7Form7.Show

102

Page 103: Bank Project

Form7.SetFocusEnd Sub_____________________________________________________________

Private Sub MDIForm_Load()StatusBar1.Panels(1).Text = Form1.Combo1.Text

If StatusBar1.Panels(1).Text = "DIVYANI" ThenANU.Enabled = TrueDU.Enabled = TrueElseANU.Enabled = FalseDU.Enabled = FalseEnd IfEnd Sub__________________________________________________________

LOGIN FORMLOGIN FORM

103

Page 104: Bank Project

MDI FORMMDI FORM

104

Page 105: Bank Project

ACCOUNT OPENING FORMACCOUNT OPENING FORM

105

Page 106: Bank Project

WITHDRAWL FORMWITHDRAWL FORM

106

Page 107: Bank Project

FUND FORMFUND FORM

107

Page 108: Bank Project

DETAIL OF LOANDETAIL OF LOAN

108

Page 109: Bank Project

STUDENT LOANSTUDENT LOAN

109

Page 110: Bank Project

DETAIL OF PAYMENT FORMDETAIL OF PAYMENT FORM

110

Page 111: Bank Project

ADD NEW LOGIN USER FORMADD NEW LOGIN USER FORM

111

Page 112: Bank Project

DELETE USER FORMDELETE USER FORM

112

Page 113: Bank Project

CHANGE PASSWORD FORMCHANGE PASSWORD FORM

113

Page 114: Bank Project

CALCULATERCALCULATER

114

Page 115: Bank Project

NOTEPADNOTEPAD

115

Page 116: Bank Project

CALENDERCALENDER

116

Page 117: Bank Project

117

Page 118: Bank Project

118