PROJECT REPORT ON REMINDER APPLICATION SYSTEM

IN PARTIAL FULFILLMENT OF THE REQUIREMENT FOR THE AWARD OF THE DEGREE IN BACHELOR OF ENGINEERING (COMPUTER SCIENCE & ENGINEERING)

BATCH: 2008-2012 (OSS BASED PROJECT)

Submitted By:
HARISH KAUSHIK (08/IT/016) CHANDERPAL (08/IT/007)

Submitted To: Ms. Bhawna (Faculty and Project Guide) Mr. Pawan Bhadana (HOD-CSE/IT)

B.S. ANANGPURIA INSTITUTEOF TECHNOLOGY & MANAGEMENT ALAMPUR, FARIDABAD (HARYANA)

(MAHRISHI DAYANAND UNIVERSITY, ROHTAK)

ACKNOWLEDGEMENT
We take this opportunity to thank all those who have helped us in completing the project successfully. We sincerely thank Mr. S.S.Tyagi Principal of B.S.Anangpuria Institute of Technology and Management, Alampur for providing us a platform to build this project. We would also like to show our gratitude to Mr. Pawan Bhadana (H.O.D. of the institute’s Computer and IT department) for providing us with well trained faculty and giving us all the required resources and a healthy environment for our carrying out our project work. We are highly obliged to Miss Bhawna (Faculty and Project Guide) for providing us continuous and invaluable guidance throughout the project. Her/his kind and elderly advice always inspired us in putting our best efforts to develop an efficient project.

2. HARISH KAUSHIK (08/IT/016) 3. CHANDERPAL (08/IT/007)

B.S. Anangpuria Institute of Technology & Management

CERTIFICATE
This is to certify that the project work entitled, Reminder Application System , submitted by the students of B.S. AND of the

ANANGPURIA MANAGEMENT

INSTITUTE (2008-2012) in

OF

TECHNOLOGY fulfillment

partial

requirement for the degree B.TECH. of M.D. University Rohtak , is a bonafid record of the work carried out by them under my supervision and is their original work.

Miss. Bhawna (Faculty and Project Guide)

Mr. Pawan Bhadana (H.O.D. CSE / IT)

INDEX
1. Profile of Saffron-e-services…………………………….. 2. Hardware and Software Configuration………………… 3. Introduction to Microsoft Visual Studio 2010…………. 4. Introduction to .NET…………………………………….. 5. Introduction to C#.............................................................. 6. Aim of Project……………………………………………. 7. Scope of the Project……………………………………… 8. Modular Diagram………………………………………... 9. Coding…………………………………………………….. 10. Snapshots……………………………………………….... 11. Bibliography………………………………………………

SAFFRON-E-SERVICES A PROFILE

Saffron-e-services helps its Global 2000 customers remain at the forefront of their industries with innovative uses of technology to operate their businesses more efficiently. We deliver flexible, custom Information Technology solutions that improve quality and reduce costs. More than any other company, we explore, develop and adapt new, better ways to do this. Our focus and priorities are considerably different from our competition. We are focused on the benefits new delivery models can deliver, not on forcing work to offshore locations. We seek out ways to improve YOUR efficiency. There is no one size fits all solution at Saffron-e-services. Your business is unique and so are the opportunities waiting to be discovered. We’ve been working at this business for 6 years, creating custom solutions, improving our own efficiencies, which has enabled us to grow from a small, local company to a global one. Applying our innovations to our own operations has also given us unique insight into how to address our customers’ business issues. The depth of our experience enables us to guarantee many projects’ success at a fixed price. It is this combination of hands-on experience and relentless focus on business results that has given rise to our partner for life philosophy. We have structured our organization to give clients what they need, when they need it, and built in ways to uncover new efficiency opportunities for them before they realize it themselves. All in all, Saffron-e-services is a company devoted to exceeding the expectations of our customers, day in and day out. We are dedicated to

Saffron-e-services software services ensure on-time delivery of solution with high quality and security to customers. Microsoft SQL. RMI. Technology Expertise Java. Apache. Saffron-e-services has proven track record of designing and delivering high quality software solutions in the areas of enterprise applications. EJB. eBusiness applications. BEA web logic Application Server. JIA. PL/SQL. JSP.Net. interoperability. talent. Saffron-e-services has designed and developed custom eBusiness solutions for customers and has successfully integrated such solutions to back-end ERP solutions. JBoss Application Servers. and . BPO workflow solutions. Coldfusion. Oracle. Perl.our mission to create new opportunities for our customers by harnessing the passion. XSL. Sybase. PHP. Swing. Postgresql. creation of XML requests and validation of the responses. Web Services Testing Saffron-e-services testing services also encompasses Web Services testing. Apache. VC++. Linux. Saffron-e-services has core technology competencies in both Java and Microsoft technologies. J2EE. Oracle Application Server. and software products. Tomcat. We've formalized a testing approach that provides a platform for automation of WSDL reading and sampling. requiring the creation of custom test harnesses. VB. XML. and innovation of new strategies. IIS. . D2K. Struts. ASP. JMS. and performance. mySQL. This is a challenging area for testers because it has many issues related to security.

Saffron-e-services has successfully provided pen-source / Linux platforms and solutions to organization resulting in a reduced total cost of ownership. backup strategy planning/ implementation. samba implementation. migration. Sybase and other commercial / open-source / Linux databases. firewall configuration. disaster recovery planning / implementation. non-resident support. remote database support or e-mail / telephonic support. implementation. . postgresql database administration. DB2. DHCP implementation. security review / implementation and high availability implementation Open Source Consulting Saffron-e-services offers a range of professional services based on open source Linux platforms for remote server administration. Microsoft SQL. network backup solutions and load balancing solutions. management and tuning for Oracle. Saffron-e-services has extensive expertise in database consulting and providing services such as database design. dial-in solutions. desktop deployment. The areas of service includes pre-implementation database sizing. PostgreSQL and MSSQL databases. Sybase.development and use of custom test harnesses to test complete functionality when consuming a Web Service. LDAP implementation. cluster implementation. proxy configuration. Database Consulting Services A comprehensive and flexible service offering for database design. The delivery models offered are: onsite resident support. performance tuning. implementation and management for Oracle.

CORE FOCUS AREAS OF SOLUTION AND SERVICES:       BPO Services Technical Support Operations E-Business Application Development Enterprise Application Development Database/Open-source Linux Consulting Software Products Development and Support .

256 MB RAM.C. Visual Studio 2010 HARDWARE:P. CD-R/W Hard disk – 80GB FRONT END: BACK END: C# DATABASE CONNETIVITY .HARDWARE & SOFTWARE CONFIGURATION SOFTWARE:Windows Operating System. INTEL CORE 2 DUO PROCESSOR.

NET Compact Framework and Microsoft Silverlight. class designer. Support for other languages such as M. Visual Studio includes a code editor supporting IntelliSense as well as code refactoring.NET Framework. which allow the code editor and debugger to support (to varying degrees) nearly any programming language. The integrated debugger works both as a sourcelevel debugger and a machine-level debugger. It accepts plugins that enhance the functionality at almost every level—including adding support for source-control systems (like Subversion and Visual SourceSafe) and adding new toolsets like editors and visual designers for domain-specific languages or toolsets for other aspects of the software development lifecycle (like the Team Foundation Server client: Team Explorer). Visual Studio supports different programming languages by means of language services.MICROSOFT VISUAL STUDIO 2010 Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It also supports XML/XSLT. and web services in both native code together with managed code for all platforms supported by Microsoft Windows. and F# (as of Visual Studio 2010). Built-in languages include C/C++ (via Visual C++). Windows Mobile. provided a language-specific service exists. . C#(via Visual C#). It is used to develop console and graphical user interface applications along with Windows Forms applications. VB. Individual language-specific versions of Visual Studio also exist which provide . and Ruby among others is available via language services installed separately. web designer. and database schema designer.NET (via Visual Basic . Other built-in tools include a forms designer for building GUIapplications. Windows CE. . web sites.NET). JavaScript and CSS. HTML/XHTML. web applications. Python.

Visual C++. Visual C#. and Visual C++. J#) of Visual Studio Express 2010 are available for free to students as downloads via Microsoft's DreamSpark program.more limited language services to the user: Microsoft Visual Basic. and Visual Web Developer at no cost. C#. along with language-specific versions (Visual Basic. 2008 and 2005 Professional Editions. Visual C#. Visual Studio 2010. . Visual J#. Microsoft provides "Express" editions of its Visual Studio 2010 components Visual Basic. C++.

.0 of the . By late 2000 the first beta versions of .NET Framework execute in a software environment (as contrasted to hardware environment).NET Framework's Base Class Library provides user interface. It includes a large library and supports several programming languages which allows language interoperability (each language can use code written in other languages). numeric algorithms. Programs written for the . The .0 were released.NET Framework is intended to be used by most new applications created for the Windows platform. web application development.NET Framework (pronounced dot net) is a software framework that runs primarily on Microsoft Windows.NET 1.NET Framework family also includes two versions for mobile or embedded device use.A BRIEF HISTORY OF . Programmers produce software by combining their own source code with the .NET Framework.NET Framework and other libraries. A reduced version of the .NET Framework 4 was released alongside Visual Studio 2010.NET software called Visual Studio Microsoft started development on the . Version 3.NET library is available to all the programming languages that . Version 3. The . an application virtual machine that provides important services such as security. and exception handling. memory management.On April 12. and network communications.NET Framework is included with Windows Server 2008 and Windows Vista. known as the Common Language Runtime (CLR). 2010. The class library and the CLR together constitute the . The .database connectivity. Microsoft also produces a popular integrated development environment largely for .NET FRAMEWORK The . The . data access.NET Framework in the late 1990s originally under the name of Next Generation Windows Services (NGWS). cryptography. and can also be installed on Windows XP and the Windows Server 2003 family of operating systems.NET supports.5 is included with Windows 7.

including Windows Mobile devices such as smartphones. Additionally. .NET Micro Framework is targeted at severely resource-constrained devices. .framework.NET Compact Framework. the. is available on Windows CE platforms. the .

NET Framework. Access to COM components is provided in the System.NET Framework supports the exchange of types and object instances between libraries and applications written using any conforming .WHY USE . .Runtime. and exception handling. BASIC and Java.  Language Independence The .  Common Language Runtime Engine The Common Language Runtime (CLR) is the execution engine of the . The CTS specification defines all possible datatypes and programming constructs supported by the CLR and how they may or may not interact with each other conforming to the Common Language Infrastructure (CLI) specification. or CTS. These are all excellent languages that are well suited to most programming tasks. there are many high level languages to choose from. such as C. the .NET environment. C++. security.InteropServices and System.NET Framework introduces a Common Type System.NET? In today’s programming world. the .NET language. All .NET Framework provides means to access functionality that is implemented in programs that execute outside the . but the following reasons make . Perl. Python. guaranteeing certain properties and behaviors in the areas of memory management.EnterpriseServices namespaces of the framework. Because of this feature.NET on top of the list:  Interoperability Because computer systems commonly require interaction between new and older applications.NET programs execute under the supervision of the CLR. access to other functionality is provided using the P/Invoke feature.

NET Framework.NET provides a common security model for all applications. the C# language. graphic rendering. and the C++/CLI language to both ECMA and the ISO. The BCL provides classes which encapsulate a number of common functions. making them available as open standards. and cross-platform implementations are available for other operating systems Microsoft submitted the specifications for the Common Language Infrastructure (which includes the core class libraries. part of the Framework Class Library (FCL). This makes it possible for third parties to create compatible implementations of the framework and its languages on other platforms. Additionally. While Microsoft has never implemented the full framework on any system except Microsoft Windows.NET Framework allows it theoretically to be platform agnostic. XML document manipulation and so on. that have been exploited by malicious software. and thus cross-platform compatible. the framework is engineered to be platform agnostic.  Portability The design of the . including file reading and writing. is a library of functionality available to all languages using the .NET Framework includes design features and tools that help manage the installation of computer software to ensure that it does not interfere with previously installed software. a program written to use the framework should run without change on any type of system for which the framework is implemented. .  Simplified Deployment The . database interaction. . and that it conforms to security requirements. and the Common Intermediat Language).  Security The design is meant to address some of the vulnerabilities. Base Class Library The Base Class Library (BCL). That is. Common Type System. such as buffer overflows.

Visual J# and Visual C++. which allows game developers to create and share their games with other gamers. While multiple implementations of the specification exist. Visual C# is currently used in development of Windows and Xbox Live games via Microsoft XNA. Visual C# is by far the one most commonly used. which Microsoft also created." The term Visual denotes a brand-name relationship with other Microsoft programming languages such as Visual Basic. an unqualified reference to "C#" is taken to mean "Visual C#.NET web sites and standalone applications based on the . It is based on the ECMA/ISO specification of the C# language. included in the Microsoft Visual Studio suite of products. Visual C# is also heavily used by ASP. Visual FoxPro.In most contexts.WHY USE C#? Microsoft Visual C# is Microsoft's implementation of the C# specification.NET Framework. . All of these products are packaged with a graphical IDE and support rapid application development of Windowsbased applications.

Each entry usually consists of a few standard fields. We can also modify the information as and when needed. The reminder can be deleted by the user as per the need. . quotes. All the reminder from the address book can be deleted if the user wants to do so. etc.AIM OF PROJECT A REMINDER APPLICATION SYSTEM database used for storing entries of events. We can view the reminder of a single event or all the events. It helps to keep a close track on any usual information which we could forget in simpler and faster manner. This project is made for every person to save the information about their events or any other important things he could forget. The reminders can be searched on the basis of the date set for the reminder. Using this project. we can add reminder in the computer.

The system has the following advantages: 1. It is reliable because it is completely computerized and less manual work is needed. The proposed system is much faster than the manual system. As the system is menu-driven. The user just has to select an option from the various available and perform the task. it is easier to keep reminder. 3. . 4. 2.SCOPE OF THE PROJECT This project on Reminder Application System is a computerized system of maintaining the reminders of information about all the events or any other useful information. The system keeps the reminders in a file which can be backed-up very easily.

The Reminder Application System is developed in the C# language on Windows Operating System . cost control and improved profitability. . thereby enabling human beings to make better decisions on time. The Reminder Application System can be easily customized to the requirements of any human being.The Reminder Application System provides the benefits of streamlining operations. improved response.INTRODUCTION The Reminder Application System provides easy access to critical information. enhanced administration and control.

3. faster data retrieval. Reminder Application System helps in gathering information to meet any challenges. 5. Reminder Application System helps as a good managerial tool to offer improved performance and enhanced functions. delays and confusions. both on the cost and the memory. This is achieved by avoiding duplications. 4.BENEFITS 1. Reminder Application System helps by information with better data access. . 6. Reminder Application System helps in improving efficiency. higher quality data and more versatility in data display. 2. Reminder Application System helps to increase accuracy & completeness. Reminder Application System helps in maintaining a totally secured database of Patients and business information. This information can be available at your fingertips. repetitions.

particularly if a software is not fully tested by the user and if implementation planning is not thorough 2. High risk.DISADVANTAGES 1. Limits the contingency options if things go wrong and can cause a lose in the information if unacceptable delays occur .

MODULAR DIAGRAM REMINDER APPLICATION Figure SYSTEM EVENT INFORMATION DATE DATE TEXT TEXT TIME INTERVAL TIME INTERVAL .

0.csproj Project DefaultTargets="Build" xmlns="http://schemas.microsoft.0</SchemaVersion> <ProjectGuid>{3F1E39A2-69ED-4E46-BA913840EF78F5F4}</ProjectGuid> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ApplicationIcon>App.ico</ApplicationIcon> <AssemblyKeyContainerName> </AssemblyKeyContainerName> <AssemblyName>TaskbarNotifierDemo</AssemblyName> <AssemblyOriginatorKeyFile> </AssemblyOriginatorKeyFile> <DefaultClientScript>JScript</DefaultClientScript> <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> <DefaultTargetSchema>IE50</DefaultTargetSchema> <DelaySign>false</DelaySign> <OutputType>WinExe</OutputType> <RootNamespace>TaskbarNotifierDemo</RootNamespace> <StartupObject> </StartupObject> <FileUpgradeFlags> </FileUpgradeFlags> <UpgradeBackupLocation> </UpgradeBackupLocation> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> .PROJECT CODING TaskbarNotifierDemo.50727</ProductVersion> <SchemaVersion>2.com/developer/msbuild/2 003"> <PropertyGroup> <ProjectType>Local</ProjectType> <ProductVersion>8.

<OutputPath>bin\Debug\</OutputPath> <AllowUnsafeBlocks>false</AllowUnsafeBlocks> <BaseAddress>285212672</BaseAddress> <CheckForOverflowUnderflow>false</CheckForOverflowUnder flow> <ConfigurationOverrideFile> </ConfigurationOverrideFile> <DefineConstants>DEBUG.TRACE</DefineConstants> <DocumentationFile> </DocumentationFile> <DebugSymbols>true</DebugSymbols> <FileAlignment>4096</FileAlignment> <Optimize>false</Optimize> <RegisterForComInterop>false</RegisterForComInterop> <RemoveIntegerChecks>false</RemoveIntegerChecks> <TreatWarningsAsErrors>false</TreatWarningsAsErrors> <WarningLevel>4</WarningLevel> <DebugType>full</DebugType> <ErrorReport>prompt</ErrorReport> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <OutputPath>bin\Release\</OutputPath> <AllowUnsafeBlocks>false</AllowUnsafeBlocks> <BaseAddress>285212672</BaseAddress> <CheckForOverflowUnderflow>false</CheckForOverflowUnder flow> <ConfigurationOverrideFile> </ConfigurationOverrideFile> <DefineConstants>TRACE</DefineConstants> <DocumentationFile> </DocumentationFile> <DebugSymbols>false</DebugSymbols> <FileAlignment>4096</FileAlignment> <Optimize>true</Optimize> .

Forms"> <Name>System.ico" /> <EmbeddedResource Include="DisconnectCall 2.Drawing"> <Name>System.cs"> <SubType>Form</SubType> </Compile> <Compile Include="TaskbarNotifier.Xml"> <Name>System.bmp" /> <EmbeddedResource Include="skin.Data</Name> </Reference> <Reference Include="System.gif" /> <EmbeddedResource Include="AudioCall21.cs"> <SubType>Code</SubType> </Compile> <Compile Include="Form1.cs"> .XML</Name> </Reference> </ItemGroup> <ItemGroup> <Content Include="App.Windows.Drawing</Name> </Reference> <Reference Include="System.bmp" /> <EmbeddedResource Include="Close1.Data"> <Name>System.Windows.<RegisterForComInterop>false</RegisterForComInterop> <RemoveIntegerChecks>false</RemoveIntegerChecks> <TreatWarningsAsErrors>false</TreatWarningsAsErrors> <WarningLevel>4</WarningLevel> <DebugType>none</DebugType> <ErrorReport>prompt</ErrorReport> </PropertyGroup> <ItemGroup> <Reference Include="System"> <Name>System</Name> </Reference> <Reference Include="System.bmp" /> <EmbeddedResource Include="incomingcall.bmp" /> <Compile Include="AssemblyInfo.Forms</Name> </Reference> <Reference Include="System.

targets" /> <PropertyGroup> <PreBuildEvent> </PreBuildEvent> <PostBuildEvent> </PostBuildEvent> </PropertyGroup> </Project> TaskbarNotifier.Drawing.Windows.Windows.Forms. System.InteropServices.CSharp. System.bmp" /> <EmbeddedResource Include="skin3.Forms.bmp" /> <EmbeddedResource Include="TaskbarNotifier. namespace CustomUIControls { /// <summary> /// TaskbarNotifier allows to display MSN style/Skinned instant messaging popups /// </summary> public class TaskbarNotifier : System.Form .Drawing.resx"> <DependentUpon>Form1. System.Runtime.bmp" /> <EmbeddedResource Include="Form1.cs using using using using using using System. System. System.Drawing.cs</DependentUpon> </EmbeddedResource> <EmbeddedResource Include="skin2.resx"> <DependentUpon>TaskbarNotifier.<SubType>Form</SubType> </Compile> <EmbeddedResource Include="close2.Imaging.cs</DependentUpon> <SubType>Designer</SubType> </EmbeddedResource> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.Drawing2D.

FontStyle. protected Font normalTitleFont = new Font("Arial". protected Bitmap RejectBitmap = null.Pixel). protected Point AnswerBitmapLocation. protected int nShowEvents.Pixel). FontStyle.Pixel). protected string titleText. protected Size RejectBitmapSize.Regular. protected Rectangle WorkAreaRectangle. 0). protected Font hoverTitleFont = new Font("Arial". 12. protected Font normalContentFont = new Font("Arial". 0). protected Color normalContentColor = Color. FontStyle. 12. 11. 0. . GraphicsUnit.{ #region TaskbarNotifier Protected Members protected Bitmap BackgroundBitmap = null. protected Bitmap CloseBitmap = null. protected Size CloseBitmapSize. 0.FromArgb(255. protected Point CloseBitmapLocation. protected Point RejectBitmapLocation.Regular. GraphicsUnit.FromArgb(0.FromArgb(255. protected Size AnswerBitmapSize.Pixel). FontStyle. GraphicsUnit.FromArgb(0. 0. protected Timer timer = new Timer(). GraphicsUnit.Bold. protected Rectangle RealTitleRectangle. 0x66). protected TaskbarStates taskbarState = TaskbarStates. protected Rectangle RealContentRectangle. 0. 0). protected Bitmap AnswerBitmap = null.Regular. protected Font hoverContentFont = new Font("Arial". protected Color hoverTitleColor = Color. protected Color normalTitleColor = Color.hidden. protected string contentText. 11. protected Color hoverContentColor = Color.

protected bool bKeepVisibleOnMouseOver = true. int nIncrementHide. disappearing = 3 } . int nVisibleEvents. // Added Rev 002 #endregion #region TaskbarNotifier Public Members public Rectangle TitleRectangle. public bool RejectClickable = true. #endregion #region TaskbarNotifier Enums /// <summary> /// List of the different popup animation status /// </summary> public enum TaskbarStates { hidden = 0. public event EventHandler CloseClick = null. //public event EventHandler ContentClick = null. public bool CloseClickable = true. visible = 2. public bool AnswerClickable = true. appearing = 1. protected bool bIsMouseDown = false. protected Label lblText. // Added Rev 002 protected bool bReShowOnMouseOver = false.protected protected protected protected protected protected int nHideEvents. bool bIsMouseOverPopup = false. int nIncrementShow. public Rectangle ContentRectangle. bool bIsMouseOverClose = false. public bool EnableSelectionRectangle = true.

base. } #endregion #region TaskbarNotifier Properties public TaskbarStates TaskbarState { get { return taskbarState. MaximizeBox = false.Hide(). timer. TopMost = true.Minimized. InitializeComponent().Show().Tick += new EventHandler(OnTimer).None.Enabled = true. } } public bool KeepVisibleOnMousOver { get { return bKeepVisibleOnMouseOver. ControlBox = false. ShowInTaskbar = false. . base.Normal.#endregion #region TaskbarNotifier Constructor /// <summary> /// The Constructor for TaskbarNotifier /// </summary> public TaskbarNotifier() { // Window Style FormBorderStyle = FormBorderStyle. timer. WindowState = FormWindowState. WindowState = FormWindowState. MinimizeBox = false.

Visible = true. WorkAreaRectangle = Screen. } } public bool ReShowOnMouseOver { get { return bReShowOnMouseOver. } } #endregion #region TaskbarNotifier Public Methods [DllImport("user32. int nTimeToShow. nVisibleEvents = nTimeToShow.} set { bKeepVisibleOnMouseOver = value. titleText = strTitle. lblText. Int32 nCmdShow). CalculateMouseRectangles(). int nTimeToHide) { this.GetWorkingArea(WorkAreaRectangle). } set { bReShowOnMouseOver = value.dll")] private static extern Boolean ShowWindow(IntPtr hWnd.Text = titleText. // We calculate the pixel increment and the timer value for the showing animation int nEvents. public void Show1(string strTitle. if (nTimeToShow > 10) .

{ nEvents = Math. WorkAreaRectangle.Min((nTimeToHide / 10).Height / nEvents. BackgroundBitmap.Interval = nShowEvents.Right BackgroundBitmap. nShowEvents = nTimeToShow / nEvents. timer. nIncrementShow = BackgroundBitmap.appearing. BackgroundBitmap. nIncrementShow = BackgroundBitmap. } //We calculate the pixel increment and the timer value for the hiding animation if (nTimeToHide > 10) { nEvents = Math.Height. 0).Width . nIncrementHide = BackgroundBitmap.Height). } else { nHideEvents = 10.Height). nIncrementHide = BackgroundBitmap.Min((nTimeToShow / 10).Width.hidden: taskbarState = TaskbarStates. SetBounds(WorkAreaRectangle. .Bottom 1.Height.Height / nEvents. nHideEvents = nTimeToHide / nEvents. BackgroundBitmap. } switch (taskbarState) { case TaskbarStates. } else { nShowEvents = 10.17.

visible.Bottom BackgroundBitmap. break.disappearing: timer.Width. BackgroundBitmap.Stop().Interval = nVisibleEvents.Height . case TaskbarStates. taskbarState = TaskbarStates.Start(). break. timer. break.Start().visible: timer.1. case TaskbarStates.Handle. Refresh().Height). break. // We Show the popup without stealing focus ShowWindow(this.Width .appearing: Refresh(). timer.Stop(). WorkAreaRectangle. Refresh().Interval = nVisibleEvents. timer.17. 4).hidden) { .Start(). case TaskbarStates. timer.Right BackgroundBitmap.timer. SetBounds(WorkAreaRectangle. BackgroundBitmap. } } /// <summary> /// Hides the popup /// </summary> /// <returns>Nothing</returns> public new void Hide() { if (taskbarState != TaskbarStates.

} #endregion #region TaskbarNotifier Protected Methods protected void DrawCloseButton(Graphics grfx) { if (CloseBitmap != null) { Rectangle rectDest = new Rectangle(CloseBitmapLocation. } public void SetCloseBitmap(Image image.hidden. CloseBitmapSize = new Size(CloseBitmap. CloseBitmapLocation = position. Color transparencyColor) { BackgroundBitmap = new Bitmap(image). CloseBitmap.Width.Height. Point position) { CloseBitmap = new Bitmap(image).Hide().Height). Width = BackgroundBitmap. if (bIsMouseOverClose) { .timer. Height = BackgroundBitmap.MakeTransparent(transparencyColor).Stop(). base. CloseBitmap. taskbarState = TaskbarStates. Region = BitmapToRegion(BackgroundBitmap. CloseBitmapSize).Width. transparencyColor). Color transparencyColor. Rectangle rectSrc. } } public void SetBackgroundBitmap(Image image.

sf).if (bIsMouseDown) rectSrc = new Rectangle(new Point(CloseBitmapSize. sf.Width. sf). else rectSrc = new Rectangle(new Point(CloseBitmapSize. GraphicsUnit. grfx.MeasureString(contentText. CloseBitmapSize). SizeF sizefTitle = grfx. // Added Rev 002 //We should check if the title size really fits inside the pre-defined title rectangle if (sizefTitle. sf.DrawImage(CloseBitmap. TitleRectangle. CloseBitmapSize). hoverContentFont. } else rectSrc = new Rectangle(new Point(0.Height > TitleRectangle. sf. 0). } } protected void CalculateMouseRectangles() { Graphics grfx = CreateGraphics().Width.LineAlignment = StringAlignment.Center. ContentRectangle. rectSrc.Dispose().MeasureString(titleText.Width * 2. grfx. CloseBitmapSize).Height) { .FormatFlags = StringFormatFlags. hoverTitleFont.Width. rectDest.Center.Pixel). 0).Alignment = StringAlignment. 0).MeasureTrailingSpaces. SizeF sizefContent = grfx. StringFormat sf = new StringFormat().

Height).Height). TitleRectangle.(int)sizefContent. TitleRectangle.Inflate(0. (int)sizefContent.Height).Height) { RealContentRectangle = new Rectangle((ContentRectangle. (ContentRectangle.Width.Left. (int)sizefContent. // Added Rev 002 //We should check if the Content size really fits inside the pre-defined Content rectangle if (sizefContent.Top. 2).Width.Height > ContentRectangle.Top.Width) / 2 + ContentRectangle. ContentRectangle.Left.Width) / 2 + ContentRectangle.Height .Top.Inflate(0.RealTitleRectangle = new Rectangle(TitleRectangle. } else { RealTitleRectangle = new Rectangle(TitleRectangle.Height).Width. (int)sizefContent. TitleRectangle. TitleRectangle.Width (int)sizefContent. } RealContentRectangle. (int)sizefTitle. } protected Region BitmapToRegion(Bitmap bitmap.Left. ContentRectangle. } RealTitleRectangle. Color transparencyColor) { if (bitmap == null) .Left.Height) / 2 + ContentRectangle. (int)sizefTitle. 2). } else { RealContentRectangle = new Rectangle((ContentRectangle.Top.Width.Width (int)sizefContent.

throw new ArgumentNullException("Bitmap". GraphicsPath path = new GraphicsPath().AddRectangle(new Rectangle(x0. path. j) == transparencyColor) continue. j++) for (int i = 0.Width. int x0 = i.GetPixel(i.GetPixel(i.Dispose(). int width = bitmap. i . } #endregion #region TaskbarNotifier Events Overrides protected void OnTimer(Object obj. j < height. int height = bitmap. "Bitmap cannot be null!"). j) != transparencyColor)) i++. } Region region = new Region(path). path. return region. EventArgs ea) { switch (taskbarState) { case TaskbarStates. i++) { if (bitmap. j.x0. i < width. 1)). for (int j = 0. while ((i < width) && (bitmap.appearing: .Height.

visible. Top nIncrementShow.Interval = nVisibleEvents.appearing.disappearing: // Added Rev 002 if (bReShowOnMouseOver && bIsMouseOverPopup) { taskbarState = TaskbarStates. //} //taskbarState = TaskbarStates.Stop(). case TaskbarStates.Interval = nHideEvents. Height = BackgroundBitmap. ////timer. } break.Start().disappearing. Width.Stop(). Refresh(). //// Added Rev 002 //if ((bKeepVisibleOnMouseOver && !bIsMouseOverPopup) || (!bKeepVisibleOnMouseOver)) //{ // taskbarState = TaskbarStates. timer. taskbarState = TaskbarStates.Start(). case TaskbarStates.Height) SetBounds(Left. Height + nIncrementShow).disappearing. timer.Height.visible: ////timer. break. . // Rev 002 //timer. else { timer.if (Height < BackgroundBitmap.

bool bContentModified = false. } protected override void OnMouseMove(MouseEventArgs mea) { base. Refresh().X + CloseBitmapSize.X) && (mea. bIsMouseOverPopup = false.Y < .X < CloseBitmapLocation. } break. } protected override void OnMouseLeave(EventArgs ea) { base.X > CloseBitmapLocation. Refresh().} else { if (Top < WorkAreaRectangle.OnMouseMove(mea). Top + nIncrementHide.nIncrementHide). bIsMouseOverPopup = true.OnMouseLeave(ea). bIsMouseOverClose = false. } } protected override void OnMouseEnter(EventArgs ea) { base. if ((mea.Y) && (mea.OnMouseEnter(ea).Bottom) SetBounds(Left. Height . else Hide(). Width.Width) && (mea.Y > CloseBitmapLocation.

OnMouseDown(mea).OnMouseUp(mea). bIsMouseOverClose = false. } protected override void OnMouseUp(MouseEventArgs mea) { base. bIsMouseDown = false.Y + CloseBitmapSize.Height) && CloseClickable) { if (!bIsMouseOverClose) { bIsMouseOverClose = true. Cursor = Cursors. if (bIsMouseOverClose) { .Hand. bContentModified = true.Default. } } else { if (bIsMouseOverClose) bContentModified = true. bIsMouseDown = true. } if (bContentModified) Refresh(). if (bIsMouseOverClose) Refresh(). Cursor = Cursors. } protected override void OnMouseDown(MouseEventArgs mea) { base.CloseBitmapLocation.

0. Bitmap offscreenBitmap.DrawImage(BackgroundBitmap. offScreenGraphics = Graphics. 0. grfx. BackgroundBitmap.PageUnit = GraphicsUnit.FromImage(offscreenBitmap).Hide(). if (BackgroundBitmap != null) { offScreenGraphics. Graphics offScreenGraphics. if (CloseClick != null) CloseClick(this.DrawImage(offscreenBitmap. 0).Windows. grfx. 0.Forms.lblText = new System. BackgroundBitmap. } #endregion protected void InitializeComponent() { this. } DrawCloseButton(offScreenGraphics).Pixel.Graphics. new EventArgs()).Width. offscreenBitmap = new Bitmap(BackgroundBitmap.Height). .Height). BackgroundBitmap. } } protected override void OnPaintBackground(PaintEventArgs pea) { Graphics grfx = pea.Width.Label().

Orange.SuspendLayout().Font = new System. this. System. } private void TaskbarNotifier_Load(object sender. this.Load += new System.Drawing.GraphicsUnit.lblText).lblText.Color.Drawing. this. EventArgs e) { } .Point. this. this.lblText. 9). // // TaskbarNotifier // this. // // lblText // this.Drawing.75F.Color.TaskbarNotifier_Load).Name = "TaskbarNotifier". this.Drawing.Size(381.lblText.Click += new System. 105). this.Transparent. ((byte)(0))).Point(2. this.EventHandler(this.Drawing. this.lblText. this.lblText.Text = "L". this.EventHandler(this.lblText.BackColor = System. this.Bold.Drawing.this.Controls.lblText.Drawing.Location = new System.Name = "lblText".FontStyle.ResumeLayout(false).ForeColor = System.Add(this.Size(380.Font("Verdana".Drawing.lblText_Click). 9.lblText. 87).TabIndex = 0.ClientSize = new System. System.lblText.Size = new System.

private void lblText_Click(object sender.Forms. using System.SetCompatibleTextRenderingDefault(false).Windows.Generic.Collections. /// </summary> [STAThread] static void Main() { Application.cs using System. Application. using System. Application. } } } . namespace AlwaysIAMWITHYOUDEAR { static class Program { /// <summary> /// The main entry point for the application. EventArgs e) { } } } Program.EnableVisualStyles().Run(new frmNewAlert()).

Form1.CurrentDirectory + @"\Muhil. public DataSet ds = new DataSet(). using System. using System. using System.Text.Data.Win32.ComponentModel. using System.Drawing. static int Flag = 0. #endregion #region "Constructor frmNewAlert()" public frmNewAlert() . String path = Environment. using CustomUIControls.xml".Globalization. using System.Windows.Security. using Microsoft.cs #region "Using" using System. using System.// = new DataColumn(). using System. using System.Forms.IO.Generic.Collections. TaskbarNotifier taskbarNotifier1. #endregion #region "namespace AlwaysIAMWITHYOUDEAR" namespace AlwaysIAMWITHYOUDEAR { #region "frmNewAlert" public partial class frmNewAlert : Form { #region "Global Declaration" public DataTable dt = new DataTable("AlertTable"). using System. public DataColumn dc.

Tables. dc = new DataColumn(). dt. Color. ds.Add(dt). dc.Columns. taskbarNotifier1 = new TaskbarNotifier().IO.Add(dc).DataType = System.Add(dc). 4)).Exists) { ds.GetType("System. taskbarNotifier1. dc.Caption = "Date and Time ".Enabled = true.SetBackgroundBitmap(new Bitmap(GetType().SetCloseBitmap(new Bitmap(GetType().DataType = System.IO. } #endregion #region"SetBall" private void SetBall() . } timer1. } if (ds.bmp").GetType("System.ColumnName = "AlertMessage". 0. dc. "Close1.String"). new Point(580.Caption = "Message to be display".FromArgb(255.{ InitializeComponent().Tables. dc. 255).ColumnName = "DateTime".FromArgb(255. dc.bmp"). if (fi. dt. dc. "BackGround1. 0. 255)).FileInfo fi = new System.Count <= 0) { dc = new DataColumn().ReadXml(path).String").Type. System.Type. Color. taskbarNotifier1.Columns.FileInfo(path).

OpenSubKey(@"Software\Microsoft\Windows\Curr entVersion\Run".ExecutablePath.Info). 0.Application .Columns[0].Add("PM"). true).SetValue("AlwaysIAMWITHYOUDEAR". } . fnComboFill(comboBox5.ColumnCount > 0) { dataGridView1.Items.ReadOnly = true.RegistryValueKind.{ notifyIcon1.GetValue("AlwaysIAMWITHYOUDEAR") == null) //{ // StartupPath.CurrentUser. EventArgs e) { checkValid(). //RegistryKey StartupPath. //if (StartupPath. 12). 1. //RegistryKey rkStartUp = Registry. if (dataGridView1. SetBall().Items. comboBox6. //} } #endregion #region "frmNewAlert_Load" private void frmNewAlert_Load(object sender.Add("AM"). "reminder application". "Always I Am With You Dear". fnDatGridBind().ExpandString). 60).ShowBalloonTip(2000. ToolTipIcon. //StartupPath =rkStartUp. fnComboFill(comboBox4. comboBox6.

this. int end) { int i.} #endregion #region "sdfd" void checkValid() { if (ds.Items. i++) { if (i < 10) { cmb. i <= end.Items.Tables[0]. } .Count > 10) { MessageBox.Show("Thank You. Flag = 1. } } #endregion #region "fnComboFill" private void fnComboFill(ComboBox cmb.Add("0" + i).Rows. } else { cmb. ").Add(i). int start.Close(). for (i = start.

Columns[0].Tables[0].RowCount > 0) { dataGridView1.SelectedIndex >= 0) && (comboBox5. CultureInfo.SelectedIndex >= 0)) { if (textBox3. if (dt1 <= DateTime.InvariantCulture).DataSource = ds.SelectedIndex >= 0) && (comboBox6. DateTime dt1 = DateTime. EventArgs e) { if ((comboBox4.Width = 330.Columns[1].SelectedItem + ":" + comboBox5.Length != 0) { String s1 = comboBox4.Now) .Parse(tmpdate).ToShortDateString() + " " + s1. if (dataGridView1. String tmpdate = dateTimePicker1.SelectedItem.} } #endregion #region "fnDatGridBind" private void fnDatGridBind() { dataGridView1.//.Text. } } #endregion #region "btnSave_Click" private void btnSave_Click(object sender.Width = 150. dataGridView1.SelectedItem + " " + comboBox6.Value.

{ MessageBox. Clear().Show("Should enter message"). } else { fnCheck(1. } } else { MessageBox. // fnComboFill(). } } #endregion private void Clear() { textBox3.Text = "". dt1). } #region "timer1_Tick" . } } else { MessageBox.Show("Select Proper Timings").Show("Select Date and Time should be greater than the Current Date Time").

Rows. dr["DateTime"] = dt. DateTime dt) { DataView dv = new DataView().Sort = "DateTime Asc".Now.Tables[0]. EventArgs e) { DateTime dt = DateTime.ToString(). DataRowView[] rows = dv.FindRows(dt).private void timer1_Tick(object sender. } #endregion private void fnCheck(int flag. } else { DataRow dr = ds.Trim(). } . if (flag == 1) { if (rows.Show("Already Alert created on this time .Text. fnCheck(0.Add(dr).NewRow(). fnDatGridBind(). dr["AlertMessage"] = textBox3. dv.Tables[0]. dv = ds.DefaultView. checkValid().Tables[0]. dt). ds.WriteXml(path).Length > 0) { MessageBox. ds. Choose other timmings").

EventArgs e) { Show().Rows.Find(rows[0][0])).RemoveAt(dv. 500.Normal. taskbarNotifier1. } #endregion #region "toolStripMenuItem2_Click" private void toolStripMenuItem2_Click(object sender. SetBall(). if (rows.Close(). } #endregion #region "notifyIcon1_MouseDoubleClick" . fnDatGridBind(). ds.WriteXml(path). WindowState = FormWindowState.Tables[0].Show1(d. EventArgs e) { this. } } } #region "toolStripMenuItem1_Click" private void toolStripMenuItem1_Click(object sender. 500).} else { String d. ds.ToString().Length > 0) { d = rows[0][1].

Normal.private void notifyIcon1_MouseDoubleClick(object sender. no alert to be display.Minimized == WindowState) { Hide(). Hide(). MessageBoxIcon. if (dr == DialogResult.YesNo. WindowState = FormWindowState.Cancel = true. } } #endregion #region "frmNewAlert_FormClosing" private void frmNewAlert_FormClosing(object sender. } #endregion #region "frmNewAlert_Resize" private void frmNewAlert_Resize(object sender. EventArgs e) { if (FormWindowState. MessageBoxButtons. SetBall(). FormClosingEventArgs e) { if (Flag == 0) { DialogResult dr = MessageBox. MouseEventArgs e) { Show(). Do you want to close the application?".No) { e. .Question).Show("If you close the application. "Alerts".

LinkLabelLinkClickedEventArgs e) { String cDir. "Information"). } #endregion private void button1_Click(object sender. } } } #endregion #region "fnDeletePreviousRecord" private void fnDeletePreviousRecord() { ds. } private void linkLabel1_LinkClicked(object sender.Process.htm". cDir). } else { MessageBox.SetBall(). cDir = Environment. EventArgs e) { fnDeletePreviousRecord(). . System.CurrentDirectory + @"\Doc1.ReadXml(path).Start("iexplore".Show("Thank You".Diagnostics.

AcceptChanges().Delete) { ds.Windows.Enter) || (e.ToString()) .Windows.Windows. dataGridView1.Forms.WriteXml(path).Data Source. KeyEventArgs e) { if (e.Keys.Enter) .EndCurrentEdit(). } else if (e.AcceptChanges(). fnDatGridBind(). ds.Keys. gridCurrencyManager.Show(gridCurrencyManager. //MessageBox.Windows.KeyCode == System.BindingContext[dataGridView1.Forms.Tab)) { CurrencyManager gridCurrencyManager = (CurrencyManager)this.KeyCode == System. ds.} private void dataGridView1_KeyUp(object sender.DataSource = gridCurrencyManager.Keys.Forms.KeyCode == System.KeyCode == System. KeyEventArgs e) { if ((e.DataMember].Count. ds. } } private void textBox3_KeyUp(object sender.Forms.Keys. fnDatGridBind(). dataGridView1.WriteXml(path).

e). PaintEventArgs e) { } } #endregion } #endregion . DataGridViewCellEventArgs e) { } private void Panel1_Paint(object sender. } } private void dataGridView1_RowsRemoved(object sender.{ btnSave_Click(sender. DataGridViewRowsRemovedEventArgs e) { } private void dataGridView1_CellContentClick(object sender.

Form1.cs .

MAIN MENU .

ENTER THE MESSAGE. SET TIME. DATE .

OUTPUT IMAGE FOR ALARM .

Karli Watson 3. Illustrated C# 2008 (Windows.com/asp-dot-net-introduction .Daniel Solis Websites 1.Anders Hejlsberg 2. Professional C# 4.csharp411. The 4th Edition (Microsoft . www.com 2. www.Net) BY: .sitepoint.0 and . C# Programming Language (Covering C# 4.BIBLIOGRAPHY Books 1.com 3.0).NET 4 BY:.csharpfriends. www.Bill Evjen.NET Development Series) BY:.

9147243/943  !.431:7.91472   3!&.943 !.

91472 55.4355 .4..!.943.

.943.55.20 .43 8802-0439.307.

307.20 8802-.8802-0439.8-.20%.749107024.

8802-.94700 .20 8802- 73.

759$.8802- 73.759.:9039$.94700 01.

0.4:97/.:9%!.01.759 01.:9039$.

:9%.4:9 01.02.01.709$. .0.:9%!.

 0.02.:9%.80.01.$31.709$.

$3  :95:9%5030.0.

. :95:9%50 #449.0%.2085.749107024.8-.

2085.9 .79:5 -0..0 $9.#449.

/0.8 .79:5 -0.$9.9 0&57.

:54.8 &57.0&57./0./0..943 ..

.:54./0.&57..943 .

!74507974:5 !74507974:543/943  431:7.943  !.91472  0-:3!&  .

9-30-:. :95:9!.

:95:9!.9 4&38.104.81.80.

8 .80//7088.4&38.104.

0714&3/07141.47 ..80.80//7088  0.

47 .0.943 .077/00 .0714&3/07 14 431:7.

943 .398&%#.077/00 01304389.431:7.

398 4.:2039.01304389.9430 .

:2039.4.9430 0-:$2-4897:0.

0-:$2-48 032039 .

032039  59201.80.

5920  #0890747423907451.80.

0390070.81.80.#089074742390745 #024.

8  %70.80.0390070.#024.73388774781.9.

9.%70.7338877478 .0.7330.

0 0-:%501:..7330.

0-:%50 7747#05479574259.

7747#05479 .

!74507974:5 !74507974:543/943  431:7.9-3#00.80.803!&   :95:9!.943  !.91472  #00.

:95:9!.81.9 4&38.80.104.

80//7088.8 .104.4&38.

47 .80//7088  0..0714&3/07141.80.

0.0714&3/07 14 431:7.077/00 .47 .943 .

431:7.943 .398%#.077/00 01304389.

9430 .398 4.:2039.01304389.

80.9430 0-:$2-481.4.:2039.

0-:$2-48 032039 .

032039  592097:0.

5920 .

 #0890747423907451.80.

0390070.80.81.#089074742390745 #024.

9.73388774781.#024.0390070.8  %70.80.

7330.9.%70.7338877478 .0.

7330..0 0-:%503430.

0-:%50 7747#05479574259.

7747#05479 .

03.!74507974:5 90274:5 #010703.20$8902.:/0$8902 .

.20 .

.:/0$8902 .0 #010703.9. .#010703.03.20$8902 .9.

20 ..

:/0$8902 7.20$8902 7.03.3 .0 #010703.3.#010703.

.20 .

0 #010703.03.20$8902 3/48 4728.#010703.:/0$8902 3/48 4728 .

20 ..

#010703.:/0$8902 2 .0 #010703.03.20$8902 .

.20 .

0 .#010703.

4.90274:5 90274:5 4390393.:/055 .

 1.:/08.4330.03.9. 2-0//0/#084:7.

:/0:/4. 2-0//0/#084:7. -25.03.

03.:/0480 -25. 2-0//0/#084:7.

 -25.:/03.. 2-0//0/#084:7.03.423.

 2-0//0/#084:7.03.:/083 -25.

8 $:-%504/0.:/08802-314 . 42503.

$:-%50 .

8 $:-%50472.:/0472 .4250 42503.

$:-%50 .

8 .8-.4250 42503.749107 .:/0%.

$:-%50472.

$:-%50 .

03.4250 2-0//0/#084:7.:/0.480 -25.

8.03.:/0472 708 0503/039&543472 . 2-0//0/#084:7.

0503/039&543 .

03.2-0//0/#084:7.:/083 -25.0 2-0//0/#084:7.

 2-0//0/#084:7.03.:/083 -25.

8-.749107 708 0503/039&543%. 2-0//0/#084:7.749107 .:/0%.8-.8.03.

0503/039&543 $:-%5008307.

$:-%50 .

2-0//0/#084:7.0 .

9 .90274:5 25479 !740.7098.75 9.9 $:/3!.748419 $.

039 . !74507974:5 !70:/.

039 !489:/.039 .!70:/.

039 .!489:/.

!74507974:5 .

3 :83$8902 7.3 7..749107 .2085.0:8942&439748  .8-..!740.3 2.9  %.08  3.8  :83$8902 :83$8902 7.3 :83$8902 3/48 4728 :83$8902 #:3920 390745$07.3 :83$8902 7.

.

.

8:22.7 .

.

.

%.$ 890.749107.8-.4894/85.

3545:58 .$330/389.392088.

.

.

.

7 5:-.8:22...88%.8-.749107 $8902 3/48 4728 472 .

5.07439039447 447 7427.5.90/4394.90/4474.90/$0380792.908 //03 57490.  439$90 #0:.%90#0.90/92...943 57490.7$9.90 %.30#0.07%9043930 439 7.9.8&39 !0  57490.8&39 !0  57490.     57490.53: 57490.439039#0.90/$0#00.992.90/92.7  7.8-.7$9.90/#0.992.90/#0.992.53: 57490.90/!439380792.8-.30 57490.90/%207920730%207  57490.90/4394.943 57490.8&39 !0  57490. 7043%.439039447 447 7427.30 57490..90/8973990%09 57490.90/$048092.90/393$4.943 57490.439039%09 57490.43903943930 439 7.5#00.    57490.5$0 57490.7  7.54.5.90/%.5$0 57490.9.%9043930 439 7.9.30 57490.9.  439$90 #0:.90/92.7$9.9089..  439$90 #0:.#0.749107!7490.53: 57490.304770.%90447 447 7427.90/02-078 57490.90/4393472.90/4474.07%90447 447 7427.90/8973.90/!439#00.5.5$0 57490.8-.53: 57490.9.5.90/#0.30#0.    57490.  439$90 4/ 7.54.9.548092.90/4473472.0743903943930 439 7.74:3/92.8-.90/4473472.90/4393472.54.8&39 !0  57490.5380792.90/!43948092.0398 .    57490.90/92.7  7.

80 57490.80 57490.90/3933.0398 57490.80  57490.702039$4 57490.90/-44-84:80 .57490.702039/0 57490.90/-44-84:80 .90/393'8-0.90/-44-005'8-0 34:80 .074801.90/-44-84:80431.90/3933.0797:0 .07!45:51.0398 57490.90/393/0.

.

    57490.//0/#0.90/-44-#0$4 34:80 .80    .071.

.

  03/7043  7043%.-44480.9.-0$00.9.039.30%90#0...02-078 5:-.8-.9.-0-%09 5:-.3: .039.9.0.3097:0 5:-.-443.//0/#0.-097:0 5:-.-443807.9.90/.#0.-097:0 5:-.#0.9.30439039#0.30  5:-.-44#00.-097:0 57490.749107!:-.3/07480.943#0..30 5:-.

.

039.7491073:28 .0.3/07439039.039.8-. 3: 03/7043  7043%.5:-.

.

.

7 .8:22.

.

.

943 89.32.894190/1107039545:5.9:8 .

.

.

.

908  //03  .73 < .8-0  /8.550.03:2%.7 5:-.8-.8:22.73  .7$9.550.

8-.947 .03/7043  7043%.74910743897:.

.

.

8:22.7 .

.

.

8-.947147%.749107 .%043897:.

.

.

.

7 5:-.8:22.749107   .%.8-.

.

2041.80 $4  -.80 %4548997:0 .7$9.8-.039.90 472.3/4$90 47247/07$9047247/07$90 430 3/4$9.042543039  9207 3.90  09  709:739.-44005'8-0 34:8 .8-.90 < <  5:-.7$9.749107!74507908 5:-. 30.07  09  709:73-005'8-0 34:80 .8-.3/07 3%207  < 03/7043  7043%.80 4397441.904723/4$9.%.80  39.904723/4$9.8-.-0/97:0 9207 %.71.80 32041.07 .8-.7$9.90 320/ -. $43%.80 /0  3/4$9.908%.

3$43/4 39!97 3/ 3932/$4   5:-...8-..9089.4/$4 8973897%90 39 3%20%4$4 393%20%4/0   98 '8-097:0 4770.:0 < < 5:-. 4770.9.03983%20%4$4 .#0.07.07  09  709:73-#0$4 34:80 .9.7003 0947370.749107!:-..-44#0$4 34:80 .#0.< 809  -005'8-0 34:80 .07.30 $.9..904:80#0.9.:0 < <  03/7043  7043%.09073440.094/8 25479 :807 / ( 57.308   .:.30  990%09897%90 -%09 %09990%09 3'8-0.07 < 809  -#0$4 34:80 .

.

702039.:.:014790843.3/90 9207.943 393.9090503..32.0398 1 3%20%4$4  .0...

0398.9 3 3%20%4$4. 3.

5 09  3$4.74:3/92..  .03983%20%4$4.

702039$4 .5 09.3.0398 33..74:3/92.

0398  33..3.702039$4 .5 09 <  .74:3/92.0398 < 080  3$4.

.

32.9090503..9 3 3%20%4/0..:.702039.3/90 9207.0.943 1 3%20%4/0   3.0398..:014790/3.

74:3/92..  .03983%20%4/0.5 09  3/0.

.5 09.0398 33.3.74:3/92.702039/0 .

0398 .30 #9  ..8-...#0.9.908 .550.5 /9   9207 3907.90 %. 9.8-.5 09 <  89.30 49942   .0398 < 080  3/0.74:3/92.702039/0 .7$9.90   .9.7$9.0398  33..80%.8-.5 /9  4770.7$9.7$9.8-..73 $094:3/8 4770.#0.908 //03 9.74:3/92.74:3/92.3$4.3.

9207 $9.79  .

.

  .30 49942  .74:3/92.8-0 $094:3/8 4770.550.79  #01708  -70.3'8-0.550.8-..0$490545:594:9 890.7$9.908 .79  #01708  -70.#0..74:3/92.0398 9207 $9.#0.73 #01708  -70.80%.73 9207 $945  9.90 %.30 #9  .8-.74:3/92..5 /9  ..:8 $43/4 98 .7$9.8-.908 ..7$9..7$9.  .9.8-0 9207 $945  9207 3907.5 /9  4770. < <  ..7$9.908 /8.8-.5 09  9207 3907.314.74:3/92.  ..908 .80%.0398 9207 $9.8-.3/0   -70.5 09  .3'8-0.80%.9..

.

.

7 .8:22.

.

.

/0890545:5 .

.

.

.

7 .8:22.

.

.

709:738493.

30.908 //03   .7$9.7$9.709:738 5:-.90%.4//0   1 9.8-.8-.

4/$0948092.943548943 <   03/7043  7043%.3070.447  < 5:-.9.53092.385..80 /0  < <  5:-.4/$09.74:3/92.5 ..4/7.5$030 $0 48092.54.385.07480   .385.703.90/.02.74:3/92.703.0  44797.5 2.5 2.7$9.53:   #0.9.703.53092.5  97.7039 97.5 /9 48092..5 2.5%4#043 .74:3/92.8-.871   1 48092.5$0  #0.90%.385.0   48092..9$7.54.703.9.8-.5.74:3/92.5 /9 09..30 48092.0 447 97.3070.447   .74:3/92...0  /9.5 09  48092.8-.  1 -84:80 .9207 $945  9.90/094/8 57490.385.0%7.908 //03 -.943 48092.5 09 #04392.02.447  48092.749107!7490.908930 #0.5 2..7$9..447 !439548943   48092.480:9943 7.

9.30#0.07%90439  %90#0.9.9.5$0  < 080 70.87170.30 /9 81  71 85480   ..9$7.0 48092..8:70%7.9.9  81 32039$97332039 03907 81 3032039$97332039 03907 81 472.9.30#0.:.08 $0801%90 71 0.8:70$973 .5.30 30 !439 48092.5.5$0 /9  48092.9$7.07439039439  439039#0.9.8 0.4/.1 -84:8043  70.5$0 /9   48092.308   7. 7.8 $973472.9089  70.5 70.3$5.5$0    71 7.30 /9 81  $0801439039 71 0.5.90/.2.5$0  080 70.98130$973472.439039%09 4.30 30 !439 48092.8&39 !0  < <   57490.8:70$973 990%09 4.30#0.9.8  $973472.904:80#0.9$7.9$7.9.907.30 30 !439  48092.

.

  .//0/#0.

.

9.084:/.1909908070.0. 19838/090570 /0130/99070.30 1 801%90 09 %90#0.30 09   .9.

%90#0.%90#0.30 %90#0.30 09  < 080  #0.9.9.9.#0.9.9.9.3030 #0.9.30 %45  %90#0.9.90    .9.30 /9 %90#0.9.9.30 019 %90#0.30 %45  39 801%90 /9  39 801%90 09  < #0.30 31.30 %90#0.3030 #0.%90#0.30 019 %90#0.

.

//0/#0.  .

.

3030 #0.30 /9  39 801439039 /9 .30 1 801439039 09 439039#0.9.439039#0.084:/.19838/090570 /0130/43903970.9.9.30 439039#0.9.9.0.19043903980 70.30 09   #0.

9.9.9.30 09  < 080  #0.3030 #0.30 439039#0.9. 439039#0.30 /9  39 801439039 /9 .30 %45  39 801439039 /9  439039#0.30 019  439039#0.9.9.439039#0.

 439039#0.30 019  439039#0.9.30 09  39 801439039 09 .9.

439039#0.9.53:  .5-92.30 31.30 %45  39 801439039 /9  39 801439039 09  < #0.385.447   1 -92.  439039#0.9.90/#04392.5  44797.90   <  57490.5%4#043 92.703.

385.9.385. 9.7$9.80%.4393:0  39   0 /9   -92..7$9.9307.749107.5.05943 92.8-.5.5 09!0   97.30        <  #043704330#043 5.5 92.9   147 39 09  147 39 /9   1 -92.97430 7:2039:.077/08 57490.8!.8-.9  5.5 09 39/9-92.8-.5 /9  7.90   .9.9 85480  709:737043 < 03/7043  7043%.95.73 .5.447  .447     5.3349-0 3:   3909-92.703.   89.0398 .550.5 09!0    97.03978 0.9 //#0..90/.30 30#0.703.4/ 3%207 -0.908 .8!.94- .

1 09 .5 09  $094:3/8 019 %45  33.8-0 9207 $9..5 09 9207 3907.7$9..8-.702039$4  080  9207 $945  09 .  .702039$4 /9 09 33. 3'8-0..74:3/92.7$9.90 %.8-.0398 9.74:3/92.908 .80%.8-0 .8-.7$9.79  < -70..908 .

.

.

.

9207 $945  .

.

.

.

0398 .9207 3907..3/0.

.

.

.

  .//0/#0.

.

07  .07  -84:80 .1 -005'8-0 34:80 .07!45:5  -005'8-0 34:80 .

.

 .

.

908 /8.8-.550.73 .8-.90 %.7$9.7$9.9.

.

< .

.

8-.90 %.7$9.908 /8.550.73  .8-.7$9.9.

.

#0.  .

.

79  #01708  -70.8-.550.73 ..80%.908 /8.9207 $9.  .7$9.

.

90 %.7$9.07!45:5   9.07  -84:80 .550.  1 -#0$4 34:80 .8-.8-.908 .//0/#0.7$9.73 .

.< 080  1 %45 4770. <  <  57490.943  48092.074801.80 1 20.077/0.4/ 34:800.  -44-4390394/10/1.80 #01708  <  57490..4/ 34:804.5$0 /9   20.702039/0  080 /0  < -70. 48092.07!45:597:0 #01708  <  57490.54.80 -84:80 .943    20.   -.702039/0 /9 09 33.03978 0.#0.0 .  -84:80 .90/4.9.   -.  .90/4.30 49942  $094:3/8 019 %45  33...03978 0.0397820.0 0.90/4. 48092.80 34:803907 0.07!45:51.0 4:80.54.  -84:80 .80 34:804.4/ 34:803907 .0 20.943    20.54. 48092..80 34:800.077/0.077/0.   -.

  -.48092.   -.3/ -4390394/10/97:0 < < 080  1 -84:80 .943  48092.5$0 09   480.80 34:80&5 20.54.07480  #01708  <  57490.90/4.0397820.80 :7847:78478 01.:9 <  1 -4390394/10/  #01708  <  57490.074801.07480   -84:80 .0397820.4/ 34:80&5 4:80.07480   .  -84:804397:0  1 -84:80 .07480  -4390394/10/97:0 -84:80 .80  1 -84:80 .90/4.077/0.0748097:0 :7847:78478 .  -84:80431..077/0.-0   1 -84:80 .4/ 34:8043 4:80.80 34:8043 20..

8 92.0&397..74:3/92.700392.87150.   7.3:  480.8 7.0 .5    < 03/7043  57490.74:3/92.480:9943 411$.54118.74:3/92./0   1 480.5  4118..2.5 /9 .8 71 !..2.0397850.4/39.5    . 7.70037.4/ 3!.74:3/92.90/4.-0  .70037..70037.5..03978  <   <  57490.700392.042543039   98 -%0930 $8902 3/48 4728 .077/0.700392.90/.5.5 /9  ..5   1 .39.5.700392.5.5.74:3/92.74:3/ !.5.8&39 !0  7.0 4118.8411$.5.8  71 7.39.5.53:    411$.8 7422.5 09  <  7..5.530 92.0 4118.5 .74:3/92.8 7.5 09  411$.70037. 98 30.

4:9  .98 $:8503/.

.

 .

.

-%09 .

.

 98 -%09 .8&39 !439  -90 98 -%09 470447 $8902 7.039.3 447 7.  .20-%09 98 -%09 $030 $8902 7.385.    $8902 7.3.3/07 98 -%09*.7039 98 -%09 43930 $8902 7.3 439$90 4/   $8902 7.3 $0    98 -%09 %.5.-3/0  98 -%09 %09 98 -%09 . 30 $8902 ..3 439 '07/.447 $8902 7..94330 $8902 7.30 98 -%09 4.3 7.3 447 %7.3 !439    98 -%09 .

.

 .

.

8-.%.749107 .

.

749107 98 4.3 $0     98 439748 // 98 -%09  98 .8-.4:9 1.8-.90.9 803/07 .80   <  57.039780    <  .8-.3/07 98 %.4/%./ 4-0.749107*4.039../  98 #08:20. 98 039$030 $8902 7./ 30 $8902 .20%.749107*4.

.9803/07  .0.2  .4/-%09*.90..9438 0307.9. :83$8902 3/48 4728  3.57.88!747... 4-0.8 :83$8902 :83$8902 40.039780    <   < <   !747.2 .8% &#  89.2085.

.

.

8:22.7 .

.

.

943  .%02.55..30397543914790.

.

.

.

9-0%09#03/07301.-0'8:.$908   55.943 $09425..943 3.4/.8:22..80  55.9.:9 1./( 89.7 $%%70.3   55..943 #:3 301720079  < < <      ..

.-0/930 .%.7.9.. :83$8902 7.472 .8  7043&83 :83$8902 :83$8902 40.8% &#  70431720079  5:-. :83$8902 425430394/0 :83$8902 ..8% &# 3.5.0.-0 079%.-0  5:-.9.2085.:79 :83.0.$09/830.2085...943   5:-...9438 0307.79.9.9.9.748419 3 03/7043  70433..0.3 :83$8902 %09 :83$8902 3/48 4728 :83$8902 4-.%.9..943 :83:8942&439748 :83$8902   :83$8902 $0.4:23/..881720079472  70434-.$09  5:-.

.

1720079  .4:23  %.9.9.8-.39.947  : 2 03/7043  704343897:.7432039 :7703970.7491079.9471720079  5:-.   $9735.93.749107 89.8-.30.

3/%20 /9 4:238 // /. .8-.%50 $8902 %50 09%50 $8902 $973  /.9. 4:23.8-.   /. .042543039  9.5943.4:23  /.90..5 30 92.5 30 92.    9.5 09%50 .74:3/ -25  447 7427.20079088.4/$09..    30!439    $8902  0314130 $8902  0314 5.%50 $8902 %50 09%50 $8902 $973  /.9.74:3/92.-0/97:0 < 03/7043  7043$09.90.9.9  < 1 /8 %.30.0 /. .5 09%50 480 -25 447 7427.74910730%. .9.8-. 4:23.20.749107 $09.749107  9. 57.9  1 1 898   /8 #0.  .749107 $0948092.8-.4:23  /.    /8 %.-08 4:39   /.094-0/85.30.-08 // /9  < 9207 3. /9 4:238 // /./2 5.. 39.90%20 /.5943088.

443%5  7023/07 .43 $4.8294:0.43 314  .. 3491.7  %44%5.55.943 .

.

#089707$9.79&5 #0897 :77039&807 .

.

79:5!.#08970$9.9 .

.

7484193/48:77 039'07843#:3 97:0  .$9.70.9 7$9.79&5 503$:-0 $419.79:5!.

.

8% &# 3:  .:0 .79:5!.9 09'.1 $9.

.

 .

.

79:5!.:03/ 5.8% &# 55. $9.:9.9 $09'.:0 .9 #0897'.943 0..3/$973  .-0!.

.

42-44    .'.<  < 03/7043   70431720079*4.9803/07  .4/1720079*4.  1342-4 .9..0.039780   ./ 4-0.97/3/  1 /.42-44 9028 //   ./  57.7/'0 4:238 ( #0.9.90./ 3 97:0 <  .42-44 9028 // !  13.7/'0 4:234:39   /.42-44    1342-4 ./  $09.

  < 03/7043  70438/1/ .'.2- 9028 //     < 080  .2. 98 480  < <    03/7043      70431342-4  57.2- 9028 //   < .-08 ( #48 4:39   088.34:   .04 $4 %.39 89..4/.90.4/1342-4 42-44.79 3903/   39 147 89.7903/   1    .0./   1 /8 %.

7/'0 #44:39   /.90 /.90/902   . 4-0.7/'0 4:238( /9   < <  03/7043  7043-93$.9.90 .90/3/0   1 9094 %09 039   $9738.07 '.7/'0 ..42-44 $00.42-44 $00.90%20 !.780 925/.9..90.90%20!.<  < 03/7043  704313.90$973   8 .42-44 $00.90/902 $973925/.039780   1 .:0 %4$479.0/8 %.  57.42-44 $00.0*.90/3/0   ..90/902  .42-44 $00.9803/07  .9.9.4/13.-08 ( 1 /.90%20/9 .7/'0 4:238 ( /9  /.97/3/  57.0*.4/-93$.90/3/0   .90.$4:7.9..97/3/   /.42-44 $00.

.

90%20 4  .39:9:70  1 /9.  :9:70314 3..7.

390:77039.04 $4 $4:/03907 2088.9.7   9094 %09 .4/0.3/%2084:/-070. 088.04 $4 $00.04 $4 $00.9079.90 ..9!74507 %238    <  < 03/7043    57.90 %20  < 080  130.90.7  < < 080  088.0  <  < 080  088.  /9  0.

.

  .1342-4  <   70439207*%.

9.#4'0(748/.90%20 4    130.90./8 %.90%20/9. /9      < 03/7043  57.4/130.0./  <   .90.9.9.9  13.. .70.'0/.-08 ( 01. . 4-0.9.:9'0 /.04 $4 70.90%20/9   .57.   1 748 039   088.90/4398920 4480490792238  < 080  .-08 ( #48 // /7  /8 7902 5. 391.0( 9094 %09 %72  /8 %. $479.039780   .'0  /.-08 ( 0#4 /7.'.#4/7/8 %../079 . 3/#48 /9  1 1.30.90%20(/9 %4$973  /7079088.4/9207*%.90%208.97/3/  .9803/07  .

9  13.  < 03/7043  7043944$97503:902*.9 803/07 .4/944$97503:902*.8-.90.90 472.9 803/07 .< 080  $973/ 1 748 039   /748 (( %4$973  9..749107 $4 /      /8 %.43*4:804:-0.904723/4$9. $09. .039780   $4  3/4$9.09 /.90.-08 ( #48 #024.4/944$97503:902*.97/3/  <  < <  7043944$97503:902*.039780   98 480  <  03/7043  70433491.  57.  57. 3/ 748 ( (  /8 7902 5. 4-0.. 4-0.

.48090..43*4:804:-0.43 ":08943  1 /7.9 803/07 472483. 4-0.097:0 /0  .4/1720079*472483 4-0.039780   1 .3994. $09.90.9803/07  4:80.943 34..3. 57.039780   $4  3/4$9.04:99438 084 088.04 $4 1 4:.04.90   /0  < <  03/7043  70431720079*472483  57.4/1720079*#080 4-0.4/ 3491.   .48090.039780   1 4723/4$9.90 472.90 320/ 3/4$9.90. 4 4:.90.07994-0/85.4#08:9 4   0 .  < 03/7043  70431720079*#080  57.55..55.943 0798  088.904723/4$9.9803/07  .4#08:9/7088..

9803/07  .9   < 03/7043  57...-03.90.73.088 $9.  < 080  088.90.4/130090!70.79 05470 .47/ 57.0/. 4-0./2 5.7     .4/-:9943*. 92  $8902 .47/   /8 #0.039780   130090!70.47/   <  57.4/3.943  < <  < 03/7043    7043130090!70.4:8#0.7 .9 803/07 3.-0*3.947  4.039780   $973.0/ 4-0.4:8#0.$09.90.4:8#0.7432039 :7703970.34:  31472.8 !74.3489..04 $4 %.

7/'0 .7/'0 .9.07 98 3/343909/.9803/07  0. $4:7.7/'0*0&5 4-0.02-07(  .07 :7703..  :7703.9.9..0 /..9.3.039780   1 0 04/0 $8902 3/48 4728 08 3907  0 04/0 $8902 3/48 4728 08 %.4//.3. <  57..077/:7703.3.90.9..

.

4/9094*0&5 4-0.07 4:39 %4$973  7/:7703.9  13.$4:7.088.97/3/  < <   57.308  /8 7902 5..07 /8 .90..07 3/:77039/9  /.0 7/:7703..3.97/3/    < 0801 0 04/0 $8902 3/48 4728 08 0090   /8 .04 $4 7/:7703.9.3.059.059.7/'0 .9...3.308  /8 7902 5..039780   1 0 04/0 $8902 3/48 4728 08 3907  .9  13.9803/07  0.

.7/'0*#48#024.9803/07  !. 4-0.9.4/!.90.9.9803/07  .4/ /.0/.039780    <  57.9.7/'0#48#024.7/'0*0439039...90. 803/07 0  <   <  57.90..39 4-0.0*.7/'00.39.9. -93$.039780    <  57.9 803/07 .039780    <    <  03/7043 < 03/7043        .30*!.0/ 4-0.4//.

8              .472 .

&               .

%#%$$ $%% %                      .

&%!&%       ##        .

42.75 . #!  448   !747.223.3/ % .30$48   0-8908    .073 %09/943  .0 4.748419 %0. .751703/8 .3:.8.8.42   .03 .42   8905439 .90/  3/48 09  .7.9843  :897.0452039$0708  3/07808-07  !74108843.

85 /49 309 3974/:..943    .

Sign up to vote on this title
UsefulNot useful