87
An ISO 9001:2000 Certified Organization

INTRODUCTION TO VISUAL C++

Embed Size (px)

DESCRIPTION

INTRODUCTION TO VISUAL C++. VERSIONS OF VC++. 16-bit versions Microsoft C 1.0 , based on Lattice C , was Microsoft's first C product in 1983. It was not K&R C. C 2.0 added large model support. - PowerPoint PPT Presentation

Citation preview

Page 1: INTRODUCTION TO VISUAL C++

An ISO 9001:2000 Certified Organization

Page 2: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

2

Page 3: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

3

16-bit versions

•Microsoft C 1.0, based on Lattice C, was Microsoft's first C product in 1983. It was not K&R C.

•C 2.0 added large model support.

•C 3.0 was the first version developed inside Microsoft. It was extremely compatible with K&R and the later ANSI standard. It was being used inside Microsoft (for Windows and Xenix development) in early 1984. It shipped as a product in 1985.

•C 4.0 added optimizations and CodeView, a source level debugger.

•C 5.0 added loop optimizations and Huge Model (arrays bigger than 64k) support. and the first 32 bit compiler for 80386 were also part of this project.

Page 4: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

4

•C 6.0 released in 1989. It added global flow analysis, a source browser, and a new debugger, and included an optional C++ front end.

•C/C++ 7.0 was released in 1992. It added built-in support for C++ and MFC 1.0.[2]

•Visual C++ 1.0, which included MFC 2.0, was the first version of Visual C++, released in February 1993. It was Cfront 2.1 compliant[3] and available in two editions:[4]

•Standard - replaced QuickC for Windows.

•Professional - replaced C/C++ 7.0. Included the ability to build both DOS and Windows applications, an optimizing compiler, a source profiler, and the Windows 3.1 SDK.[3] The Phar Lap 286 DOS Extender Lite was also included.[5]

•Visual C++ 1.5 was released in December 1993, included MFC 2.5, and added OLE 2.0 and ODBC support to MFC.[6] It was the first version of Visual C++ that came only on CD-ROM.

•Visual C++ 1.51 and 1.52 were available as part of a subscription service.

•Visual C++ 1.52b is similar to 1.52, but does not include the Control Development Kit.

•Visual C++ 1.52c was a patched version of 1.5. It is the last, and arguably most popular, development platform for Microsoft Windows 3.x. It is available through Microsoft Developer Network.

Page 5: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

5

32-bit versions•Visual C++ 1.0 (original name: Visual C++ 32-bit Edition) was the first version for 32-bit development.[7] Although released when 16-bit 1.5 was available, it did not include support for OLE2 and ODBC. It was also available in a bundle called Visual C++ 16/32-bit Suite, which included Visual C++ 1.5.[8]

•Visual C++ 2.0, which included MFC 3.0, was the first version to be 32-bit only. In many ways, this version was ahead of its time, since Windows 95, then codenamed "Chicago", was not yet released, and Windows NT had only a small market share. As a result, this release was almost a "lost generation". Microsoft included and updated Visual C++ 1.5 as part of the 2.x releases up to 2.1, which included Visual C++ 1.52, and both 16-bit and 32-bit version of the Control Development Kit (CDK) were included. Visual C++ 2.x also supported Win32s development. It is available through Microsoft Developer Network. There was a Visual C++ 2.0 RISC Edition for MIPS and Alpha processors, as well as a cross-platform edition for the Macintosh (68000 instruction set).

•Visual C++ 2.1 and 2.2 were updates for 2.0 available through subscription.

•Visual C++ 4.0, which included MFC 4.0, was designed for Windows 95 and Windows NT. To allow support of legacy (Windows 3.x/DOS) projects, 4.0 came bundled with the Visual C++ 1.52 installation CD. Updates available through subscription included Visual C++ 4.1, which came with the Microsoft Game SDK (later released separately as the DirectX SDK), and Visual C++ 4.2. Version number 3.0 was skipped to achieve version number parity between Visual C++ 4.0 and MFC 4.0[9].

Page 6: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

6

A VISUAL C++ PROGRAM CONTAINS THE FOLLOWING TYPES OF AREAS THAT ARE PARTS OF VC++ PROGRAM

Page 7: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

7

Page 8: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

8

RESOURCE PANE

WORKSPACE PANE

TOOLBARS AND SHORTCUTS BARS

Page 9: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

9

VARIOUS TYPES OF FILES IN VC++

Page 10: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

10

VARIOS TYPES OF PROJECTS IN VC++ PROGRAM

Page 11: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

11

Page 12: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

12

Page 13: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

13

Page 14: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

14

Page 15: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

15

CLASS VIEW IN A VC++ PROGRAM

Page 16: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

16

RESOURCE VIEW OF A VC++ PROGRAM

Page 17: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

17

FILES VIEW IN A VC++ PROGRAM

Page 18: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

18

Page 19: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

19

Page 20: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

20

Page 21: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

21

Page 22: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

22

Page 23: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

23

ATL COM WIZARD

CUSTOM APPWIZARD

DATABASE PROJECT

WIN32 DYNAMIC LINK LIBRARY

WIN32 STATIC LIBRARY

WIN32 APPLICATION

WIN32 CONSOLE APPLICATION

UTILITY PROJECT

Page 24: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

24

ATL COM WIZARD

ATL IS THE ACTIVE TEMPLATE LIBRARY AND IT’S USED FOR WRITING SMALL ACTIVEX CONTROLS.

CUSTOM APPWIZARD

USED TO DEVELOP MANY APPLICATION AND ALSO BEING USED AS A TOOL FOR SAVING MUCH OF THE PROGRAMMING TIME IN VC++.

DATABASE PROJECT

IT IS CAPABLE OF CONNECTING THE PROGRAM TO HAVE A CONNECTION WITH THE OTHER KINDS OF DATABASE PROJECTS.

MAKE FILE

IN THIS NO CODE IS GENERATED. AND BASICALLY USED FOR STANDALONE PPLICATION.

MFC ACTIVEX CONTROL WIZARD

IS USED FOR BASICALLY FOR THE WEB PAGES. AND FOR VBX controls for achieving the intuitive interfaces.

Page 25: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

25

MFC APPWIZARD(DLL)

THESE ARE SMALL FILES THAT ATTACH WITH THE [PROGRAM WHILE EXECUTION FOR ADDING SMALL KIUND OF FACULITIES INT THE PROGRAM OF VC+++.

WIN32 APPLICATION

THESE ARE BEING USED FOR MAKING AN WINDOWS APPLICATION IN VC++.

WIN32 CONSOLE APPLICATION

A CONSOLE APPLICATION MUCH LOKS LIKES A DOS BASED APPLICAION WHERE THE USER INTERFACE IS BASICALLY THE COMMAND PROMPT.

Page 26: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

26

WIN32 DLL

THESE ARE BASICALLY USED FOR THE DEVELOPING THE DLL FILES AND NOT USED FOR MAKING AN KIND OF MFC APPLICATION.

WIN32 STATIC LIBRARY

IF PREFER TO MAKE A FILE THAT DONOT DISTRIBUTE TO 9OTHER PARTS OF THE PROGRAM OF VC++.BASICALLY THESE ARE THE FACILITIES IN VC++ FOR SUCH AN PURPOSE.

Page 27: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

27

KEYBORADS EVENTS IN VC++ MEANS THOSE ACTIONS RTAKEN OR TO PERFORM THE ACION SPECIFIED BY THE CONTROLS OR THE COMMANDS ATTACHED TO THESE EVENTS THAT’S THE BASIC FUNDA OF USIONG THEKEYBOARDS EVNTS IN VC ++ PROGRAM.

FOR EG:

WM_KEYDOWN ON KEY DOWN IS THE HANDLER THAT IS BEING ATTACHED TO THIS EVENT WHOESER ASSOCIATED ACTION IS WHEN A KEY ON THE KEYBOARD IS BEING PRESSED.

WM_SYSKEYUP PERFORMS A ONSYSKEYUP BASICALLY WHEN A SYSTEM KEY ON THE KEYBOARD IS BEING PRESSED .

Etc .

Also there are some of the flags available in the vc++ program that are

0-15 contains the number of lines the key has been preseed as a result of the key being held dow.

Page 28: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

28

THERE ARE SOME OF THE EVEMNTS THAT ARE BEING ATTACXHED IN THE VC++ PROGRA,M WHICH CORRESNPONDS TO THE MOUSE HANDLING ALSO THERE IS A MESSAGE HADLER OR YOU CAN SAY A EVENT HANDLER PROGRAM IS ATTACHED TO EACH AND EVERY EVEN OF THE KEYBOARD AND MOUSDE SO IF THERE IS ANY KIND OF ACTION IS BEING PRESSED BY THE USER THE CORRESPONDLINGLY EVENT IS BEING STARRTED AND IF NOT THE PRESENCE OF THE EMSSAGE HANDLERE IS NOT PRESENT THEN A MESSAGE GHANDLER IS BEING STARTED and if not present

Page 29: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

29

Using mouse events in your application

The general prototype of of keyboard handler function looks like :

Void OnMsgName(UNIT nFlags,Cpoint)

Page 30: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

30

Types of resource in vc++.

Following are the resaources in vc++.

Accelarator

Bitmap

Cursor

Dialog

Html

Icon

Menu

String Tale

Toolobar

Version

Page 31: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

31

Different resources in vc++ when you insert them by building a application in vc++ you insert them from the resource view and clinking te insert resoruce in insert option of fmenu bar options.

Page 32: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

32

A status bar in vc++ is an area particularly to show tha current status of the selection on which the mouse is pointing for example by default the sttaus shows the press f1 for help you can find in almost all windows of vc++ program or workspace [pane andalso as the default option when being enabled in vc++.

Page 33: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

33

The prompt that appears on the screen of the window of the user screen while attempting ffor the action specified by the user is known as the dialog boxes.

These are of three type s ad also used for feeding up the user form or you can say that you can use of these to specify the user feedback as requirements

Page 34: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

34

A SLIDER IS A VISUAL COMPONENT IF A VC++ PROGRAM THAT SHOWS THE VARITION LEVEL AND FROM WHICH YOU CAN CONTROL APARTICUILAR LEVEL.FOR EXAMPLE VOLUME CONTROLLER.

SLIDER CONTROL FOR VOLUME CONTROL LEVEL. YOU CAN ALSO SHOWS THE INVARIATION BY GRAPHICALLY THAT SHOWS A COMMON CONTROL LEVEL FOR A PARTICULAR COMPONENT.

Page 35: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

35

SERAILIZATION IS A PROCESS.BY WHICH AN OBJECT WRITES ITS STATE (THE CURRENT VALUES OF ITS MEMBER VARIABLES) ONTO A FILE IN SUCH A MANNER THAT ENABLES IT TO RECRETAE ITSELF BACK INTO THE STATE IT WAS BY DESERIALZTION OF THE STORED DATA.SERIALIZATION IS AN IMPORTANT CONCEPT IN WHICH WINDOWS PROGRAMMING BECAUSE . MOST OF THE DATA OF AN APPLICATION EXISTS IN OBJECT FORM.IT ENABLES AN APPLICATIONN TO OPEN AND SAVE DOCUMENTS ALONG WITH ITS DATA .MERELY SAVING THE DATA OF A DOCUMENT WOULD NOT ENABLE THE APPLICATION TO RECREATE THE DOCUMENT FROM THE STORED DATA.

Page 36: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

36

UNDERSTANDINFG THE DOCUMENT CLASS

WHEN YOU GENERATE YOUR SOURCE CODE WITH APPZWIZARD,YOU GET AN APPLICATION FEATURING ALL THE BELLS AND WISHES OF A COMMERCIAL 32- BIT WINDOWS APPLICATION,INCLUDING A TOOLBAR,A STTAUS BAR, TOOLTIPS,MENUS ETC AND EVEN A About dialog box.

Page 37: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

37

Mfc’S document view architecture separates an application data from the way the user actually views and manipultaes that data.simply,the ocument object is responsi for storing loading and saving the data ,whereas the views object (which is just another type of window))enables the user to see the data, onscreen and yto edit that data in a way that is appropriate to the application.

Page 38: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

38

Sdi and mdi application creted with aPPwizard are document /view applications.For their way of describin the beahviour it is possible to design or code them in vc++ but in sdi application only one document can be opened at a time so they have the facility of one document or window at a single time.for eg. Notepad is the best example of sdi(single document interface)like mspaint.In MDI (multiple document interface) it is possible to open multiple document at a time so in multiple document interface various document can be opened.

Page 39: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

39

An activex control, like other Windows cntrols you have usedc so far is aself containerd object packed with related functionalities.Simillar to the Windows controls,it can also be included within a container object(such as dialog window).

PropertiesProperties are attributes or controls that are visible to and often modifiable by the container in which it is placed.There are four basicxs\ types of properties of Actives\x controls.Ambient Prperties are provided by the container application of the control ---such as background color etc. so that the control looks like a part of the container application.Extended Properties are those properties of the control ythat are provided and implemented by the container application such as tab order.Stock Properties are implemented by the Activex control development Kit ,such as cont

Page 40: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

40

Methods of the qactivex control are functions that can be called by its container application or object.These functrions are made avilable to other applications through Idispatch interface.For detailed treatment of how this interface works.

Page 41: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

41

Events are notification messaages that are sent from the control to the container .They notify the container application that an event has happened in realtion to the control and if desired, the application may take an appropriate action in response.Simillar to properties and methoids evnets can also be added to the Activex control project through ClassWizard’s Automation window.

Page 42: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

42

Activex is aset of methodolgies and procedures that allow you to create software components.A software component is reusable,seflf-contained module of code that may be used by another application.As it aplies to Activex, a software component is called an Acivex control, AndIndeed by far the most common use of Acivex is to create an Acivex control.

Page 43: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

43

Activex is based upon the component object model (COM).This model defines the way Activex compliant applications intercat with each other .Specially ,it definesx standard interfacses that one object can use to expose its functionaliyty to another .It is through these interfaces that one application communicates with eac another.In the component object model there are two types of applications and servers.In the simplest sense,a container is a n application that requires data and a servers.In the simplest ,a container is an application that supplies data.A contaoiner can be a compund document.Another term for container is client,The way that container and server communicate is through the interfaces definmed by COM.

Page 44: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

44

The DECLARE_DYNCREATE() AND IMPLEMENT _DYNCREATE

Page 45: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

45

MARSHALLING HAS A PARTICULARLY SIMPLE DEFINTION OF AN OBJECT.IN THIS ON AN OBJECT IS RECORDED ON THE HEAP WITH AN ASSOCIATED METHOD SUITE .THE DATE FIERLDS OF THE OBJECT DEFINE THE STATE AND THE METHOD SUITE DEFINES THE BEHAVIOUS .THE MARSHALLINGALLOOWS THE STAE OF AN OBJECT TO BE HEDEN IN AN IMPLEMENTION MODULE MODULE WITH ONLY THE BEHAVIOUS VISIBLE IN THE INTERFASCE .THIS IS DIFFERENT FROM C# IN WHICH A CLASS FEINITION LISTS BOTH THE MEMBER DATA AND MEMBER FUNCTION .THE C++ MODELS REVEAL WHAT IS ESSENTIALLY PRIVATE INFORMATION TO THE ENTIRE WORLD .WITH MARSHALLING OBJECTS WHAT SHOULD BE PRIVATE CAN REALLY THE PRIVATE.

Page 46: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

46

MARSSSSSSHALLING HAS THE FEATURE OF GARBAGE COLLECTION GARBAGE COLLECTION REALLY REALLY ENABLES ROBUST ,LONG LIVE SYSTEM.IT PROVIDES A SIMPLE SINGLE INHERITANCE OBJECT SYSYTEM .GENERIC INTRERFACES AND MODULES ARE OKAY TO REUSE .IT GEERICS ARE CLEANER THAN C++ PARAMETIRIZED TYPES.EXISTING NON-MARSHALLING LIBRARIES CAN BE IMPOTRTED.MANY EXISTYING C LIBRARIES MAKE EXTENSIVE USE OF MACHINE DEPENDENT OPERATIONS.THIS CAN BE IMPORTED AN UNSAFE.THEN SAFER INTERFACES CAN BE BUILT ON TOP OF TESE WHILE STILL ALLOWING ACCESS.

Page 47: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

47

IT PROVIDES SUCH A STATNDARD INTERFACES FOR CREATING THREADS.IN ADDITION, THE LANGUAGE ITSELF INCLUDES SUPPORT FOR MAGING LOCKS.THE STATNDARD LIBRARIES ARE PROVIEDE AN INTERFACE TO X, IS N OUT LONG OPERTIONS.OT ONLY THREAD-SAFE BUT USES THREADS TO CARRY

Page 48: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

48

DIFFERENT TYPES OF RESOURCES INCLDES ARE:-PROJECT:=THE MAIN RESOURCE IN PROJECT ARE:-FORMS ALL THE .FRM FILES ASSOCIATED WITH THE PROJECT MODULKES:- ALL THE .BAS MODULES FOR THE PROJECTCLASS MODULES:- ALL TBHE .CLS FILES FOR THE PROJECTUSER CONTROLS:- ALL DOCUMENT OPBJECTS .DOB FILES IN THE PRJECTYPROPERTY PAGES:- ALL DESIGNERS .DSR FILES IN THE PROJECTRELATED DOCUMENTS:- LIST ALL DOCUMENTS TO WHICH TO WHICH YOU WANT A PPOINTER.THE PATH TO THE DOCUMENT IS STORED EITHER THAN THE DOCUMENT ITSELF ,WHEN YOU CLICK VIEW OBJECT,VISUAL BASIC,SEARCHES THE REGISTRY FOR THE DOCUMENT TYPE AND EXCUTES THE APPROPRITEA OPEN COMMAND.YOU CAN PLACE ANY VALID DOCUMENT TYPE IN THE PROJECT.RESOURCES:- L;IST ALL THE RESOURCES YOU HAVE IN TH EPROJECT.

Page 49: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

49

Registering the control class is only half of the registry work needed to registrer an Activex control with the windows operating system .The otyher half involves registering the server for the Activex control.You mage registertion of this eserver by implemnting the DLLRegister server() and DLLUnregisterServer() functions and registering or unregistering the server within.these fubnnctions are called by the control container when an instance of the control class is needed.These prototypes are as follows.STDAPI DIIRegisterServer();STDAPI DIIUnregisterServer();The implemention of DIIRegisterServer() simply calls to AfxOleRegisterTypeLib() and ColeObjectFasctory Ex::UpdateRegistryAll();

Page 50: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

50

Wht is component It is possible to modify and manipulate a portion of the whole without disturbing the rest of the whole.For instance a morcar is composed of a number of mechanical and other types of components,viz headlights,gearbox,types etc.In case smoething goes wrong with the functioning of the car as a whole instead of reapinring the whole car, only the faulty component is isltaed and repaired or replaced. If the motorcar wre made up of a single unit probably the whole of the car would have needed repainring.

Page 51: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

51

Application customizaton.Dynamic linkingEncapsulationLanguage independenceVersion controlReusabilityTransparently Relocatbility

Page 52: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

52

If a user wishes to have his/her favouriute txt editor sa vi wheras another user prefers a differentt text editor say ed in the same application .Monolithic appraoach would require two separte applications to be developed with vi and ed support respectively.Ijn contrats a component application should need two different text editor compnnonets one for ed and other for vi

Page 53: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

53

User 1User 1

Component edComponent vi

Component Component

Component E

Component E

Page 54: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

54

The component should be able to link with each other and with the rest of the applications at run time instead of at compile time.An application made of components that must be statically relkinked time at a component changes is nothing better than a monolithic application

Page 55: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

55

The components should be known by the way it can be interconnected with the other outer world components .The innards of the components should not have any effect on the way it interacts with the other components .the connection of a component is known as its interface.

Page 56: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

56

A component must hide the computer language used for its implementation .in other words ,it should have binary compatibility .Further it must be upgradable without disturbing the other componnets using it

Page 57: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

57

A component even while evolving ,should maintain backward compatibility so that an old client component may continue to use it .

A componnet should be reusable in nature to use the feature as according to the requirements .

Page 58: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

58

Components must be transparently replaceable on a network.The client component should be able to treat a remote component the same way it treats a local component.If remote components were treated differently from local computers the clients would have to be re compiled whenever a local component was moved elsewhere on the network.

Page 59: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

59

Page 60: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

60

Page 61: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

61

Page 62: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

62

Page 63: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

63

Page 64: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

64

The Windows 2000 SNMP Service greatly simplifies network management. To take best advantage of this:•Try to organize SNMP communities by functional organization, following the Windows 2000 distributed security model. •Take advantage of SNMP security checking by configuring authentication traps on all SNMP agents. •If you will be monitoring service specific components, such as dynamic host configuration protocol (DHCP) or Windows Internet Name Service (WINS), verify that these services have been successfully installed and configured.

Page 65: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

65

Each connection in the Network and Dial-up Connections folder contains a set of features that you can use to create a link between your computer and another computer or network. Outgoing connections contact a remote access server by using a configured access method (LAN, modem, ISDN line, and so on) to establish a connection with the network.

Page 66: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

66

Conversely, an incoming connection enables a computer running Windows 2000 Professional or a stand-alone computer running Windows 2000 Server to be contacted by other computers. This means your computer can operate as a remote access server. Whether you are connected locally (LAN), remotely (dial-up, ISDN, and so on), or both, you can configure any connection so that it can perform any needed network function. For example, you can print to network printers, access network drives and files, browse other networks, or access the Internet.

Page 67: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

67

Because all services and communication methods are configured within the connection, you do not need to use external management tools to configure connection settings. For example, the settings for a dial-up connection include features to be used before, during, and after connecting. These include the modem you use to dial, the type of password encryption you want to use upon connecting, and the network protocols you use after you connect. Connection status, which includes the duration and speed of a connection, is viewed from the connection itself; you do not need to use an external status tool.

Page 68: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

68

The following administrative tools appear in both Windows 2000 Professional and Windows 2000 Server: Component ServicesUsed by system administrators to deploy and administer COM+ programs from a graphical user interface, or to automate administrative tasks using a scripting or programming language. Software developers can use Component Services to visually configure routine component and program behavior, such as security and participation in transactions, and to integrate components into COM+ programs.

Page 69: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

69

Using ServicesServices helps you manage the services on your computer, set up recovery actions to take place if a service fails, and create custom names and descriptions for services so that you can easily identify them.

Page 70: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

70

Network authentication confirms the user's identification to any network service that the user is attempting to access. To provide this type of authentication, the Windows 2000 security system supports many different authentication mechanisms, including Kerberos V5, Secure Socket Layer/Transport Layer Security (SSL/TLS), and, for compatibility with Windows NT 4.0, LAN Manager. Users who use a domain account do not see network authentication. Users who use a local computer account must provide credentials (such as a user name and password) every time they access a network resource. By using the domain account, the user has credentials that are automatically used for single sign-on.

Page 71: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

71

Using Active DirectoryThe Active Directory directory service for Windows 2000 catalogs information about all the objects on a network, including people, computers, and printers, and distributes that information throughout your network. Security is integrated with Active Directory through logon authentication and access control. With Active Directory, you only need to log on once to easily find and use resources anywhere on the network. For example, you can search Active Directory for a printer that prints in color and is located near your computer, a group of users managed by a particular individual, or a shared folder to which a unique keyword has been assigned.

Page 72: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

72

AdvantageExampleCost advantagesThe Internet is used as a connection instead of a long-distance telephone number or 1-800 service. Because an ISP maintains communications hardware such as modems and ISDN adapters, your network requires less hardware to purchase and manage.Outsourcing dial-up networksYou can make a local call to the telephone company or Internet service provider (ISP), which then connects you to a remote access server running Windows 2000 and your corporate network. It is the telephone company or ISP that manages the modems and telephone lines required for dial-up access. Because the ISP supports complex communications hardware configurations, a network administrator is free to centrally manage user accounts at the remote access server. Enhanced securityThe connection over the Internet is encrypted and secure. New authentication and encryption protocols are enforced by the remote access server. Sensitive data is hidden from Internet users, but made securely accessible to appropriate users through a VPN.Network protocol supportBecause the most common network protocols (including TCP/IP, IPX, and NetBEUI) are supported, you can remotely run any application dependent upon these particular network protocols.IP address securityBecause the VPN is encrypted, the addresses you specify are protected, and the Internet only sees the external IP address. For organizations with nonconforming internal IP addresses, the repercussions of this are substantial, as no administrative costs are associated with having to change IP addresses for remote access via the Internet

Page 73: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

73

•To open a Command Prompt window, click Start, point to Programs, point to Accessories, and then click Command Prompt. •The TAPI client is installed with the Microsoft Windows 2000 operating system, but you need to perform this procedure to specify servers for the client. The client must be in the same domain as the server or in a fully trusted domain. •You must log on to the client as an administrator to perform this command. If you are logged on to a computer in the Users or Power Users group, you can use the runas command to run tcmsetup as an administrator, for example: runas /user:mydomain\myname "tcmsetup /c servername"

Page 74: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

74

•For additional information regarding the runas command, see Related Topics.•In the tcmsetup command line, server1 server2 ... represent names of one or more TAPI servers. The command replaces any previous list, so make sure to list every telephony server you want to make available to the client. •You may have to restart the Telephony service for this change to take effect. •Before client users can dial out using the phone lines on the TAPI server, the TAPI server administrator must also assign the users to the phone lines.

Page 75: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

75

SNMP security propertiesSimple network management protocol (SNMP) provides security through the use of community names and authentication traps. You can restrict SNMP communications for the agent, allowing it to communicate with only a specific list of other SNMP management systems. You can configure SNMP security in SNMP Service Properties on the Security tab. The following options can be configured to enable SNMP security:•Accepted community names. The service requires at least one default community name. Public is the common community name that is universally accepted in all SNMP implementations. You can add multiple community names, and delete or change the default community name. The community names configured here are used in trap destinations. If an SNMP request is received from a community which is not on this list, it will generate an authentication trap. Caution

Page 76: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

76

Rights. A permission level can be selected, determining how the SNMP agent processes requests from a selected community. For example, you can configure the permission level to block the SNMP agent from processing any requests from a specific community. Accept SNMP packets from any host. In this context, the source host and list of acceptable hosts are the source SNMP management system and the list of acceptable management systems. No SNMP packets are rejected on the basis of the name or address of the source host or the list of acceptable hosts. This option is checked by default. Accept SNMP packets from these hosts. In this context, the list of acceptable hosts means the acceptable SNMP management systems. When selected, only SNMP packets received from the hosts in this list are accepted. Otherwise, the SNMP message is rejected and an authentication trap sent. This selection provides greater security than using a community name, which might contain many hosts

Page 77: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

77

•Send authentication trap. Authentication is the process of verifying that a host name or address is valid. When the SNMP agent receives a request that does not contain the correct community name or is not sent from a member of the acceptable host list, the agent sends an authentication trap message to one or more trap destinations (management systems), indicating the failure of authentication. This option is checked by default.

Page 78: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

78

CORBACORBA lets you make calls between Java objects and objects written in other languages. CORBA depends on having an Object Request Broker (ORB) available on both client and server. CORBA is a standard defined by Object Management Group that enables software components written in multiple computer languages and running on multiple computers to work together. ORB as a kind of universal translator for inter-object CORBA communication. The CORBA 2 specification defines more than a dozen "services" that the ORB can use for various kinds of housekeeping tasks. These range from a "startup service" to get the process going, to a "life cycle service" that you use to create, copy, move, or destroy objects, to a "naming service" that allows you to search for objects if you know their name.

Page 79: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

79

(Client) main( ) (Server) main( )

Object Reference

Stub code

Object Implementation

Skeleton

Object Request Broker

Object Request BrokerNetwork

Page 80: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

80

 Steps for implementing CORBA objects:1. Write the interface that specifies how the object works, using IDL, the interface definition language for defining CORBA interfaces. IDL is a special language to specify interfaces in a language-neutral form.2. Using the IDL compiler(s) for the target language(s), generate the needed stub and helper classes.3. Add the implementation code for the server objects, using the language of your choice. (The skeleton created by the IDL compiler is only glue code. You still need to provide the actual implementation code for the server methods.) Compile the implementation code.

Page 81: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

81

4. Write a server program that creates and registers the server objects. The most convenient method for registration is to use the CORBA naming service, a service that is similar to the rmi registry.5. Write a client program that locates the server objects and invokes services on them.6. Start the naming service and the server program on the server, and start the client program on the client.These steps are quite similar to the steps that you use to build distributed applications with RMI, but with two important differences:● You can use any language with a CORBA binding to implement clients and servers.● You use IDL to specify interfaces.In the following sections, you will see how to use IDL to define CORBA interfaces, and how to connect clients implemented in Java with C++ servers and C++ clients with servers implemented in Java.

Page 82: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

82

Applet Programming:Applets are small java programs that are primarily used in internet programming.They can be transported over the internet from one computer to another and run using the Appletviewer or anyweb browser that supports Java.Applet does not contain main() method.Format of Applet program:

Page 83: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

83

Import java.awt.*;Import java.applet.*;Public class appletclassname extends Applet{………………..………………..Public void paint(Graphics g){………………..//Appletsoperations code…………………}}

Page 84: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

84

Page 85: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

85

Page 86: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

86

Page 87: INTRODUCTION TO VISUAL C++

© Copyright PCTI Group 2009Presentation Title | April 19, 2023 | <document classification>

87