CHAPTER 1
INTRODUCTION
1.1
INTRODUCTION
TO MOBILE
TRACKING SYSTEM
Mobile
Tracking System is used to improve the performance of mobile and mobile tracing
in any reasons. Mobile Tracking System using in the police department and sales
companys.
LIST OF
MODULES
1.
MU
Details (Mobile user)
2.
DB
Management
3.
Mobile
Node management (hlr,vlr)
4.
Path
Details (locations)
5.
Tracking
1. MU Details
Mobile user contains
managing user details Profiles, PTN (Personal telecommunication number) and
Registration details,
1. Profile
2. Indexing
2. DB Management
Database management
contains Distributed server details; the distributed database management
contains multiple architectures, DB0, DB1, and DB2
ORGANIZATION OF DB0:
The
DB0 consists of an index file and a data file. With the location-independent
numbering plan being adopted, every subscriber in the whole mobile system has
an entry in the index file. If the direct file is used, each index entry only
contains a pointer. When a user is residing in the current DS area, the pointer
is pointing to the user’s service profile stored in the data file. The user
service profile contains a pointer to the DB1 where the user is visiting. When
the user is staying in another DS, the pointer in the user’s index entry points
to the DB0 associated with that DS.
All entries in the
index file are allocated the same size of storage and stored in increasing
order of the users’ PTNs so that direct addressing can be used to retrieve a
record from the index file. Note that the PTN does not need to be stored in the
index entry. On the other hand, the
T-tree or the B -tree needs to include the PTN in each index entry and store
other index management information, thus requiring more memory capacity than
the direct file. Therefore, the direct file is the best choice for the index
file of the DB0. In the data file, each user residing in the current DS area is
allocated a record to store the user’s service profile.
Note that the
access time of the DB0 is independent of the database size when the direct file
technique is employed (but the access time is affected by the access frequency
of the DB0). This scalability feature is very useful for future mobility
applications since the number of subscribers is expected to increase steadily.
ORGANIZATION OF DB1:
Each DB1 consists only of one part: the index file, in
which each user currently residing in the DB1 area has a data item. Each data
item in the index file consists of two fields: the user’s PTN and a pointer to
the DB2 the user is currently visiting. No other user information is stored in
the DB1. Results from Section V reveal that the T-tree is a preferable
technique for the index file of DB1.
ORGANIZATION OF DB2:
Each of the database DB2s consists of two parts: the
index file and the data file. Each user currently residing in the DB2 area has
an entry in the index. Each entry in the index consists of two fields: the
user’s PTN and a pointer to the user record in the data file that stores the
service profiles for each user currently visiting this DB2 area.
3. Mobile
Node management (hlr,vlr)
Managing the mobile node address and movement of the
mobile node based on the loss of energy. And when the user will move, join or
leave the information will exchange the server.
4. Path
Details (locations)
The path details contain
store the detail about tower reaching areas and directions, location details.
It is used to very easily find out the particular user locations.
5. Tracking
How the predicted sensor
measurement at candidate locations is used to obtain the predicted target
estimate on the basis of Bayesian estimation, calculate the target estimate
based on the predicted sensor measurements. The node can then make a decision
on where to move.
1.2COMPANY PROFILE
At
Edge solutions, we go beyond providing software solutions. We work with our
client’s technologies and business changes that shape their competitive
advantages.
Founded
in 2000, Edge Technologies(P) Ltd. is a software and service provider that
helps organizations deploy, manage, and support their business-critical
software more effectively. Utilizing a combination of proprietary software,
services and specialized expertise, Edge Technologies(P) Ltd. helps
mid-to-large enterprises, software companies and IT service providers improve
consistency, speed, and transparency with service delivery at lower costs. Edge
Technologies(P) Ltd. helps companies avoid many of the delays, costs and risks
associated with the distribution and support of software on desktops, servers
and remote devices.
Our
automated Technologies include rapid, touch-free deployments, ongoing software
upgrades, fixes and security patches, technology asset inventory and tracking,
software license optimization, application self-healing and policy management.
At Edge solutions, we go beyond providing software solutions. We work with our
clients’ technologies and business processes that shape their advantages.
About The People
As
a team we have the prowess to have a clear vision and realize it too. As a
statistical evaluation, the team has more than 40,000 hours of expertise in providing
real-time Technologies in the fields of Embedded Systems, Control systems,
Micro-Controllers, c Based Interfacing, Programmable Logic Controller, VLSI
Design And Implementation, Networking With C, ++, java, client Server
Technologies in Java,(J2EE\J2ME\J2SE\EJB),VB & VC++, Oracle and operating
system concepts with LINUX.
Our Vision
“Dreaming
a vision is possible and realizing it is our goal”.
Our Mission
We
have achieved this by creating and perfecting processes that are in par with
the global standards and we deliver high quality, high value services, reliable
and cost effective IT products to clients around the world.
CHAPTER 2
SYSTEM STUDY
2.1 EXISTING SYSTEM
Existing System is: MANET
A MANET generally has the
following characteristics
·
Difficult
to invoke the mobile users Location.
·
We
can’t implement Dynamic Changing topology in Mobile Adhoc Network.
·
Loss
of network Connectivity in Adhoc Network. [Error in Network Connection]
·
Difficult
to Identify the Node Movement (Mobile Users Movement) in Mobile
Adhoc Network.
2.2 PROPOSED SYSTEM
1. Distributed Database:
Collections of data (e.g.. in
a database) can be distributed across multiple physical locations. A
distributed database is distributed into separate partitions/fragments. Each
partition/fragment of a distributed database may be replicated.
2. Mobile Sensor Network:
It
Will Work in any environment So no Problem about Dynamic changing topology.
3. Bayesian Estimation:
Bayesian
means Prediction. Predict Mobile Users Movement in our project with the help of
Bayesian estimation.
The proposed scheme considers
node movement decisions as part of a distributed optimization problem which
integrates mobility-enhanced improvement in the quality of target tracking data
with the associated negative consequences of increased energy consumption due
to locomotion, potential loss of network connectivity, and loss of sensing
coverage.
CHAPTER 3
SYSTEM SPECIFICATION
3.1 Software Specification(Min)
The software used for the
development of the project is:
OPERATING SYSTEM : Windows 2000 Professional
ENVIRONMENT : Visual Studio .NET 2003
.NET FRAMEWORK : Version 1.1
LANGUAGE : VB.NET
WEB SERVER : Internet Information Server 5.0
BACK END : Ms-Access 2000
REPORTS : WebFormDataGridcontrol
THE .NET FRAMEWORK
The .NET Framework is a new
computing platform that simplifies application development in the highly
distributed environment of the Internet.
Objectives
of .NET FRAMEWORK:
1. To provide a consistent
object-oriented programming environment whether object codes is stored and executed locally on
Internet-distributed, or executed remotely.
2. To provide a code-execution
environment to minimizes software deployment and
guarantees safe execution of code.
3. Eliminates the performance
problems.
There are different types of
application, such as Windows-based applications and Web-based applications. To
make communication on distributed environment to ensure that code be accessed
by the .NET Framework can integrate with any other code.
COMPONENTS
OF .NET FRAMEWORK
1. THE COMMON LANGUAGE
RUNTIME (CLR):
The common language runtime
is the foundation of the .NET Framework. It manages code at execution time,
providing important services such as memory management, thread management, and
remoting and also ensures more security and robustness. The concept of code
management is a fundamental principle of the runtime. Code that targets the
runtime is known as managed code, while code that does not target the runtime
is known as unmanaged code.
THE .NET FRAME WORK CLASS
LIBRARY:
It is a comprehensive,
object-oriented collection of reusable types used to develop applications
ranging from traditional command-line or graphical user interface (GUI)
applications to applications based on the latest innovations provided by
ASP.NET, such as Web Forms and XML Web services.
The .NET Framework can be hosted by
unmanaged components that load the common language runtime into their processes
and initiate the execution of managed code, thereby creating a software
environment that can exploit both managed and unmanaged features. The .NET
Framework not only provides several runtime hosts, but also supports the
development of third-party runtime hosts.
FEATURES OF THE COMMON
LANGUAGE RUNTIME:
The common language
runtime manages memory; thread execution, code execution, code safety
verification, compilation, and other system services these are all run on CLR.
·
Security.
·
Robustness.
·
Productivity.
·
Performance.
SecuritY:
The runtime
enforces code access security. The security features of the runtime thus enable
legitimate Internet-deployed software to be exceptionally feature rich. With
regards to security, managed components are awarded varying degrees of trust,
depending on a number of factors that include their origin to perform
file-access operations, registry-access operations, or other sensitive
functions.
ROBUSTNESS:
The runtime also
enforces code robustness by implementing a strict type- and code-verification
infrastructure called the common type system(CTS). The CTS ensures that all
managed code is self-describing. The managed environment of the runtime
eliminates many common software issues.
PRODUCTIVITY:
The runtime also accelerates
developer productivity. For example, programmers can write applications in
their development language of choice, yet take full advantage of the runtime,
the class library, and components written in other languages by other
developers.
PERFORMANCE:
The runtime is
designed to enhance performance. Although the common language runtime provides
many standard runtime services, managed code is never interpreted. A feature
called just-in-time (JIT) compiling enables all managed code to run in the
native machine language of the system on which it is executing. Finally, the
runtime can be hosted by high-performance, server-side applications, such as
Microsoft® SQL Server™ and Internet Information Services (IIS).
.
REPORT:
A report is used to vies and print
information from the database. The report can ground records into many levels
and compute totals and average by checking values from many records at once.
Also the report is attractive and distinctive because we have control over the
size and appearance of it.
MACRO:
A
macro is a set of actions. Each action in macros does something. Such as
opening a form or printing a report .We write macros to automate the common
tasks the work easy and save the time.
MODULE:
Modules are units of code written in
access basic language. We can write and use module to automate and customize
the database in very sophisticated ways.
3.2 Hardware Specification (Min)
The hardware used for the
development of the project is:
PROCESSOR : PENTIUM
III 766 MHz
RAM : 128 MD SD RAM
MONITOR : 15” COLOR
HARD
DISK : 20 GB
FLOPPY
DRIVE : 1.44 MB
CDDRIVE : LG 52X
KEYBOARD : STANDARD
102 KEYS
MOUSE : 3 BUTTONS
CHAPTER 4
SYSTEM DESIGN
4.1 Procedural design
Design is multi-step process
that focuses on data structure software architecture, procedural details,
(algorithms etc.) and interface between modules. The design process also
translates the requirements into the presentation of software that can be
accessed for quality before coding begins.
Computer software design changes
continuously as new methods; better analysis and broader understanding evolved.
Software Design is at relatively early stage in its revolution.
Therefore, Software Design methodology
lacks the depth, flexibility and quantitative nature that are normally associated
with more classical engineering disciplines. However techniques for software
designs do exist, criteria for design qualities are available and design
notation can be applied.
INPUT DESIGN
Input design is the process of
converting user-originated inputs to a computer-based format. Input design is
one of the most expensive phases of the operation of computerized system and is
often the major problem of a system.
In the project, the input design is
made in various window forms with various methods.
·
Member
Details
·
Distributed
Database Management
·
Tracking
Details
·
Path
Details
·
Call
Details
OUTPUT DESIGN
Output design generally refers to
the results and information that are generated by the system for many end-users;
output is the main reason for developing the system and the basis on which they
evaluate the usefulness of the application. In any system, the output design
determines the input to be given to the application.
DATABASE DESIGN
The database design is a
must for any application developed especially more for the data store projects.
Since the chatting method involves storing the message in the table and
produced to the sender and receiver, proper handling of the table is a must.
In
the project, admin table is designed to be unique in accepting the username and
the length of the username and password should be greater than zero.
4.2 Module
Description
LIST OF
MODULES
4.2.1.MU Details (Mobile
user)
4.2.2.DB Management
4.2.3.Mobile Node management (hlr,vlr)
4.2.4Path Details (locations)
4.2.5.Tracking
4.2.1. MU Details (Mobile
user)
Mobile user contains
managing user details Profiles, PTN (Personal telecommunication number) and
Registration details,
4. Profile
5. Indexing
4.2.2. DB
Management
Database management
contains Distributed server details; the distributed database management
contains multiple architectures, DB0, DB1, and DB2
Distributed database
management architecture
ORGANIZATION OF DB0:
The DB0 consists of an index file and a data file.
With the location-independent numbering plan being adopted, every subscriber in
the whole mobile system has an entry in the index file. If the direct file is
used, each index entry only contains a pointer. When a user is residing in the
current DS area, the pointer is pointing to the user’s service profile stored
in the data file. The user service profile contains a pointer to the DB1 where
the user is visiting. When the user is staying in another DS, the pointer in
the user’s index entry points to the DB0 associated with that DS.
All entries in the
index file are allocated the same size of storage and stored in increasing order
of the users’ PTNs so that direct addressing can be used to retrieve a record
from the index file. Note that the PTN does not need to be stored in the index
entry. On the other hand, the T-tree or
the B -tree needs to include the PTN in each index entry and store other index
management information, thus requiring more memory capacity than the direct
file. Therefore, the direct file is the best choice for the index file of the
DB0. In the data file, each user residing in the current DS area is allocated a
record to store the user’s service profile.
Note that the access time of the DB0 is
independent of the database size when the direct file technique is employed
(but the access time is affected by the access frequency of the DB0). This
scalability feature is very useful for future mobility applications since the
number of subscribers is expected to increase steadily.
ORGANIZATION OF DB1:
Each DB1 consists only of one part: the index file, in
which each user currently residing in the DB1 area has a data item. Each data
item in the index file consists of two fields: the user’s PTN and a pointer to
the DB2 the user is currently visiting. No other user information is stored in
the DB1. Results from Section V reveal that the T-tree is a preferable
technique for the index file of DB1.
ORGANIZATION OF DB2:
Each of the database DB2s consists of two parts: the
index file and the data file. Each user currently residing in the DB2 area has
an entry in the index. Each entry in the index consists of two fields: the
user’s PTN and a pointer to the user record in the data file that stores the
service profiles for each user currently visiting this DB2 area.
4.2.3.
Mobile Node management (hlr,vlr)
Managing the mobile node address and movement of the
mobile node based on the loss of energy. And when the user will move, join or
leave the information will exchange the server.
4.2.4. Path
Details (locations)
The path details contain
store the detail about tower reaching areas and directions, location details.
It is used to very easily find out the particular user locations.
4.2.5.
Tracking
How the predicted sensor
measurement at candidate locations is used to obtain the predicted target
estimate on the basis of Bayesian estimation, calculate the target estimate
based on the predicted sensor measurements. The node can then make a decision
on where to move.
Level-0:
Server
|
Start Server
|
ServerInterface
Inter
|
Level-I:
Client
|
Connect Server
|
Member Register
|
Calling
|
New DB1
|
New DB2
|
Level II:
PTN
|
Distributed Database
|
DB0,DB1,DB2
|
Track
|
Output in Google Map
|
4.3 DATA DESIGN
Members Table:
DB2 Table:
DB1 Table:
Login:
CHAPTER 5
TESTING
Software testing is a critical
element of quality assurance and represents ultimate reviews of specification,
design, coding. It presently provides an interesting anomaly for the software.
First a set of data is given as input and from output got we can find out
whether the program is performing as expected. There are a series of steps.
They are,
1. Unit Testing
2. Integration Testing
6.1 Unit Testing
Unit Testing focuses on the smallest
unit of the software design. It forms a
series of tests that are done prior to integration of unit in the large system.
In general, it is the testing of the individual module. It is done at the
coding time. While being coded each module is tested and corrected accordingly.
In our project, the initial architecture was
developed and tested in the data being passed from the excel file to the SQL
database. Similarly, for every module, unit testing is to be done to verify,
whether the details from the SQL database are correspondingly displayed in the
output form or not.
6.2 Integration Testing
Data
can be lost across an interface. Output of one module may affect the other. Sub
function when combined may not produce desired function. It is a systematic
technique for constructing the program structure while at the same time
conducting test to uncover errors associated within the interface.
The objective is to take unit tested
modules and build the program structure that has been dictated by design. All
modules are combined in this testing. The entire program is tested as whole.
Correction is difficult at this stage because the isolation of causes is
complicated by the vast expense of the entire program. All the errors found in
the system were corrected for next testing step.
In
this project, unit testing is to be done after developed each modules and in
combined manner integration testing is to be done in combined manner to verify
whether the system is properly working after the integration of the modules.
CHAPTER 6
IMPLEMENTATION
Implementation is the
most crucial stage in achieving a successful system and giving the user’s
confidence that the new system is workable and effective. Implementation of a
modified application to replace an existing one. This type of conversation is
relatively easy to handle, provide there are no major changes in the system.
Each program is tested individually at the
time of development using the data and has verified that this program linked
together in the way specified in the programs specification, the computer
system and its environment is tested to the satisfaction of the user. The
system that has been developed is accepted and proved to be satisfactory for
the user. And so the system is going to be implemented very soon. A simple
operating procedure is included so that the user can understand the different
functions clearly and quickly.
Initially as a first step the
executable form of the application is to be created and loaded in the common
server machine which is accessible to all the user and the server is to be
connected to a network. The final stage is to document the entire system which
provides components and the operating procedures of the system.
6.1 SCOPE FOR FUTURE DEVELOPMENT
Every application has its own merits and
demerits. The project has covered almost all the requirements. Further
requirements and improvements can easily be done since the coding is mainly
structured or modular in nature. Changing the existing modules or adding new
modules can append improvements. Further enhancements can be made to the
application, so that the web site functions very attractive and useful manner
than the present one.
CHAPTER 7
CONCLUSION
7.1 Conclusion and
Future Enhancement
It is concluded that the application works
well and satisfy the users. The application is tested very well and errors are
properly debugged. The site is simultaneously accessed from more than one
system. Simultaneous login from more than one place is tested.
The
site works according to the restrictions provided in their respective browsers.
Further enhancements can be made to the application, so that the web site
functions very attractive and useful manner than the present one. The speed of
the transactions become more enough now.
FUTURE WORK
The objectives of this maintenance work are to make
sure that the system gets into work all time without any bug. Provision must be
for environmental changes which may affect the computer or software system.
This is called the maintenance of the system. Nowadays there is the rapid
change in the software world. Due to this rapid change, the system should be
capable of adapting these changes. In our project the process can be added
without affecting other parts of the system.
Maintenance plays a vital role.
The system liable to accept any modification after its implementation. This
system has been designed to favour all new changes. Doing this will not affect
the system’s performance or its accuracy.
In the project system
testing is made as follows:
The procedure level testing is
made first. By giving improper inputs, the errors occurred are noted and
eliminated. Then the web form level testing is made. For example storage of
data to the table in the correct manner.
In the form, the zero length
username and password are given and checked. Also the duplicate username is
given and checked. The client side validations are made.
The dates are entered in wrong
manner and checked. Wrong email-id is given and checked.
This is the final step in system
life cycle. Here we implement the tested error-free system into real-life
environment and make necessary changes, which runs in an online fashion. Here
system maintenance is done every months or year based on company policies, and
is checked for errors like runtime errors, long run errors and other
maintenances like table verification and reports.
Implementation
is the stage of the project when the theoretical design is turned out into a
working system. Thus it can be considered to be the most critical stage in
achieving a successful new system and in giving the user, confidence that the
new system will work and be effective.
The
implementation stage involves careful planning, investigation of the existing
system and it’s constraints on implementation, designing of methods to achieve
changeover and evaluation of changeover methods.
Implementation is the process of converting a
new system design into operation. It is the phase that focuses on user training,
site preparation and file conversion for installing a candidate system. The
important factor that should be considered here is that the conversion should
not disrupt the functioning of the organization.
The application is implemented
in the Internet Information Services 5.0 web server under the Windows 2000
Professional and accessed from various clients.
APPENDIX 1
SAMPLE CODE
Client Connectivity
Public
Class Database
Public Function DBinsert(ByVal qry As String)
As Integer
Dim sqlconn As New SqlConnection("workstation id=PHOENIX_PR;packet
size=4096;integrated security=SSPI;data source=PHOENIX_PR;persist security
info=False;initial catalog=Tracking")
Dim sqlcmd As New SqlCommand(qry,
sqlconn)
' "insert into Members
values('"& TextBox1.text
&"','"&TextBox2.text &"','"&
TextBox3.text &"','"& TextBox4.text &"','"&
TextBox5.text &"','"& TextBox6.text &"','"&
TextBox7.text &"')"
Try
sqlconn.Open()
sqlcmd.ExecuteNonQuery()
sqlconn.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
Return 0
End Try
Return 1
End Function
Server
Module
global
Public servername As String =
Environment.MachineName.ToString
Public serverport As Integer = 8000
Public clientport As Integer = 9000
Public clientname As String = ""
Public alpha As Integer = 2
Public prime As Integer = 17
Public status As Boolean = False
Public members() As String
Public pbkey() As String
Public count As Integer
Public rprime() = {2, 3, 5, 7, 11, 13, 17,
19, 23, 29}
Public rndprime As New Random(9)
Public ralpha As New Random(5)
Public connection As New SqlConnection("workstation id=.;packet size=4096;integrated
security=SSPI;data source=.;persist security info=False;initial
catalog=NS1")
Public Function readdb(ByVal qry As String)
As String()
Dim str(100) As String
Dim cmd As New SqlCommand(qry.ToString(),
connection)
If connection.State =
ConnectionState.Closed Then
connection.Open()
End If
Dim obj As SqlDataReader
Dim i As Integer = 0
Dim count As Integer = 0
obj = cmd.ExecuteReader()
While obj.Read
i = i + 1
str(i) =
obj(0)
End While
str(0) = i
If
connection.State = ConnectionState.Open Then
connection.Close()
End If
Return str
End Function
Public Function insert(ByVal query As String)
Try
connection.Open()
Dim cmd As New SqlCommand(query,
connection)
cmd.ExecuteNonQuery()
connection.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function
Public Function delete(ByVal query As
String)
Try
connection.Open()
Dim cmd As New SqlCommand(query,
connection)
cmd.ExecuteNonQuery()
connection.Close()
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function
Public Function load(ByVal table As String)
As DataTable
Dim cmdtxt As String = "select * from
" & table & ""
Dim cmd As New SqlCommand
Dim da As New SqlDataAdapter
Dim dt As New DataTable
Try
If connection.State =
ConnectionState.Closed Then
connection.Open()
End If
cmd.Connection = connection
cmd.CommandType = CommandType.Text
cmd.CommandText = cmdtxt
da.SelectCommand = cmd
dt.Rows.Clear()
da.Fill(dt)
'dt.Rows.Clear()
If connection.State =
ConnectionState.Open Then
connection.Close()
End If
Catch e1 As Exception
MsgBox(e1.ToString())
End Try
Return dt
End Function
End Module
ClientServerConnectivity
Imports
System.Runtime.Remoting
Imports
System.Runtime.Remoting.Channels.Tcp
Imports
System.Runtime.Remoting.Channels
Module
Servertoclient
Public client As
ClientInterface.Clientinterface
Private Channel2 As
System.Runtime.Remoting.Channels.tcp.Tcpchannel 'New
System.Runtime.Remoting.Channels.tcp.TcpChannel(0)
Private serverProv As
BinaryServerFormatterSinkProvider
Private clientProv As
BinaryClientFormatterSinkProvider
Private props As IDictionary = New
Hashtable
Private Sub SetChannel()
serverProv = New
BinaryServerFormatterSinkProvider
clientProv = New
BinaryClientFormatterSinkProvider
serverProv.TypeFilterLevel =
System.Runtime.Serialization.Formatters.TypeFilterLevel.Full
props("port")
= 0
Channel2 = New TcpChannel(props,
clientProv, serverProv)
End Sub
Public Sub Init()
SetChannel()
Try
client =
CType(Activator.GetObject(GetType(ClientInterface.Clientinterface), "tcp://" & clientname & ":9000/Client"),
ClientInterface.Clientinterface)
If client Is Nothing Then
End If
Catch ex As Exception
End Try
End Sub
Public Sub dispose()
ChannelServices.UnregisterChannel(Channel2)
client = Nothing
Channel2 = Nothing
serverProv = Nothing
clientProv = Nothing
End Sub
End Module
Routing
Public
Function routing(ByVal ptn() As String, ByVal addr() As String, ByVal count As
Integer, ByVal coverage() As String) As String()
Dim path(100) As String
Dim i, j, k As Integer
Dim tmp As String
For i = 1 To count
For j = i + 1 To count
If coverage(i) <=
coverage(j) Then
tmp = ptn(i)
ptn(i) = ptn(j)
ptn(j) = tmp
tmp = coverage(i)
coverage(i) = coverage(j)
coverage(j) = tmp
tmp = Shortestpath(ptn(i),
ptn(j))
End If
Next
Next
End Function
Function Shortestpath(ByVal x As Integer,
ByVal y As Integer) As Integer
If x > y Then
Return x
Else
Return y
End If
End Function
Server
MainPage
Imports
System.Threading
Imports
System.Data.SqlClient
Public
Class Server
Inherits System.Windows.Forms.Form
Dim objServer As
ServerInterface.ServerInterface
Dim oldx, oldy, newx, newy As Integer
Dim chindex As Integer
Dim dset As New DataSet
Dim
MobNum As Long
Dim dr As
SqlDataReader
Dim con As
New SqlConnection("Server=.;database=NS1;uid=sa;pwd=;")
Dim cmd As New SqlCommand
Dim ClientName As String = ""
Dim RunningNodeSerialNo As Integer
Dim ServerStarted As Boolean = False
Public Bmplist(1000) As Bitmap
Dim callid As Integer = 101
Dim locregid As Integer = 201
Dim bmp01 As Bitmap
Dim bmp12 As Bitmap
Dim bmp03 As Bitmap
Dim bmp04 As Bitmap
Dim bmp05 As Bitmap
Dim bmp06 As Bitmap
Dim bmp07 As Bitmap
Dim bmp08 As Bitmap
Dim
bmp09 As Bitmap
Dim bmp10 As Bitmap
Dim bmp11 As Bitmap
Dim ptnpos(3, 100) As String
Dim selectedtrack As Boolean = False
Dim selectedptnindex As Integer
Public path(100) As String
Dim level1y As Integer = 100
Dim level2y As Integer = 200
Dim level3y As Integer = 300
Dim level3x As Integer = 10
Dim level1x As Integer = 10
Dim level2x As Integer = 10
Dim clientname1 As String
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is
required by the Windows Form Designer.
InitializeComponent()
'Add any
initialization after the InitializeComponent() call
End Sub
'Form overrides
dispose to clean up the component list.
Protected Overloads Overrides Sub
Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the
Windows Form Designer
Private components As
System.ComponentModel.IContainer
'NOTE: The
following procedure is required by the Windows Form Designer
'It can be
modified using the Windows Form Designer.
'Do not modify it
using the code editor.
Friend WithEvents GroupBox1 As
System.Windows.Forms.GroupBox
Friend WithEvents GroupBox2 As
System.Windows.Forms.GroupBox
Friend WithEvents Label3 As
System.Windows.Forms.Label
Friend WithEvents ClientList As
System.Windows.Forms.ListBox
Friend WithEvents Button3 As
System.Windows.Forms.Button
Friend WithEvents Button1 As
System.Windows.Forms.Button
Friend WithEvents GroupBox3 As
System.Windows.Forms.GroupBox
Friend WithEvents ComboBox1 As System.Windows.Forms.ComboBox
Friend WithEvents DataGrid1 As
System.Windows.Forms.DataGrid
Friend WithEvents Button5 As
System.Windows.Forms.Button
Friend WithEvents GroupBox4 As
System.Windows.Forms.GroupBox
Friend WithEvents PictureBox1 As System.Windows.Forms.PictureBox
Friend WithEvents Label4 As
System.Windows.Forms.Label
Friend WithEvents Button2 As
System.Windows.Forms.Button
Friend WithEvents TextBox2 As
System.Windows.Forms.TextBox
Friend WithEvents TextBox1 As System.Windows.Forms.TextBox
Friend WithEvents Label6 As
System.Windows.Forms.Label
Friend WithEvents Label7 As
System.Windows.Forms.Label
Friend WithEvents Timer1 As
System.Windows.Forms.Timer
Friend WithEvents SEARCH_PANEL As
System.Windows.Forms.Panel
Friend WithEvents L4 As
System.Windows.Forms.Label
Friend WithEvents L3 As
System.Windows.Forms.Label
Friend WithEvents L2 As
System.Windows.Forms.Label
Friend WithEvents Label20 As
System.Windows.Forms.Label
Friend WithEvents L1 As
System.Windows.Forms.Label
Friend WithEvents Button6 As
System.Windows.Forms.Button
Friend WithEvents Label12 As
System.Windows.Forms.Label
Friend WithEvents ListBox1 As
System.Windows.Forms.ListBox
Friend WithEvents ComboBox2 As System.Windows.Forms.ComboBox
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()
Me.components = New
System.ComponentModel.Container
Me.GroupBox1 = New
System.Windows.Forms.GroupBox
Me.TextBox2 = New System.Windows.Forms.TextBox
Me.TextBox1 = New
System.Windows.Forms.TextBox
Me.Label6 = New
System.Windows.Forms.Label
Me.Label7 = New
System.Windows.Forms.Label
Me.Button2 = New
System.Windows.Forms.Button
Me.Label4 = New System.Windows.Forms.Label
Me.GroupBox2 = New
System.Windows.Forms.GroupBox
Me.Label12 = New
System.Windows.Forms.Label
Me.ListBox1 = New
System.Windows.Forms.ListBox
Me.Label3 = New
System.Windows.Forms.Label
Me.ClientList = New
System.Windows.Forms.ListBox
Me.Button3 = New
System.Windows.Forms.Button
Me.Button1 = New
System.Windows.Forms.Button
Me.GroupBox3 = New
System.Windows.Forms.GroupBox
Me.ComboBox2 = New
System.Windows.Forms.ComboBox
Me.SEARCH_PANEL = New
System.Windows.Forms.Panel
Me.L4 = New System.Windows.Forms.Label
Me.L3 = New System.Windows.Forms.Label
Me.L2 = New System.Windows.Forms.Label
Me.Label20 = New
System.Windows.Forms.Label
Me.L1 = New System.Windows.Forms.Label
Me.Button6 = New
System.Windows.Forms.Button
Me.ComboBox1 = New
System.Windows.Forms.ComboBox
Me.DataGrid1 = New
System.Windows.Forms.DataGrid
Me.Button5 = New System.Windows.Forms.Button
Me.GroupBox4 = New
System.Windows.Forms.GroupBox
Me.PictureBox1 = New
System.Windows.Forms.PictureBox
Me.Timer1 = New
System.Windows.Forms.Timer(Me.components)
Me.GroupBox1.SuspendLayout()
Me.GroupBox2.SuspendLayout()
Me.GroupBox3.SuspendLayout()
Me.SEARCH_PANEL.SuspendLayout()
CType(Me.DataGrid1,
System.ComponentModel.ISupportInitialize).BeginInit()
Me.GroupBox4.SuspendLayout()
Me.SuspendLayout()
'
'GroupBox1
'
Me.GroupBox1.BackColor =
System.Drawing.Color.CornflowerBlue
Me.GroupBox1.Controls.Add(Me.TextBox2)
Me.GroupBox1.Controls.Add(Me.TextBox1)
Me.GroupBox1.Controls.Add(Me.Label6)
Me.GroupBox1.Controls.Add(Me.Label7)
Me.GroupBox1.Controls.Add(Me.Button2)
Me.GroupBox1.Controls.Add(Me.Label4)
Me.GroupBox1.Controls.Add(Me.GroupBox2)
Me.GroupBox1.Controls.Add(Me.Button3)
Me.GroupBox1.Controls.Add(Me.Button1)
Me.GroupBox1.Controls.Add(Me.GroupBox3)
Me.GroupBox1.Controls.Add(Me.Button5)
Me.GroupBox1.Location = New
System.Drawing.Point(614, 0)
Me.GroupBox1.Name = "GroupBox1"
Me.GroupBox1.Size = New
System.Drawing.Size(378, 504)
Me.GroupBox1.TabIndex = 0
Me.GroupBox1.TabStop = False
'
'TextBox2
'
Me.TextBox2.Location = New
System.Drawing.Point(272, 16)
Me.TextBox2.Name = "TextBox2"
Me.TextBox2.TabIndex = 35
Me.TextBox2.Text = ""
'
'TextBox1
'
Me.TextBox1.Location = New
System.Drawing.Point(88, 16)
Me.TextBox1.Name = "TextBox1"
Me.TextBox1.TabIndex = 34
Me.TextBox1.Text = ""
'
'Label6
'
Me.Label6.BackColor =
System.Drawing.Color.Silver
Me.Label6.Font = New
System.Drawing.Font("Microsoft Sans Serif",
8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.Label6.Location = New System.Drawing.Point(192,
16)
Me.Label6.Name = "Label6"
Me.Label6.Size = New
System.Drawing.Size(72, 23)
Me.Label6.TabIndex = 33
Me.Label6.Text = "IP Address"
'
'Label7
'
Me.Label7.BackColor = System.Drawing.Color.Silver
Me.Label7.Font = New
System.Drawing.Font("Microsoft Sans Serif",
8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.Label7.Location = New
System.Drawing.Point(8, 16)
Me.Label7.Name = "Label7"
Me.Label7.Size = New
System.Drawing.Size(72, 23)
Me.Label7.TabIndex = 32
Me.Label7.Text = "HostName"
'
'Button2
'
Me.Button2.BackColor =
System.Drawing.Color.DarkBlue
Me.Button2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,
Byte))
Me.Button2.ForeColor =
System.Drawing.SystemColors.ControlLightLight
Me.Button2.Location = New
System.Drawing.Point(272, 40)
Me.Button2.Name = "Button2"
Me.Button2.Size = New
System.Drawing.Size(104, 32)
Me.Button2.TabIndex = 31
Me.Button2.Text = "Show Mobile
Numbers"
'
'Label4
'
Me.Label4.BackColor = System.Drawing.Color.MidnightBlue
Me.Label4.Font = New
System.Drawing.Font("Comic Sans MS",
10.0!, CType((System.Drawing.FontStyle.Bold Or
System.Drawing.FontStyle.Italic), System.Drawing.FontStyle),
System.Drawing.GraphicsUnit.Point, CType(0, Byte), True)
Me.Label4.ForeColor =
System.Drawing.Color.Lime
Me.Label4.Location = New
System.Drawing.Point(8, 464)
Me.Label4.Name = "Label4"
Me.Label4.Size = New
System.Drawing.Size(368, 40)
Me.Label4.TabIndex = 30
Me.Label4.Text = "Status"
'
'GroupBox2
'
Me.GroupBox2.BackColor =
System.Drawing.SystemColors.InactiveCaption
Me.GroupBox2.Controls.Add(Me.Label12)
Me.GroupBox2.Controls.Add(Me.ListBox1)
Me.GroupBox2.Controls.Add(Me.Label3)
Me.GroupBox2.Controls.Add(Me.ClientList)
Me.GroupBox2.Enabled = False
Me.GroupBox2.Location = New
System.Drawing.Point(8, 80)
Me.GroupBox2.Name = "GroupBox2"
Me.GroupBox2.Size = New
System.Drawing.Size(352, 152)
Me.GroupBox2.TabIndex = 29
Me.GroupBox2.TabStop = False
'
'Label12
'
Me.Label12.BackColor =
System.Drawing.Color.FromArgb(CType(128, Byte), CType(128, Byte), CType(255,
Byte))
Me.Label12.Font = New
System.Drawing.Font("Microsoft Sans Serif",
8.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.Label12.ForeColor =
System.Drawing.SystemColors.ActiveCaptionText
Me.Label12.Location = New
System.Drawing.Point(216, 24)
Me.Label12.Name = "Label12"
Me.Label12.Size = New
System.Drawing.Size(120, 16)
Me.Label12.TabIndex = 54
Me.Label12.Text = " MOBILE
NUMBERS"
'
'ListBox1
'
Me.ListBox1.Location = New
System.Drawing.Point(216, 48)
Me.ListBox1.Name = "ListBox1"
Me.ListBox1.Size = New
System.Drawing.Size(128, 95)
Me.ListBox1.TabIndex = 53
'
'Label3
'
Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!,
System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,
Byte))
Me.Label3.ForeColor =
System.Drawing.Color.FromArgb(CType(192, Byte), CType(64, Byte), CType(0,
Byte))
Me.Label3.Location = New
System.Drawing.Point(8, 16)
Me.Label3.Name = "Label3"
Me.Label3.Size = New
System.Drawing.Size(184, 24)
Me.Label3.TabIndex = 25
Me.Label3.Text = "Running Client
Application"
'
'ClientList
'
Me.ClientList.Location = New
System.Drawing.Point(8, 48)
Me.ClientList.Name = "ClientList"
Me.ClientList.Size = New
System.Drawing.Size(120, 95)
Me.ClientList.TabIndex = 22
'
'Button3
'
Me.Button3.BackColor =
System.Drawing.Color.DarkBlue
Me.Button3.Enabled = False
Me.Button3.Font = New
System.Drawing.Font("Microsoft Sans Serif",
8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.Button3.ForeColor =
System.Drawing.SystemColors.ControlLightLight
Me.Button3.Location = New
System.Drawing.Point(96, 40)
Me.Button3.Name = "Button3"
Me.Button3.Size = New
System.Drawing.Size(80, 32)
Me.Button3.TabIndex = 28
Me.Button3.Text = "STOP"
'
'Button1
'
Me.Button1.BackColor =
System.Drawing.Color.DarkBlue
Me.Button1.Font = New
System.Drawing.Font("Microsoft Sans Serif",
8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.Button1.ForeColor =
System.Drawing.SystemColors.ControlLightLight
Me.Button1.Location = New
System.Drawing.Point(8, 40)
Me.Button1.Name = "Button1"
Me.Button1.Size = New
System.Drawing.Size(80, 32)
Me.Button1.TabIndex = 27
Me.Button1.Text = "START"
'
'GroupBox3
'
Me.GroupBox3.BackColor =
System.Drawing.SystemColors.InactiveCaption
Me.GroupBox3.Controls.Add(Me.ComboBox2)
Me.GroupBox3.Controls.Add(Me.SEARCH_PANEL)
Me.GroupBox3.Controls.Add(Me.ComboBox1)
Me.GroupBox3.Controls.Add(Me.DataGrid1)
Me.GroupBox3.Enabled = False
Me.GroupBox3.Location = New System.Drawing.Point(8,
248)
Me.GroupBox3.Name = "GroupBox3"
Me.GroupBox3.Size = New
System.Drawing.Size(360, 216)
Me.GroupBox3.TabIndex = 26
Me.GroupBox3.TabStop = False
'
'ComboBox2
'
Me.ComboBox2.Items.AddRange(New
Object() {"North India", "India North East", "Chennai", "Central
India", "NH45", "West India", "East
India", "South India", "India North", "India
Zonal"})
Me.ComboBox2.Location = New
System.Drawing.Point(216, 16)
Me.ComboBox2.Name = "ComboBox2"
Me.ComboBox2.Size = New
System.Drawing.Size(121, 21)
Me.ComboBox2.TabIndex = 58
Me.ComboBox2.Text = "SELECT MAP"
'
'SEARCH_PANEL
'
Me.SEARCH_PANEL.BackColor =
System.Drawing.Color.FromArgb(CType(192, Byte), CType(192, Byte), CType(255,
Byte))
Me.SEARCH_PANEL.Controls.Add(Me.L4)
Me.SEARCH_PANEL.Controls.Add(Me.L3)
Me.SEARCH_PANEL.Controls.Add(Me.L2)
Me.SEARCH_PANEL.Controls.Add(Me.Label20)
Me.SEARCH_PANEL.Controls.Add(Me.L1)
Me.SEARCH_PANEL.Controls.Add(Me.Button6)
Me.SEARCH_PANEL.Font = New
System.Drawing.Font("Microsoft Sans Serif",
9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.SEARCH_PANEL.Location = New
System.Drawing.Point(-208, 8)
Me.SEARCH_PANEL.Name = "SEARCH_PANEL"
Me.SEARCH_PANEL.Size = New
System.Drawing.Size(336, 208)
Me.SEARCH_PANEL.TabIndex = 57
Me.SEARCH_PANEL.Visible = False
'
'L4
'
Me.L4.Location = New
System.Drawing.Point(16, 144)
Me.L4.Name = "L4"
Me.L4.Size = New
System.Drawing.Size(312, 24)
Me.L4.TabIndex = 4
'
'L3
'
Me.L3.Location
= New System.Drawing.Point(16, 112)
Me.L3.Name = "L3"
Me.L3.Size = New
System.Drawing.Size(312, 24)
Me.L3.TabIndex = 3
'
'L2
'
Me.L2.Location
= New System.Drawing.Point(16, 80)
Me.L2.Name = "L2"
Me.L2.Size = New System.Drawing.Size(312, 24)
Me.L2.TabIndex = 2
'
'Label20
'
Me.Label20.Font = New
System.Drawing.Font("Microsoft Sans Serif",
9.75!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic),
System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label20.ForeColor =
System.Drawing.Color.Brown
Me.Label20.Location = New
System.Drawing.Point(8, 8)
Me.Label20.Name = "Label20"
Me.Label20.Size = New System.Drawing.Size(320,
24)
Me.Label20.TabIndex = 1
Me.Label20.Text = "SEARCH RESULT"
Me.Label20.TextAlign =
System.Drawing.ContentAlignment.MiddleCenter
'
'L1
'
Me.L1.Location = New
System.Drawing.Point(16, 48)
Me.L1.Name = "L1"
Me.L1.Size = New
System.Drawing.Size(312, 24)
Me.L1.TabIndex = 0
'
'Button6
'
Me.Button6.Location = New
System.Drawing.Point(144, 176)
Me.Button6.Name = "Button6"
Me.Button6.Size = New
System.Drawing.Size(72, 24)
Me.Button6.TabIndex = 5
Me.Button6.Text = "OK"
'
'ComboBox1
'
Me.ComboBox1.Items.AddRange(New
Object() {"DB0", "CallandRec", "Tracking"})
Me.ComboBox1.Location = New
System.Drawing.Point(16, 16)
Me.ComboBox1.Name = "ComboBox1"
Me.ComboBox1.Size = New
System.Drawing.Size(192, 21)
Me.ComboBox1.TabIndex = 19
'
'DataGrid1
'
Me.DataGrid1.DataMember = ""
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Location
= New System.Drawing.Point(16, 40)
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.Size = New System.Drawing.Size(336,
176)
Me.DataGrid1.TabIndex = 18
'
'Button5
'
Me.Button5.BackColor =
System.Drawing.Color.DarkBlue
Me.Button5.Font = New
System.Drawing.Font("Microsoft Sans Serif",
8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.Button5.ForeColor =
System.Drawing.SystemColors.ControlLightLight
Me.Button5.Location = New
System.Drawing.Point(184, 40)
Me.Button5.Name = "Button5"
Me.Button5.Size = New
System.Drawing.Size(80, 32)
Me.Button5.TabIndex = 25
Me.Button5.Text = "SEARCH USER"
'
'GroupBox4
'
Me.GroupBox4.BackColor =
System.Drawing.Color.CornflowerBlue
Me.GroupBox4.Controls.Add(Me.PictureBox1)
Me.GroupBox4.Location = New
System.Drawing.Point(8, 0)
Me.GroupBox4.Name = "GroupBox4"
Me.GroupBox4.Size = New
System.Drawing.Size(600, 504)
Me.GroupBox4.TabIndex = 1
Me.GroupBox4.TabStop = False
Me.GroupBox4.Text = "Tree Structure"
'
'PictureBox1
'
Me.PictureBox1.BackColor =
System.Drawing.Color.Black
Me.PictureBox1.Location = New
System.Drawing.Point(8, 16)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New
System.Drawing.Size(584, 480)
Me.PictureBox1.TabIndex = 0
Me.PictureBox1.TabStop = False
'
'Timer1
'
Me.Timer1.Enabled = True
Me.Timer1.Interval
= 10000
'
'Server
'
Me.AutoScaleBaseSize = New
System.Drawing.Size(5, 13)
Me.BackColor =
System.Drawing.SystemColors.InactiveCaption
Me.ClientSize = New
System.Drawing.Size(1000, 517)
Me.Controls.Add(Me.GroupBox4)
Me.Controls.Add(Me.GroupBox1)
Me.Name = "Server"
Me.Text = "Server"
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox2.ResumeLayout(False)
Me.GroupBox3.ResumeLayout(False)
Me.SEARCH_PANEL.ResumeLayout(False)
CType(Me.DataGrid1,
System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox4.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Private Sub Server_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
cmd.Connection = con
Dim NodeName As String = ""
NodeName = System.Net.Dns.GetHostName()
TextBox1.Text = NodeName
Dim IPAddress As String =
System.Net.Dns.GetHostByName(NodeName).AddressList(0).ToString
TextBox2.Text = IPAddress
con.Open()
cmd.CommandText = "Select * From RunningNodes"
ClientName =
System.Net.Dns.GetHostName()
cmd.CommandText = "Select count(Sno) from RunningNodes"
RunningNodeSerialNo = cmd.ExecuteScalar
+ 1
cmd.CommandText = "Insert into RunningNodes values (" &
RunningNodeSerialNo & ",'"
& ClientName & "','" &
IPAddress & "','Server','Active')"
cmd.ExecuteNonQuery()
con.Close()
bmp01 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp12 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp03 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp04 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp05 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp06 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp07 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp08 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp09 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp10 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp11 = New Bitmap(PictureBox1.Width,
PictureBox1.Height)
bmp01 = Bitmap.FromFile("map.bmp")
bmp03 = Bitmap.FromFile("India North East.bmp")
bmp04 = Bitmap.FromFile("chennai-map.bmp")
bmp05 = Bitmap.FromFile("central-india.bmp")
bmp06 = Bitmap.FromFile("NH45.gif")
bmp07 = Bitmap.FromFile("west-india.bmp")
bmp08 = Bitmap.FromFile("east-india-map.bmp")
bmp09 = Bitmap.FromFile("south-india.bmp")
bmp10 = Bitmap.FromFile("India North.bmp")
bmp11 = Bitmap.FromFile("india_zonal_map.bmp")
bmp12 = Bitmap.FromFile("north_india.bmp")
End Sub
Public layoutlist(100) As Image
Function getindex(ByVal cn As String) As
Int32
ClientList.Items.IndexOf(cn)
End Function
<System.Runtime.Remoting.Messaging.OneWay()> _
Public Sub stest(ByVal hname As String)
ClientList.Items.Add(hname)
Dim id As Int32 =
ClientList.Items.Count + 100
global.insert("insert
into db0 values('" & id & "','"
& hname & "' )")
drawclient()
End Sub
<System.Runtime.Remoting.Messaging.OneWay()> _
Public Sub callgenerate(ByVal mobnum As
String, ByVal mobnum2 As String, ByVal hname As String)
global.insert("insert
into callandrec values('" & callid & "','" & mobnum & "','" & mobnum2 & "','" & DateTime.Today & "','Recieved' )")
callid = callid + 1
End Sub
<System.Runtime.Remoting.Messaging.OneWay()> _
Public Sub Tracking(ByVal ptnpos(,) As String,
ByVal hname As String, ByVal count As Integer, ByVal int As Integer)
Dim jee As Int32
jee = int
Dim i As Integer
For i = 0 To count
If (Me.ptnpos(1, i) <>
ptnpos(1, i) Or Me.ptnpos(2, i) <> ptnpos(2, i)) Then
If Me.ptnpos(1, i) = 0 And
Me.ptnpos(2, i) = 0 Then
oldx = 0
oldy = 0
newx = 0
newy = 0
Else
oldx = Me.ptnpos(1, i)
oldy = Me.ptnpos(2, i)
newx = ptnpos(1, i)
newy = ptnpos(2, i)
End If
chindex = i
End If
Next
Me.ptnpos = ptnpos
For i = 0 To count
global.insert("insert into tracking values('" &
ptnpos(0, i) & "','" &
ptnpos(1, i) & "','" &
ptnpos(2, i) & "')")
Next
drawimage(hname)
Dim pos1 As String
Dim pos2 As String
con.Open()
Dim cmd1 As New SqlCommand("Select Loc1,Loc2 from tracking where PtnName='"
& jee & "'", con)
dr = cmd1.ExecuteReader()
While dr.Read
pos1
= Convert.ToString(dr(0))
pos2
= Convert.ToString(dr(1))
End While
If (pos1 > 0 And pos1 <= 110 And
pos2 > 500) Then
Label4.Text = "T-Nagar"
ElseIf (pos1 > 0 And pos1 <= 110
And pos2 <= 500 And pos2 > 400) Then
Label4.Text = "Saidapet"
ElseIf (pos1 > 0 And pos1 <= 110
And pos2 <= 400 And pos2 > 300) Then
Label4.Text = "Guindy"
ElseIf (pos1 > 0 And pos1 <= 110
And pos2 <= 300 And pos2 > 200) Then
Label4.Text = "Mount"
ElseIf (pos1 > 0 And pos1 <= 110
And pos2 <= 200 And pos2 > 100) Then
Label4.Text = "Pazavanthangal"
ElseIf (pos1 > 0 And pos1 <= 110
And pos2 <= 100 And pos2 > 5) Then
Label4.Text = "Meenambakkam"
ElseIf (pos1 > 110 And pos1 <=
210 And pos2 > 500) Then
Label4.Text = "Thirusulam"
ElseIf (pos1 > 110 And pos1 <=
210 And pos2 <= 500 And pos2 > 400) Then
Label4.Text = "Pallavaram"
ElseIf (pos1 > 110 And pos1 <=
210 And pos2 <= 400 And pos2 > 300) Then
Label4.Text = "Chrompet"
ElseIf (pos1 > 110 And pos1 <=
210 And pos2 <= 300 And pos2 > 200) Then
Label4.Text = "Sanitorium"
ElseIf (pos1 > 110 And pos1 <=
210 And pos2 <= 200 And pos2 > 100) Then
Label4.Text = "Tambaram"
ElseIf (pos1 > 110 And pos1 <=
210 And pos2 <= 100 And pos2 > 5) Then
Label4.Text = "Tambaram East"
ElseIf (pos1 > 210 And pos1 <=
310 And pos2 > 500) Then
Label4.Text = "Kodambakkam"
ElseIf (pos1 > 210 And pos1 <=
310 And pos2 <= 500 And pos2 > 400) Then
Label4.Text = "choolaimedu"
ElseIf (pos1 > 210 And pos1 <=
310 And pos2 <= 400 And pos2 > 300) Then
Label4.Text = "Nungambakkam"
ElseIf (pos1 > 210 And pos1 <=
310 And pos2 <= 300 And pos2 > 200) Then
Label4.Text = "Chetpet"
ElseIf (pos1 > 210 And pos1 <=
310 And pos2 <= 200 And pos2 > 100) Then
Label4.Text = "Egmore"
ElseIf (pos1 > 210 And pos1 <= 310 And pos2 <= 100 And pos2
> 5) Then
Label4.Text = "Pantheon
Road "
ElseIf (pos1 > 310 And pos1 <=
410 And pos2 > 500) Then
Label4.Text = "Park"
ElseIf (pos1 > 310 And pos1 <= 410
And pos2 <= 500 And pos2 > 400) Then
Label4.Text = "Ribbon
Building "
ElseIf (pos1 > 310 And pos1 <=
410 And pos2 <= 400 And pos2 > 300) Then
Label4.Text = "Fort"
ElseIf (pos1 > 310 And pos1 <=
410 And pos2 <= 300 And pos2 > 200) Then
Label4.Text = "Beach"
ElseIf (pos1 > 310 And pos1 <=
410 And pos2 <= 200 And pos2 > 100) Then
Label4.Text = "City
Center "
ElseIf (pos1 > 310 And pos1 <=
410 And pos2 <= 100 And pos2 > 5) Then
Label4.Text = "Marina "
ElseIf (pos1 > 410 And pos2 >
500) Then
Label4.Text = "CMBT"
ElseIf (pos1 > 410 And pos2 <=
500 And pos2 > 400) Then
Label4.Text = "Anna Nagar"
ElseIf (pos1 > 410 And pos2 <=
400 And pos2 > 300) Then
Label4.Text = "Villivakam"
ElseIf (pos1 > 410 And pos2 <=
300 And pos2 > 200) Then
Label4.Text = "Padi"
ElseIf (pos1 > 410 And pos2 <=
200 And pos2 > 100) Then
Label4.Text = "Red Hills"
ElseIf (pos1 > 410 And pos2 <=
100 And pos2 > 5) Then
Label4.Text = "Vyasarpadi"
End If
Label4.Text = "PTN:
" + Convert.ToString(jee) + " Location: " + Label4.Text + " Position:
X= " + pos1 + " Position: Y =
" + pos2
dr.Close()
con.Close()
End Sub
Private Sub Button1_Click_2(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Try
ServerModule.Serverstart()
AddHandler ServerModule.server.EventTest,
AddressOf stest
AddHandler
ServerModule.server.eventcallgenerate, AddressOf callgenerate
AddHandler
ServerModule.server.EventTracking, AddressOf Tracking
ClientList.Items.Clear()
Button1.Enabled = False
Button3.Enabled = True
GroupBox2.Enabled = True
GroupBox3.Enabled = True
GroupBox4.Enabled = True
cleardb()
MsgBox("SERVER
IS STARTED")
Catch ex As Exception
Label4.Text = ex.ToString()
MsgBox(ex.ToString())
End Try
End Sub
Private Sub Button3_Click_1(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button3.Click
If MsgBox("
Server is stoped") = MsgBoxResult.OK Then
GroupBox2.Enabled = False
GroupBox3.Enabled = False
GroupBox4.Enabled = False
Button1.Enabled = True
Button3.Enabled = False
End If
End Sub
Private Sub ComboBox1_SelectedIndexChanged_1(ByVal
sender As System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
Dim obj As New dlclass
Dim dt As DataTable
dt =
global.load(ComboBox1.SelectedItem)
DataGrid1.DataSource = dt
End Sub
Private Sub Button5_Click_1(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button5.Click
dset.Tables.Clear()
MobNum = Val(InputBox("enter Mobile Number"))
dset = SQL_QUERY("SELECT * FROM CLIENT WHERE PH_NO=" &
MobNum, "SER")
If dset.Tables("SER").Rows.Count
> 0 Then
Dim XX As String
XX =
dset.Tables("SER").Rows.Item(0).Item("PH_NO")
L1.Text = "MOBILE NUMBER :
" & XX
XX = dset.Tables("SER").Rows.Item(0).Item("CLIENT_NAME")
L2.Text = "HOLDER
NAME : " & XX
XX = dset.Tables("SER").Rows.Item(0).Item("PLACE")
L3.Text = "COUNTRY : " & XX
XX =
dset.Tables("SER").Rows.Item(0).Item("DB")
L4.Text = "DATA BASE
: " & XX
SEARCH_PANEL.Location = New
Point(12, 12)
SEARCH_PANEL.Visible = True
Else
MsgBox("MOBILE NUMBER IS NOT FOUND")
SEARCH_PANEL.Visible = False
End If
End Sub
Private Sub Button2_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim dr As SqlDataReader
Dim place As String
ListBox1.Items.Clear()
place = InputBox("Enter The Country Name")
con.Open()
cmd.CommandText = "select ph_no from client where place='"
& place & "'"
cmd.Connection = con
dr = cmd.ExecuteReader
If dr.Read Then
While dr.Read
ListBox1.Items.Add(dr(0))
End While
dr.Close()
MsgBox("
Mobile Numbers In " & place)
Else
MsgBox("Country
Not Found")
End If
con.Close()
End Sub
Function cleardb()
global.delete("delete
from members")
global.delete("delete
from db1")
global.delete("delete
from db2")
global.delete("delete
from db0")
global.delete("delete
from tracking")
global.delete("delete
from locreg")
global.delete("delete
from callandrec")
End Function
Public Function drawclient()
PictureBox1.Image = bmp01
Try
Dim Client() As String =
global.readdb("select HNAME from DB0")
Dim bmp02 As Bitmap = New
Bitmap(PictureBox1.Width, PictureBox1.Height)
Dim bmp1 As Bitmap = bmp02
Dim graphics1 As Graphics =
graphics1.FromImage(bmp1)
Dim myPen = New Pen(Color.Green, 2)
Dim fontFmly As New FontFamily("Tahoma")
Dim green28 As New Font(fontFmly,
10)
Dim w, h As Integer
w = PictureBox1.Width
h = PictureBox1.Height
w = w / 2
graphics1.DrawEllipse(myPen, w, 20,
70, 60)
graphics1.DrawString("DB0", green28, New
SolidBrush(Color.Red), w + 20, 10 + 30)
Dim i As Int32
Dim lx, ly As Int64
lx = 20
ly = h / 2
For i = 1 To
Convert.ToInt32(Client(0))
graphics1.DrawEllipse(myPen, lx, ly,
30, 30)
graphics1.DrawString(Client(i),
green28, New SolidBrush(Color.Red), lx + 20, ly + 30)
lx = lx + 100
Next
PictureBox1.Image = bmp1
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function
Public Function drawimage(ByVal csname As
String)
PictureBox1.Image = bmp01
Try
Dim db1() As String =
global.readdb("select DB1ADDR from DB1 where
hname like '" & csname.ToString() & "'")
Dim db2() As String =
global.readdb("select DB2ADDR from DB2 where
hname like '" & csname.ToString() & "'")
Dim Member() As String =
global.readdb("select ptn from Members where
hname like '" & csname.ToString() & "'")
Dim bmp1 As Bitmap = bmp01
Dim graphics1 As Graphics =
graphics1.FromImage(bmp1)
Dim myPen = New Pen(Color.Green, 2)
Dim myPen1 = New Pen(Color.Blue, 2)
Dim fontFmly As New FontFamily("Tahoma")
Dim green28 As New Font(fontFmly,
10)
Dim w, h As Integer
w = PictureBox1.Width
h = PictureBox1.Height
w = w / 2
graphics1.DrawEllipse(myPen, w, 20,
70, 60)
graphics1.DrawString("DB0", green28, New
SolidBrush(Color.Red), w + 20, 10 + 30)
Dim i As Int32
Dim lx1, lx2, ly1, ly2, ly3, lx3 As
Int64
lx1 = level1x
ly1 = level1y
For i = 1 To Convert.ToInt32(db1(0))
graphics1.DrawEllipse(myPen,
lx1, ly1, 30, 30)
graphics1.DrawString(db1(i),
green28, New SolidBrush(Color.Red), lx1 + 20, ly1 + 30)
lx1 = lx1 + 100
Next
lx2 = level2x
ly2 = level2y
For i = 1 To
Convert.ToInt32(db2(0))
graphics1.DrawEllipse(myPen,
lx2, ly2, 30, 30)
graphics1.DrawString(db2(i),
green28, New SolidBrush(Color.Red), lx2 + 20, ly2 + 30)
lx2 = lx2 + 100
Next
For i = 1 To
Convert.ToInt32(Member(0))
lx3 = Convert.ToInt32(ptnpos(1, i - 1))
ly3 =
Convert.ToInt32(ptnpos(2, i - 1))
graphics1.DrawEllipse(myPen, lx3,
ly3, 30, 30)
graphics1.DrawString(ptnpos(0,
i - 1), green28, New SolidBrush(Color.Red), lx3 + 20, ly3 + 30)
Next
graphics1.DrawLine(myPen1, oldx,
oldy, newx, newy)
PictureBox1.Image = bmp1
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function
Public Function defaultPosition()
Dim i As Integer
Dim Member() As String = global.readdb("select ptn from Members where hname like '"
& ClientList.SelectedItem.ToString() & "'")
Dim lx As Integer = level3x
Dim ly As Integer = level3y
For i = 1 To Convert.ToInt32(Member(0))
ptnpos(0, i - 1) = Member(i)
ptnpos(1, i - 1) = lx.ToString
ptnpos(2, i - 1) = ly.ToString
lx = lx + 100
Next
End Function
Private Sub
ClientList_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ClientList.SelectedIndexChanged
defaultPosition()
drawimage(ClientList.SelectedItem)
End Sub
Sub CheckCalls()
If con.State <>
ConnectionState.Open Then
con.Open()
End If
cmd.CommandText = "Select * From ServerCheckStatus Where
Status='TobeChecked'"
Dim r As SqlDataReader = cmd.ExecuteReader
'This loop is For checking numbers in other applications
Dim clientnodename As String = ""
Dim
MobNum As String = ""
Dim SerNo
As Long
Dim RunNodeSNo As Long
If r.Read Then
SerNo
= r(0)
clientnodename = r(1)
MobNum = r(2)
RunNodeSNo
= r(4)
End If
r.Close()
r = Nothing
'Check the
number in all client applications except source client
If clientnodename <> "" Then
Dim x As String
For Each x In ClientList.Items
cmd.CommandText = "Select count(*) From ClientCheckStatus"
Dim sno As Long
sno = cmd.ExecuteScalar + 1
cmd.CommandText = "Insert into ClientCheckStatus values("
& sno & ",'" & x & "','" & MobNum & "','TobeChecked'," & RunNodeSNo &
")"
cmd.ExecuteNonQuery()
Next
cmd.CommandText = "Update ServerCheckStatus Set Status='Checked' Where
SNo=" & SerNo
cmd.ExecuteNonQuery()
End If
con.Close()
End Sub
Private Sub Timer1_Tick(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ServerStarted = False Then Exit Sub
If con.State <>
ConnectionState.Open Then
con.Open()
End If
cmd.CommandText = "Select distinct(IPAddress) From RunningNodes Where
NodeType='Client' and Status='Active'"
Dim r As SqlDataReader = cmd.ExecuteReader
ClientList.Items.Clear()
While r.Read
ClientList.Items.Add(r(0))
End While
r.Close()
CheckCalls()
End Sub
Private Sub Button6_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles Button6.Click
SEARCH_PANEL.Visible = False
End Sub
Private Sub
ComboBox2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles ComboBox2.SelectedIndexChanged
If (ComboBox2.SelectedItem = "North India ")
Then
PictureBox1.Image = bmp12
End If
If (ComboBox2.SelectedItem = "India
North East") Then
PictureBox1.Image = bmp03
End If
If (ComboBox2.SelectedItem = "Chennai") Then
PictureBox1.Image = bmp04
End If
If (ComboBox2.SelectedItem = "Central India ")
Then
PictureBox1.Image = bmp05
End If
If (ComboBox2.SelectedItem = "NH45") Then
PictureBox1.Image = bmp06
End If
If (ComboBox2.SelectedItem = "West India ")
Then
PictureBox1.Image = bmp07
End If
If (ComboBox2.SelectedItem = "East India ")
Then
PictureBox1.Image = bmp08
End If
If (ComboBox2.SelectedItem = "South India ")
Then
PictureBox1.Image = bmp09
End If
If (ComboBox2.SelectedItem = "India
North") Then
PictureBox1.Image = bmp10
End If
If (ComboBox2.SelectedItem = "India
Zonal") Then
PictureBox1.Image = bmp11
End If
End Sub
End Class
Public
Class frmClient
Inherits System.Windows.Forms.Form
#Region " Windows Form Designer generated code "
Public Sub New()
MyBase.New()
'This call is
required by the Windows Form Designer.
InitializeComponent()
'Add any
initialization after the InitializeComponent() call
End Sub
'Form overrides
dispose to clean up the component list.
Protected Overloads Overrides Sub
Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Required by the
Windows Form Designer
Private components As
System.ComponentModel.IContainer
'NOTE: The
following procedure is required by the Windows Form Designer
'It can be
modified using the Windows Form Designer.
'Do not modify it
using the code editor.
Friend WithEvents MainMenu1 As
System.Windows.Forms.MainMenu
Friend WithEvents MenuItem1 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem2 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem3 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem4 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem5 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem6 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem7 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem8 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem9 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem10 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem11 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem12 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem13 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem14 As
System.Windows.Forms.MenuItem
Friend WithEvents MenuItem15 As System.Windows.Forms.MenuItem
Friend WithEvents MenuItem16 As
System.Windows.Forms.MenuItem
Friend WithEvents SqlConnection1 As
System.Data.SqlClient.SqlConnection
<System.Diagnostics.DebuggerStepThrough()> Private Sub
InitializeComponent()
Me.MainMenu1 = New
System.Windows.Forms.MainMenu
Me.MenuItem1 = New
System.Windows.Forms.MenuItem
Me.MenuItem2 = New
System.Windows.Forms.MenuItem
Me.MenuItem3 = New
System.Windows.Forms.MenuItem
Me.MenuItem4 = New System.Windows.Forms.MenuItem
Me.MenuItem5 = New
System.Windows.Forms.MenuItem
Me.MenuItem6 = New
System.Windows.Forms.MenuItem
Me.MenuItem7 = New
System.Windows.Forms.MenuItem
Me.MenuItem8 = New
System.Windows.Forms.MenuItem
Me.MenuItem11 = New
System.Windows.Forms.MenuItem
Me.MenuItem9 = New
System.Windows.Forms.MenuItem
Me.MenuItem13 = New
System.Windows.Forms.MenuItem
Me.MenuItem10 = New
System.Windows.Forms.MenuItem
Me.MenuItem12 = New System.Windows.Forms.MenuItem
Me.MenuItem14 = New
System.Windows.Forms.MenuItem
Me.MenuItem15 = New
System.Windows.Forms.MenuItem
Me.MenuItem16 = New
System.Windows.Forms.MenuItem
Me.SqlConnection1 = New
System.Data.SqlClient.SqlConnection
'
'MainMenu1
'
Me.MainMenu1.MenuItems.AddRange(New
System.Windows.Forms.MenuItem() {Me.MenuItem1, Me.MenuItem6, Me.MenuItem8,
Me.MenuItem9, Me.MenuItem10, Me.MenuItem14})
'
'MenuItem1
'
Me.MenuItem1.Index = 0
Me.MenuItem1.MenuItems.AddRange(New System.Windows.Forms.MenuItem()
{Me.MenuItem2, Me.MenuItem3, Me.MenuItem4, Me.MenuItem5})
Me.MenuItem1.Text = "Client"
'
'MenuItem2
'
Me.MenuItem2.Index = 0
Me.MenuItem2.Text = "Connect"
'
'MenuItem3
'
Me.MenuItem3.Index = 1
Me.MenuItem3.Text
= "Disconnnect"
'
'MenuItem4
'
Me.MenuItem4.Index = 2
Me.MenuItem4.Text = "Settings"
'
'MenuItem5
'
Me.MenuItem5.Index = 3
Me.MenuItem5.Text = "Exit"
'
'MenuItem6
'
Me.MenuItem6.Index = 1
Me.MenuItem6.MenuItems.AddRange(New System.Windows.Forms.MenuItem()
{Me.MenuItem7})
Me.MenuItem6.Text
= "Members"
'
'MenuItem7
'
Me.MenuItem7.Index = 0
Me.MenuItem7.Text = "New Members"
'
'MenuItem8
'
Me.MenuItem8.Index = 2
Me.MenuItem8.MenuItems.AddRange(New
System.Windows.Forms.MenuItem() {Me.MenuItem11})
Me.MenuItem8.Text
= "Call"
'
'MenuItem11
'
Me.MenuItem11.Index = 0
Me.MenuItem11.Text = "Outgoing"
'
'MenuItem9
'
Me.MenuItem9.Index = 3
Me.MenuItem9.MenuItems.AddRange(New
System.Windows.Forms.MenuItem() {Me.MenuItem13})
Me.MenuItem9.Text = "Registration"
'
'MenuItem13
'
Me.MenuItem13.Index = 0
Me.MenuItem13.Text = "Location"
'
'MenuItem10
'
Me.MenuItem10.Index = 4
Me.MenuItem10.MenuItems.AddRange(New
System.Windows.Forms.MenuItem() {Me.MenuItem12})
Me.MenuItem10.Text = "Layout"
'
'MenuItem12
'
Me.MenuItem12.Index = 0
Me.MenuItem12.Text
= "View Architecture"
'
'MenuItem14
'
Me.MenuItem14.Index = 5
Me.MenuItem14.MenuItems.AddRange(New
System.Windows.Forms.MenuItem() {Me.MenuItem15, Me.MenuItem16})
Me.MenuItem14.Text = "DB"
'
'MenuItem15
'
Me.MenuItem15.Index = 0
Me.MenuItem15.Text
= "New DB1"
'
'MenuItem16
'
Me.MenuItem16.Index = 1
Me.MenuItem16.Text = "New DB2"
'
'SqlConnection1
'
Me.SqlConnection1.ConnectionString = "workstation id=PHOENIX_PR;packet
size=4096;integrated security=SSPI;data source=P" & _
"HOENIX_PR;persist
security info=False;initial catalog=Tracking"
'
'frmClient
'
Me.AutoScaleBaseSize = New
System.Drawing.Size(5, 13)
Me.ClientSize = New
System.Drawing.Size(648, 398)
Me.Menu = Me.MainMenu1
Me.Name = "frmClient"
Me.Text = "Client"
Me.WindowState =
System.Windows.Forms.FormWindowState.Maximized
End Sub
#End Region
Private Sub MenuItem7_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MenuItem7.Click
Dim Mem As New frmMembers
Mem.Show()
End Sub
Private Sub MenuItem4_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MenuItem4.Click
Dim settings As New frmSettings
settings.Show()
End Sub
Private Sub MenuItem15_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles MenuItem15.Click
Dim DB1 As New NewDB1
DB1.Show()
End Sub
Private Sub MenuItem16_Click(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles MenuItem16.Click
Dim db2 As New NewDB2
db2.Show()
End Sub
Private Sub frmClient_Load(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
APPENDIX 2
SCREEN SHOTS
Server Main Page:
Start Server:
Search User:
Search Results:
Show Mobile Number:
Client Main Page:
Client Registration:
Client Home Page:
New Mobile Register:
Location Update:
Call Setup:
Roaming:
Tracking: