Event Handling in ProvideX

Size: px
Start display at page:

Download "Event Handling in ProvideX"

Transcription

1 Event Handling in ProvideX Presented by: Brett Condy

2 Overview OOP and COM Objects Properties and Methods How does the COM Interface work? COM Events Additional TCB Values ProvideX Type Library Browser NOMADS Interface Language Level Event Extensions Limitations Future Enhancements

3 OOP and COM Objects What is an Object? Fundamentally, an Object is a self-contained entity that contains: Data referred to as Properties Functions referred to as Methods. OOP Objects Created using Object Oriented Programming concepts in ProvideX. COM Objects Use the Microsoft 'COM' (Common Object Module) interface. Supports OLE, OCX and ActiveX technologies.

4 OOP Objects Based on an Object model. OOP incorporates the following concepts: Encapsulation All aspects of an Object are self-contained Inheritance Objects may be derived from other similar objects Polymorphism The ability to react differently, or override functionality derived from another object Object Oriented Programming Direxions 2002 Presentation

5 OOP Objects OOP Example A Customer Object would contain... Properties: Name Address City Salesperson. Methods: Add Delete Find Fax.

6 OOP Objects General Syntax for OOP Objects Object Definition Directives DEF CLASS PROPERTY LOCAL FUNCTION LIKE PROGRAM PRECISION STATIC Object Creation and Deletion NEW( ) REF( ) DROP OBJECT Defines the object class. Declares data/properties. Declares private data/properties. Declares methods. Declares inherited class. Declares default programs. Declares precision. Dynamically declares LOCAL variables. Instantiates an object. Controls reference counts. Deletes an object.

7 OOP Objects Sample Object DEF CLASS "Customer" LOCAL Customer_File PROPERTY Cust_No$ SET Change_Cust PROPERTY Name$,Addr$,City$,SalesPerson$ PROPERTY Amt_Owing GET ";CheckSecurity" SET ERR FUNCTION Find(X$)Get_Customer FUNCTION Update()Update_Customer END DEF On_Create: IF Customer_File=0 THEN OPEN (GFN,IOL=*)"cstfile"; Customer_File=LFO RETURN On_Delete: CLOSE (Customer_File); Customer_File=0; RETURN..cont d

8 OOP Objects Sample Object..cont d Get_Customer: ENTER C$ READ (Customer_File,KEY=C$)! Loads all variables RETURN 1 Change_Cust: ENTER C$ READ DATA FROM "" TO IOL=IOL(Customer_File) Cust_No$=C$; READ (Customer_File,KEY=C$,DOM=*END) RETURN Update_Customer: WRITE (Customer_File); RETURN 1 CheckSecurity: IF %Security_OK THEN RETURN Amt_Owing EXIT 52 Note: Use of %Security_OK violates rules of Encapsulation.

9 COM Objects Separately compiled utilities that provide a service, function, or control. Similar to a DLL. Automation interface: Allows access to Objects, Properties, Methods and Events. Supports any Object or Control that exposes an IDispatch interface. Limited to the Windows version of ProvideX. Automation in ProvideX COM Interface Documentation

10 COM Objects General Syntax for COM Objects DEF OBJECT directive is used to instantiate a COM Object. DELETE OBJECT directive is used to disconnect from the COM Object. DROP OBJECT is an alternative for the DELETE OBJECT directive. The following syntax allows you to select from a list of available 32-bit OLE and ActiveX controls: DEF OBJECT x,"*"

11 Properties and Methods Used with COM and OOP Objects. Accessed via the dynamic property operator: ' x$ = Customer'Name$! Property Get Customer'Name$="Abc Co."! Property Set Customer'Add( )! Invoke a Method A comma-separated list of properties and methods can be obtained by querying tick-star internal property: '* Methods identified by a "( )" appended to name.

12 Properties and Methods Generally speaking, properties and methods are handled the same for OOP and COM objects, with a few exceptions: Helper properties and methods are provided for COM objects and prefixed with PVX; e.g, PvxName$, PvxTop, PvxWidth COM interface accepts "invoke hints" (.get,.put,.putref) to help differentiate between getting or setting properties, or invoking a method; e.g, x=grid'cell.get(row, Col) Optional parameters are supported by the COM interface with an asterisk * as placeholder; e.g, x=grid'setvalue(*, *, Row)

13 How does the COM interface work? DEF OBJECT Instantiate Object ProvideX PVXOCX32.DLL COM Object Expose Properties & Methods Dispatch Handle Instantiating a COM Object

14 COM Events What are Events? Provide a means for interacting with COM Objects. A COM control signals an application when a given action occurs by sending a message. This message is referred to as an Event. The process of sending the message is commonly referred to as Event firing. One of the most common Events supported by controls with a user interface is a mouse click.

15 COM Events Working with Events Events must be responded to immediately. This is a standard requirement for COM. Events can fire at any time! When is determined by the COM Object. Unlike accessing properties and methods which is controlled by the application. Events can fire when an application is reading or updating files, processing data, printing reports, or waiting for user input. Note: An Event can also fire while the application is in the process of servicing a previous Event! To prevent an application from looping endlessly, a limit of 64 nested Events has been imposed.

16 COM Events The OOP Approach Knowing that... Events can fire at any time and, must be responded to immediately, and OOP Objects are self-contained... associating a COM Object to an OOP Object is a perfect fit. This allows ProvideX to issue a method call without affecting the underlying application. When an Event fires, ProvideX will suspend the current task, process the Event, then return control to the current task.

17 COM Events ProvideX Data Entry Suspend current operation COM Object Event Triggers Display Process OOP Method for the Event Processing WAIT or WI Resume current operation Event Processing

18 COM Events Syntax for Event Support Associating COM Object with OOP Object: ON EVENT FROM com_id PROCESS oop_id Where: com_id oop_id CTL value of the COM Object CTL value of the OOP Object

19 COM Events Syntax for Event Support Activating support for individual Events in an OOP Object: FUNCTION func_name ( args ) prog_ref FOR EVENT { str_var SAME } Where: func_name Function / Method name args Optional function arguments prog_ref Program/Statement label str_var Event name or keyword SAME

20 COM Events Calendar Event Object DEF CLASS "Calendar" LOCAL EventListBox PROPERTY CalCTL PROPERTY CalDay,CalMonth,CalYear,CalValue$! Event Functions FUNCTION Click()";Click" FOR EVENT SAME FUNCTION DblClick()";DblClick" FOR EVENT SAME FUNCTION SelChange()";SelChange" FOR EVENT SAME FUNCTION DateDblClick()";DateDblClick" FOR EVENT SAME! Regular Functions FUNCTION ShowEvents()";ShowEvents" FUNCTION HideEvents()";HideEvents" END DEF..cont d

21 COM Events Calendar Event Object..cont d On_Create: DEF OBJECT CalCTL,@(40,0,22,20), "MSComCtl2.MonthView.2" ON EVENT FROM CalCTL PROCESS _Obj RETURN On_Delete: IF CalCTL \ THEN DROP OBJECT CalCTL; CalCTL=0 GOSUB HideEvents RETURN..cont d

22 COM Events Calendar Event Object..cont d Click: EventProcessed$="Click" GOTO ReturnFromEvent DblClick: EventProcessed$="DblClick" GOTO ReturnFromEvent SelChange: EventProcessed$="SelChange" GOTO ReturnFromEvent DateDblClick: EventProcessed$="DateDblClick" GOSUB ReturnFromEvent MSGBOX "Date Selected: "+ClickValue$ RETURN..cont d

23 COM Events Calendar Event Object..cont d ShowEvents: IF EventListBox=0 \ THEN EventListBox=100; LIST_BOX EventListBox,@(64,0,24,20),SEP="," LIST_BOX LOAD EventListBox,CalCTL'PvxEvents$ RETURN HideEvents: IF EventListBox \ THEN LIST_BOX REMOVE EventListBox; EventListBox=0 RETURN ReturnFromEvent: CalValue$=CalCTL'Value$, CalDay=CalCTL'DayOfWeek CalMonth=CalCTL'Month, CalYear=CalCTL'Year RETURN

24 COM Events The PvxEvents$ Property A list of Events supported by a given COM control are available in the PvxEvents$ property. Active Events are noted with leading plus sign + Inactive Events are preceded with minus sign - This property is populated only after executing: ON EVENT FROM com_id PROCESS oop_id

25 Additional TCB values TCB Information for Event Support TCB(120) TCB(121) TCB(122) TCB(123) CTL value of the COM object which triggered the event. Number of COM events processed for this session Current level of processing in the event queue. While this should normally be one, receiving an event within an event will increment the level. Number of COM events ignored due to excessive event requests.

26 Language Level Event Extensions New syntax to simplify the Event interface. Eliminates the need to create an OOP object to manage the Events. Generates CTL signal when a given Event is received. Used by the NOMADS interface. Syntax to generate the CTL value: ON EVENT "EvtName " FROM com_id PREINPUT ctl_val Where: EvtName Event Name com_id CTL value of the COM Object ctl_val CTL value to PREINPUT Syntax to remove an Event: ON EVENT "EvtName " FROM com_id REMOVE

27 Language Level Event Extensions New Object to control internal ProvideX Events known as "*system" : DEF OBJECT com_id,"*system" Available Methods: SetTimer(nn) nn indicates the # of seconds Supported Events: Timeout( ) triggered when SetTimer expires FileClose(file_no) file_no is the channel # being closed FileOpen(file_no, file_name) file_no is the channel # being opened file_name is the file being opened

28 ProvideX Type Library Browser The Type Library Browser (PvxTLB) provides extended type information for COM objects. It can also be used to create ProvideX OOP objects to simplify the handling of COM events. PvxTLB is freely downloadable. While it simplifies working with COM objects, it is not a replacement for documentation. Type Library Browser TLB Documentation

29 ProvideX Type Library Browser Output from PvxTLB DEF CLASS "DMonthViewEvents" PROPERTY EventCaller GET GetEventCaller SET ERR PROPERTY EventStack GET GetEventStack SET ERR PROPERTY EventsDispatched GET GetEventsDispatched SET ERR PROPERTY EventsDiscarded GET GetEventsDiscarded SET ERR FUNCTION Event_DateDblClick(dbl_DateDblClicked) Event_DateDblClick FOR EVENT "DateDblClick" FUNCTION Event_SelChange (dbl_startdate,dbl_enddate,int_cancel) Event_SelChange FOR EVENT "SelChange" FUNCTION Event_Click()Event_Click FOR EVENT "Click" FUNCTION Event_DblClick()Event_DblClick FOR EVENT "DblClick" END DEF STOP..cont d

30 ProvideX Type Library Browser Output from PvxTLB..cont d On_Create:! CONSTRUCTOR On_Create! < Insert code here > RETURN On_Delete:! DESTRUCTOR On_Delete! < Insert code here > RETURN GetEventCaller:! PROPERTY EventCaller (GET) RETURN TCB(120) GetEventStack:! PROPERTY EventStack (GET) RETURN TCB(122) GetEventsDispatched:! PROPERTY EventsDispatched (GET) RETURN TCB(121) GetEventsDiscarded:! PROPERTY EventsDiscarded (GET) RETURN TCB(123)..cont d

31 ProvideX Type Library Browser Output from PvxTLB..cont d! EVENT DateDblClick - Occurs when the user presses and releases a mouse button and then presses and releases it again over a valid date. Event_DateDblClick: ENTER dbl_datedblclicked! < Insert code here > RETURN! EVENT SelChange - Occurs when the user selects a new date or range of dates. Event_SelChange: ENTER dbl_startdate,dbl_enddate,int_cancel! < Insert code here > RETURN

32 NOMADS Interface COM support has replaced VBX support in NOMADS Replaces the existing VBX Controls. Supports Properties, Method calls and Event handling. All Properties and Events are presented in Grid. Default values for Properties can be specified as Fixed or Expression. Logic for Events includes: Ignore, Link, Perform, Call and Execute. Post-create logic also available. NOMADS Enhancements Direxions 2004 Presentation

33 NOMADS Interface Sample Panel and Program! NomCal -- Calendar Events in NOMADS Click: EventType$="Click"; GOTO ReturnFromEvent DblClick: EventType$="DblClick"; GOTO ReturnFromEvent NOMADS_DateDblClick: EventType$="DateDblClick"; GOSUB ReturnFromEvent MSGBOX "Date: "+ClickValue$,"NOMADS PREINPUT Event" cmd_str$="end" RETURN..cont d

34 NOMADS Interface Sample Panel and Program..cont d SelChange: EventType$="SelChange" GOTO ReturnFromEvent ReturnFromEvent: ClickValue$=MonthView.ctl'Value$ x=monthview.ctl'dayofweek NewDay$=MID(MSG(134),TBL(x<>1,7,x-1)*4-3,3) NewDay$=STR(x)+" - "+NewDay$ x=monthview.ctl'month NewMonth$=STR(x)+" - "+MID(MSG(133),x*4-3,3) NewYear$=MonthView.ctl'Year$ LIST_BOX LOAD EventList.ctl,0,EventType$ x=eventlist.ctl'itemcount LIST_BOX WRITE EventList.ctl,x Refresh_flg=1; RETURN

35 NOMADS Interface Working with Events that supply parameters Previous example did not use an OOP object to service the Events, but instead made use of the ON EVENT PREINPUT syntax. This approach does not allow parameters passed by the COM control to be intercepted. The only means for doing this is to add an OOP object to the mix. This can be done in the POST-CREATE logic for the COM control.

36 NOMADS Interface Add following changes to NomCal and save it as NomCal.Pvc. Add PERFORM ";Initialize_MonthView" to COM post-create logic.! NomCal.pvc -- Calendar Events in NOMADS DEF CLASS "NomCal" FUNCTION DateDblClick(x)";DateDblClick" FOR EVENT SAME END DEF DateDblClick: ENTER x y=x+jul(1900,1,1)-2,x$=dte(y:"%dl, %Ml, %D, %Yl") MSGBOX "Date: "+x$,"datedblclick FUNCTION ON Event" RETURN Initialize_MonthView: NomCalOOP=NEW("NomCal") ON EVENT FROM MonthView.ctl PROCESS NomCalOOP RETURN

37 Cautions and Limitations As Events can fire rapidly, it is important to service the event as quickly as possible, and, without user intervention. Events are not supported across a WindX connection. Primarily due to timing... sending packets between the host and the client does not allow for immediate response to the Event. Internal ProvideX Events are not currently supported on UNIX/Linux platforms.

38 Future Enhancements Internal ProvideX Events on UNIX/Linux platforms. Additional triggers in ProvideX as required or requested.

39 End of Presentation THANK YOU!

Object Oriented Programming

Object Oriented Programming Object Oriented Programming (OOP) is a different approach to application development. In OOP, an Object is an entity that consists of properties and functions. Properties are the data portion of an Object,

More information

Object Oriented Programming

Object Oriented Programming Partners in Success Object Oriented Programming Object Oriented ProvideX or OOPs We've Done it Again Presented by: Mike King Copyright 2002 Best Software Canada Ltd. All rights reserved. No part of this

More information

02 Features of C#, Part 1. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211

02 Features of C#, Part 1. Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 02 Features of C#, Part 1 Jerry Nixon Microsoft Developer Evangelist Daren May President & Co-founder, Crank211 Module Overview Constructing Complex Types Object Interfaces and Inheritance Generics Constructing

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe

OBJECT ORIENTED PROGRAMMING USING C++ CSCI Object Oriented Analysis and Design By Manali Torpe OBJECT ORIENTED PROGRAMMING USING C++ CSCI 5448- Object Oriented Analysis and Design By Manali Torpe Fundamentals of OOP Class Object Encapsulation Abstraction Inheritance Polymorphism Reusability C++

More information

XII CS(EM) Minimum Question List N.KANNAN M.Sc., B.Ed COMPUTER SCIENCE IMPORTANT QUESTION (TWO MARKS) CHAPTER 1 TO 5 ( STAR OFFICE WRITER)

XII CS(EM) Minimum Question List N.KANNAN M.Sc., B.Ed COMPUTER SCIENCE IMPORTANT QUESTION (TWO MARKS) CHAPTER 1 TO 5 ( STAR OFFICE WRITER) COMPUTER SCIENCE IMPORTANT QUESTION (TWO MARKS) CHAPTER 1 TO 5 ( STAR OFFICE WRITER) 1. Selecting text with keyboard 2. Differ copying and moving 3. Text Editing 4. Creating a bulleted list 5. Creating

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 1. What is object-oriented programming (OOP)? OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. An object

More information

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In-

More information

OOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity.

OOPS Viva Questions. Object is termed as an instance of a class, and it has its own state, behavior and identity. OOPS Viva Questions 1. What is OOPS? OOPS is abbreviated as Object Oriented Programming system in which programs are considered as a collection of objects. Each object is nothing but an instance of a class.

More information

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0

More information

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide

AP Computer Science Chapter 10 Implementing and Using Classes Study Guide AP Computer Science Chapter 10 Implementing and Using Classes Study Guide 1. A class that uses a given class X is called a client of X. 2. Private features of a class can be directly accessed only within

More information

Microsoft Visual Basic 2005: Reloaded

Microsoft Visual Basic 2005: Reloaded Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 10 Creating Classes and Objects Objectives After studying this chapter, you should be able to: Define a class Instantiate an object from a class

More information

C++ Important Questions with Answers

C++ Important Questions with Answers 1. Name the operators that cannot be overloaded. sizeof,.,.*,.->, ::,? 2. What is inheritance? Inheritance is property such that a parent (or super) class passes the characteristics of itself to children

More information

Object-Oriented Programming

Object-Oriented Programming iuliana@cs.ubbcluj.ro Babes-Bolyai University 2018 1 / 40 Overview 1 2 3 4 5 2 / 40 Primary OOP features ion: separating an object s specification from its implementation. Encapsulation: grouping related

More information

PxPlus Past and Present

PxPlus Past and Present PxPlus Past and Present Michael F. King President PVX Plus Technologies Original developer of ProvideX and PxPlus ProvideX versus PxPlus Version 9 last ProvideX Support for ProvideX will continue as long

More information

Debugging Techniques

Debugging Techniques Partners in Success Debugging Techniques Using ProvideX Debugging Tools Presented by: Brett Condy Copyright 2002 Best Software Canada Ltd. All rights reserved. No part of this publication may be reproduced,

More information

Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including:

Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Oops known as object-oriented programming language system is the main feature of C# which further support the major features of oops including: Abstraction Encapsulation Inheritance and Polymorphism Object-Oriented

More information

C++ & Object Oriented Programming Concepts The procedural programming is the standard approach used in many traditional computer languages such as BASIC, C, FORTRAN and PASCAL. The procedural programming

More information

PROGRAMMING LANGUAGE 2

PROGRAMMING LANGUAGE 2 31/10/2013 Ebtsam Abd elhakam 1 PROGRAMMING LANGUAGE 2 Java lecture (7) Inheritance 31/10/2013 Ebtsam Abd elhakam 2 Inheritance Inheritance is one of the cornerstones of object-oriented programming. It

More information

Object oriented programming. Encapsulation. Polymorphism. Inheritance OOP

Object oriented programming. Encapsulation. Polymorphism. Inheritance OOP OOP Object oriented programming Polymorphism Encapsulation Inheritance OOP Class concepts Classes can contain: Constants Delegates Events Fields Constructors Destructors Properties Methods Nested classes

More information

Introduction to Programming Using Java (98-388)

Introduction to Programming Using Java (98-388) Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;

More information

Computer Science (330)

Computer Science (330) Lesson 1 Anatomy of a Digital Computer Sr. Secondary Course (Syllabus) Computer Science (330) 1.3 Functions and Components of a Computer 1.3.1 How the CPU and Memory work 1.4 Input devices 1.4.1 Keyboard

More information

Inheritance and Polymorphism

Inheritance and Polymorphism Object Oriented Programming Designed and Presented by Dr. Ayman Elshenawy Elsefy Dept. of Systems & Computer Eng.. Al-Azhar University Website: eaymanelshenawy.wordpress.com Email : eaymanelshenawy@azhar.edu.eg

More information

ProvideX. NOMADS Smart Lists. Introduction. Defining Smart Lists. Formatting Smart Lists. Using Smart Lists Outside of NOMADS. Creating a Smart File

ProvideX. NOMADS Smart Lists. Introduction. Defining Smart Lists. Formatting Smart Lists. Using Smart Lists Outside of NOMADS. Creating a Smart File ProvideX Version 5.10 NOMADS Smart Lists Introduction Defining Smart Lists Formatting Smart Lists Using Smart Lists Outside of NOMADS Creating a Smart File ProvideX is a trademark of Best Software Canada

More information

Data Structures using OOP C++ Lecture 3

Data Structures using OOP C++ Lecture 3 References: th 1. E Balagurusamy, Object Oriented Programming with C++, 4 edition, McGraw-Hill 2008. 2. Robert L. Kruse and Alexander J. Ryba, Data Structures and Program Design in C++, Prentice-Hall 2000.

More information

Visual Programming 1. What is Visual Basic? 2. What are different Editions available in VB? 3. List the various features of VB

Visual Programming 1. What is Visual Basic? 2. What are different Editions available in VB? 3. List the various features of VB Visual Programming 1. What is Visual Basic? Visual Basic is a powerful application development toolkit developed by John Kemeny and Thomas Kurtz. It is a Microsoft Windows Programming language. Visual

More information

POLYMORPHISM 2 PART. Shared Interface. Discussions. Abstract Base Classes. Abstract Base Classes and Pure Virtual Methods EXAMPLE

POLYMORPHISM 2 PART. Shared Interface. Discussions. Abstract Base Classes. Abstract Base Classes and Pure Virtual Methods EXAMPLE Abstract Base Classes POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors class B { // base class virtual void m( ) =0; // pure virtual function class D1 : public

More information

POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors

POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors POLYMORPHISM 2 PART Abstract Classes Static and Dynamic Casting Common Programming Errors CSC 330 OO Software Design 1 Abstract Base Classes class B { // base class virtual void m( ) =0; // pure virtual

More information

Paytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value

Paytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value Paytm Programming Sample paper: 1) A copy constructor is called a. when an object is returned by value b. when an object is passed by value as an argument c. when compiler generates a temporary object

More information

Ch02. True/False Indicate whether the statement is true or false.

Ch02. True/False Indicate whether the statement is true or false. Ch02 True/False Indicate whether the statement is true or false. 1. The base class inherits all its properties from the derived class. 2. Inheritance is an is-a relationship. 3. In single inheritance,

More information

Sri Vidya College of Engineering & Technology

Sri Vidya College of Engineering & Technology UNIT I INTRODUCTION TO OOP AND FUNDAMENTALS OF JAVA 1. Define OOP. Part A Object-Oriented Programming (OOP) is a methodology or paradigm to design a program using classes and objects. It simplifies the

More information

Object Oriented Programming with c++ Question Bank

Object Oriented Programming with c++ Question Bank Object Oriented Programming with c++ Question Bank UNIT-1: Introduction to C++ 1. Describe the following characteristics of OOP. i Encapsulation ii Polymorphism, iii Inheritance 2. Discuss function prototyping,

More information

Introduction to OOP. Procedural Programming sequence of statements to solve a problem.

Introduction to OOP. Procedural Programming sequence of statements to solve a problem. Introduction to OOP C++ - hybrid language improved and extended standard C (procedural language) by adding constructs and syntax for use as an object oriented language. Object-Oriented and Procedural Programming

More information

U:\Book\Book_09.doc Multilanguage Object Programming

U:\Book\Book_09.doc Multilanguage Object Programming 1 Book 9 Multilanguage Object Programming U:\Book\Book_09.doc Multilanguage Object Programming 5 What to Read in This Part Multilanguage Object Programming... 1 1 Programming Objects In Java, VB and ABAP...

More information

DOT NET Syllabus (6 Months)

DOT NET Syllabus (6 Months) DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL

More information

Module 10 Inheritance, Virtual Functions, and Polymorphism

Module 10 Inheritance, Virtual Functions, and Polymorphism Module 10 Inheritance, Virtual Functions, and Polymorphism Table of Contents CRITICAL SKILL 10.1: Inheritance Fundamentals... 2 CRITICAL SKILL 10.2: Base Class Access Control... 7 CRITICAL SKILL 10.3:

More information

Object Oriented Programming. Solved MCQs - Part 2

Object Oriented Programming. Solved MCQs - Part 2 Object Oriented Programming Solved MCQs - Part 2 Object Oriented Programming Solved MCQs - Part 2 It is possible to declare as a friend A member function A global function A class All of the above What

More information

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET VB.NET Module 1: Getting Started This module introduces Visual Basic.NET and explains how it fits into the.net platform. It explains how to use the programming tools in Microsoft Visual Studio.NET and

More information

KLiC C++ Programming. (KLiC Certificate in C++ Programming)

KLiC C++ Programming. (KLiC Certificate in C++ Programming) KLiC C++ Programming (KLiC Certificate in C++ Programming) Turbo C Skills: Pre-requisite Knowledge and Skills, Inspire with C Programming, Checklist for Installation, The Programming Languages, The main

More information

ProvideX - Beta Release Version April 1998

ProvideX - Beta Release Version April 1998 Formatted list boxes: ProvideX - Beta Release Version 4.02 - April 1998 List_boxes can now contain format information which is used to describe columnar data and their respective formatting rules. In addition,

More information

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program

More information

Object Oriented Programming. Assistant Lecture Omar Al Khayat 2 nd Year

Object Oriented Programming. Assistant Lecture Omar Al Khayat 2 nd Year Object Oriented Programming Assistant Lecture Omar Al Khayat 2 nd Year Syllabus Overview of C++ Program Principles of object oriented programming including classes Introduction to Object-Oriented Paradigm:Structures

More information

Department of Computer science and Engineering Sub. Name: Object oriented programming and data structures Sub. Code: EC6301 Sem/Class: III/II-ECE Staff name: M.Kavipriya Two Mark Questions UNIT-1 1. List

More information

Object-Oriented Programming (OOP) Fundamental Principles of OOP

Object-Oriented Programming (OOP) Fundamental Principles of OOP Object-Oriented Programming (OOP) O b j e c t O r i e n t e d P r o g r a m m i n g 1 Object-oriented programming is the successor of procedural programming. The problem with procedural programming is

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

Interview Questions of C++

Interview Questions of C++ Interview Questions of C++ Q-1 What is the full form of OOPS? Ans: Object Oriented Programming System. Q-2 What is a class? Ans: Class is a blue print which reflects the entities attributes and actions.

More information

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6)

DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) Technology & Information Management Instructor: Michael Kremer, Ph.D. Database Program: Microsoft Access Series DATABASE AUTOMATION USING VBA (ADVANCED MICROSOFT ACCESS, X405.6) AGENDA 3. Executing VBA

More information

ProvideX. Embedded IO Procedures

ProvideX. Embedded IO Procedures ProvideX Embedded IO Procedures Introduction 1 Implementation 1 Pre-Defined Entry Points 2 Execution Environment 3 Changing Return Values 4 Possible Applications 5 Sample Code 5 ProvideX is a trademark

More information

CS304 Object Oriented Programming Final Term

CS304 Object Oriented Programming Final Term 1. Which of the following is the way to extract common behaviour and attributes from the given classes and make a separate class of those common behaviours and attributes? Generalization (pg 29) Sub-typing

More information

CIS Intro to Programming in C#

CIS Intro to Programming in C# OOP: Creating Classes and Using a Business Tier McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Understand how a three-tier application separates the user interface from the business

More information

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p. Preface p. xix Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p. 5 Java Applets and Applications p. 5

More information

Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen

Using JavX Running Applications in a Web Browser or WinCE Device. Presented by: Jarett Smith Eric Vanpaeschen Using JavX Running Applications in a Web Browser or WinCE Device Presented by: Jarett Smith Eric Vanpaeschen Presentation Outline Rich Internet Applications (RIA) Examples of Java Applets ProvideX JavX

More information

Chapter 12. OOP: Creating Object-Oriented Programs The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill

Chapter 12. OOP: Creating Object-Oriented Programs The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Chapter 12 OOP: Creating Object-Oriented Programs McGraw-Hill 2010 The McGraw-Hill Companies, Inc. All rights reserved. Chapter Objectives - 1 Use object-oriented terminology correctly Create a two-tier

More information

Syllabus of C++ Software for Hands-on Learning: This course offers the following modules: Module 1: Getting Started with C++ Programming

Syllabus of C++ Software for Hands-on Learning: This course offers the following modules: Module 1: Getting Started with C++ Programming Syllabus of C++ Software for Hands-on Learning: Borland C++ 4.5 Turbo C ++ V 3.0 This course offers the following modules: Module 1: Getting Started with C++ Programming Audience for this Course Job Roles

More information

Advanced Programming Using Visual Basic 2008

Advanced Programming Using Visual Basic 2008 Building Multitier Programs with Classes Advanced Programming Using Visual Basic 2008 The OOP Development Approach OOP = Object Oriented Programming Large production projects are created by teams Each

More information

Chapter 12. OOP: Creating Object- Oriented Programs. McGraw-Hill. Copyright 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved.

Chapter 12. OOP: Creating Object- Oriented Programs. McGraw-Hill. Copyright 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. Chapter 12 OOP: Creating Object- Oriented Programs McGraw-Hill Copyright 2011 by The McGraw-Hill Companies, Inc. All Rights Reserved. Objectives (1 of 2) Use object-oriented terminology correctly. Create

More information

Using OLE in SAS/AF Software

Using OLE in SAS/AF Software 187 CHAPTER 9 Using OLE in SAS/AF Software About OLE 188 SAS/AF Catalog Compatibility 188 Inserting an OLE Object in a FRAME Entry 188 Inserting an OLE Object 189 Pasting an OLE Object from the Clipboard

More information

5/23/2015. Core Java Syllabus. VikRam ShaRma

5/23/2015. Core Java Syllabus. VikRam ShaRma 5/23/2015 Core Java Syllabus VikRam ShaRma Basic Concepts of Core Java 1 Introduction to Java 1.1 Need of java i.e. History 1.2 What is java? 1.3 Java Buzzwords 1.4 JDK JRE JVM JIT - Java Compiler 1.5

More information

Downloaded from

Downloaded from Unit I Chapter -1 PROGRAMMING IN C++ Review: C++ covered in C++ Q1. What are the limitations of Procedural Programming? Ans. Limitation of Procedural Programming Paradigm 1. Emphasis on algorithm rather

More information

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course Module 1: Getting Started This module introduces Visual Basic.NET and explains how it fits into the.net platform. It explains how to use the programming tools in Microsoft Visual Studio.NET and provides

More information

Chapter 6 Introduction to Defining Classes

Chapter 6 Introduction to Defining Classes Introduction to Defining Classes Fundamentals of Java: AP Computer Science Essentials, 4th Edition 1 Objectives Design and implement a simple class from user requirements. Organize a program in terms of

More information

Data Structures (list, dictionary, tuples, sets, strings)

Data Structures (list, dictionary, tuples, sets, strings) Data Structures (list, dictionary, tuples, sets, strings) Lists are enclosed in brackets: l = [1, 2, "a"] (access by index, is mutable sequence) Tuples are enclosed in parentheses: t = (1, 2, "a") (access

More information

Java. Classes 3/3/2014. Summary: Chapters 1 to 10. Java (2)

Java. Classes 3/3/2014. Summary: Chapters 1 to 10. Java (2) Summary: Chapters 1 to 10 Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University of Texas at Arlington, Arlington, TX 76019 Email: sharma@cse.uta.edu

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Weiss Chapter 1 terminology (parenthesized numbers are page numbers) Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement

More information

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci)

Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Object-Oriented Concepts and Principles (Adapted from Dr. Osman Balci) Sung Hee Park Department of Mathematics and Computer Science Virginia State University September 18, 2012 The Object-Oriented Paradigm

More information

SRE VIDYASAAGAR HIGHER SECONDARY SCHOOL. TWO MARKS

SRE VIDYASAAGAR HIGHER SECONDARY SCHOOL. TWO MARKS SRE VIDYASAAGAR HIGHER SECONDARY SCHOOL. COMPUTER SCIENCE - STAR OFFICE TWO MARKS LESSON I 1. What is meant by text editing? 2. How to work with multiple documents in StarOffice Writer? 3. What is the

More information

Preface to the Second Edition Preface to the First Edition Brief Contents Introduction to C++ p. 1 A Review of Structures p.

Preface to the Second Edition Preface to the First Edition Brief Contents Introduction to C++ p. 1 A Review of Structures p. Preface to the Second Edition p. iii Preface to the First Edition p. vi Brief Contents p. ix Introduction to C++ p. 1 A Review of Structures p. 1 The Need for Structures p. 1 Creating a New Data Type Using

More information

Standard. Number of Correlations

Standard. Number of Correlations Computer Science 2016 This assessment contains 80 items, but only 80 are used at one time. Programming and Software Development Number of Correlations Standard Type Standard 2 Duty 1) CONTENT STANDARD

More information

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub Lebanese University Faculty of Science Computer Science BS Degree Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub 2 Crash Course in JAVA Classes A Java

More information

Lecture 18 Tao Wang 1

Lecture 18 Tao Wang 1 Lecture 18 Tao Wang 1 Abstract Data Types in C++ (Classes) A procedural program consists of one or more algorithms that have been written in computerreadable language Input and display of program output

More information

Java: Classes. An instance of a class is an object based on the class. Creation of an instance from a class is called instantiation.

Java: Classes. An instance of a class is an object based on the class. Creation of an instance from a class is called instantiation. Java: Classes Introduction A class defines the abstract characteristics of a thing (object), including its attributes and what it can do. Every Java program is composed of at least one class. From a programming

More information

MaanavaN.Com CS1203 OBJECT ORIENTED PROGRAMMING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

MaanavaN.Com CS1203 OBJECT ORIENTED PROGRAMMING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SUB CODE / SUBJECT: CS1203 / Object oriented programming YEAR / SEM: II / III QUESTION BANK UNIT I FUNDAMENTALS PART-A (2 MARKS) 1. What is Object Oriented

More information

JAVA: A Primer. By: Amrita Rajagopal

JAVA: A Primer. By: Amrita Rajagopal JAVA: A Primer By: Amrita Rajagopal 1 Some facts about JAVA JAVA is an Object Oriented Programming language (OOP) Everything in Java is an object application-- a Java program that executes independently

More information

CS 11 java track: lecture 3

CS 11 java track: lecture 3 CS 11 java track: lecture 3 This week: documentation (javadoc) exception handling more on object-oriented programming (OOP) inheritance and polymorphism abstract classes and interfaces graphical user interfaces

More information

M. K. Institute Of Computer Studies, Bharuch SYBCA SEM IV VB.NET (Question Bank)

M. K. Institute Of Computer Studies, Bharuch SYBCA SEM IV VB.NET (Question Bank) Unit-1 (overview of Microsoft.net framework) 1. What is CLR? What is its use? (2 times) 2 2. What is garbage collection? 2 3. Explain MSIL 2 4. Explain CTS in detail 2 5. List the extension of files available

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

ProvideX NOMADS Reference ProvideX Ver. 4.20

ProvideX NOMADS Reference ProvideX Ver. 4.20 Welcome to the ProvideX NOMADS Reference ProvideX Ver. 4.20 Introduction: NOMADS is Sage Canada s acronym for the ProvideX Non-Procedural Object Module Application Development System which is bundled with

More information

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor. 3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.

More information

CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE

CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE CS 6456 OBJCET ORIENTED PROGRAMMING IV SEMESTER/EEE PART A UNIT I 1. Differentiate object oriented programming from procedure oriented programming. 2. Define abstraction and encapsulation. 3. Differentiate

More information

CGS 2405 Advanced Programming with C++ Course Justification

CGS 2405 Advanced Programming with C++ Course Justification Course Justification This course is the second C++ computer programming course in the Computer Science Associate in Arts degree program. This course is required for an Associate in Arts Computer Science

More information

C++ Inheritance and Encapsulation

C++ Inheritance and Encapsulation C++ Inheritance and Encapsulation Private and Protected members Inheritance Type Public Inheritance Private Inheritance Protected Inheritance Special method inheritance 1 Private Members Private members

More information

Chapter 11 Object and Object- Relational Databases

Chapter 11 Object and Object- Relational Databases Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational

More information

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET 2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET Introduction Elements of this syllabus are subject to change. This five-day instructor-led course provides students with the knowledge

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 05: Inheritance and Interfaces MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Inheritance and Interfaces 2 Introduction Inheritance and Class Hierarchy Polymorphism Abstract Classes

More information

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance

Contents. I. Classes, Superclasses, and Subclasses. Topic 04 - Inheritance Contents Topic 04 - Inheritance I. Classes, Superclasses, and Subclasses - Inheritance Hierarchies Controlling Access to Members (public, no modifier, private, protected) Calling constructors of superclass

More information

P0434 Portable Interrupt Library SG13 HMI

P0434 Portable Interrupt Library SG13 HMI 2016 P0434 Portable Interrupt Library SG13 HMI Document Number: P0434 Date: 10/18/2016 Reply-To: brett.searles@attobotics.net AUTHOR: BRETT SEARLES Table of Contents Introduction Motivation and Scope Scope:

More information

Inheritance. Benefits of Java s Inheritance. 1. Reusability of code 2. Code Sharing 3. Consistency in using an interface. Classes

Inheritance. Benefits of Java s Inheritance. 1. Reusability of code 2. Code Sharing 3. Consistency in using an interface. Classes Inheritance Inheritance is the mechanism of deriving new class from old one, old class is knows as superclass and new class is known as subclass. The subclass inherits all of its instances variables and

More information

9/21/2010. Based on Chapter 2 in Advanced Programming Using Visual Basic.NET by Bradley and Millspaugh

9/21/2010. Based on Chapter 2 in Advanced Programming Using Visual Basic.NET by Bradley and Millspaugh Building Multitier Programs with Classes Based on Chapter 2 in Advanced Programming Using Visual Basic.NET by Bradley and Millspaugh The Object-Oriented Oriented (OOP) Development Approach Large production

More information

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1

CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 P a g e 1 CS506 Web Programming and Development Solved Subjective Questions With Reference For Final Term Lecture No 1 Q1 Describe some Characteristics/Advantages of Java Language? (P#12, 13, 14) 1. Java

More information

Index COPYRIGHTED MATERIAL

Index COPYRIGHTED MATERIAL Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes

More information

EnableBasic. The Enable Basic language. Modified by Admin on Sep 13, Parent page: Scripting Languages

EnableBasic. The Enable Basic language. Modified by Admin on Sep 13, Parent page: Scripting Languages EnableBasic Old Content - visit altium.com/documentation Modified by Admin on Sep 13, 2017 Parent page: Scripting Languages This Enable Basic Reference provides an overview of the structure of scripts

More information

VB.NET Web : Phone : INTRODUCTION TO NET FRAME WORK

VB.NET Web : Phone : INTRODUCTION TO NET FRAME WORK Web :- Email :- info@aceit.in Phone :- +91 801 803 3055 VB.NET INTRODUCTION TO NET FRAME WORK Basic package for net frame work Structure and basic implementation Advantages Compare with other object oriented

More information

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...

More information

Chapter 12: How to Create and Use Classes

Chapter 12: How to Create and Use Classes CIS 260 C# Chapter 12: How to Create and Use Classes 1. An Introduction to Classes 1.1. How classes can be used to structure an application A class is a template to define objects with their properties

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information

CLASSES AND OBJECTS IN JAVA

CLASSES AND OBJECTS IN JAVA Lesson 8 CLASSES AND OBJECTS IN JAVA (1) Which of the following defines attributes and methods? (a) Class (b) Object (c) Function (d) Variable (2) Which of the following keyword is used to declare Class

More information

Decaf Language Reference Manual

Decaf Language Reference Manual Decaf Language Reference Manual C. R. Ramakrishnan Department of Computer Science SUNY at Stony Brook Stony Brook, NY 11794-4400 cram@cs.stonybrook.edu February 12, 2012 Decaf is a small object oriented

More information

15CS45 : OBJECT ORIENTED CONCEPTS

15CS45 : OBJECT ORIENTED CONCEPTS 15CS45 : OBJECT ORIENTED CONCEPTS QUESTION BANK: What do you know about Java? What are the supported platforms by Java Programming Language? List any five features of Java? Why is Java Architectural Neutral?

More information