Basics ANSI C

Concepts

  • Preprocessor, compiler, linker
  • Form of a C program
  • Computing and data types

Functions

  • Operators and expressions
  • Variables and assignments
  • Control structures
  • Functions and parameters
  • Files and access

Data structures

  • Arrays and strings
  • Constants and storage classes
  • Pointer and addresses
  • Structures and type definitions
  • Recursive structures


Change from C to C++

Language extensions

  • Use of streams for input and output
  • C++ comments
  • Default arguments to functions
  • Variable declarations
  • Scope resolution operator
  • Inline functions
  • CONST declarations
  • Enumerated data types
  • Overloaded functions
  • Link specifier
  • Reference parameters

Object Orientation

  • Data types and classes
  • Constructors and destructors
  • Encapsulation
  • Private, proptected and public elements
  • Data elements
  • Member functions
  • New and delete operators
  • THIS pointer
  • Assignment and initialization
  • Static classes
  • Friend classes
  • Single inheritance
  • Multiple inheritance
  • Virtual functions
  • Polymorphism
  • Dynamic binding
  • Overloaded operators


Visual C++ under Windows NT

1. Day morning:

  • Basic structure of Windows programs
  • Create a console application HELLO.CPP
  • Porting an old DOS application to a console application
  • Differences between Windows API and the MFC
  • Explanation of terms such as SDI, MDI, OLE, ODBC

1. Day afternoon:

  • Creating your first application with the AppWizard
  • Modifying Resources: Dialogs and Icons
  • Inserting message handlers: OnLButtonDown /-Up
  • Functions MessageBeep and MessageBox

2. Day morning:

  • CString objects, loading from resources
  • Filling of a MessageBox using CString::LoadString(...)
  • Using WM_MOUSE... Messages and Cpoint
  • CClientDC, Invalidate and the function OnDraw
  • Copying strings with sprintf
  • Drawing in the text with CDC::TextOut

2. Day afternoon:

  • The functions Invalidate, Set-/ReleaseCapture
  • m_ptMaus within the view object
  • Data elements in the document object
  • Data element m_ptAnf and access functions SetAnf(...) and GetAnf()
  • Use of the data items in the function OnDraw

3. Day morning:

  • The function Serialize and the CArchive class
  • Functionality of SetModifiedFlag
  • m_strVersion for version control in the document
  • AfxMessageBox for messages without a window
  • Reading and converting of different file versions

3. Day afternoon:

  • Creation and handling of new menu items
  • Creation of toolbar buttons and keyboard shortcuts
  • Exercises

4. Day morning:

  • Create, manage, and use new dialogs
  • Member variables in dialogs and the function OnUpdate
  • DDX and DDV mechanism
  • Update the user interface with UpdateCmdUI

4. Day afternoon:

  • UpdateCmdUI for menus, toolbars, and accelerators
  • Insert and manage Tooltips/QuickInfo
  • Creating and managing of CPen objects
  • Use of CPen in OnDraw
  • Dialogues of COMMDLG.dll exemplified by CColorDialog

5. Day morning:

  • Creation and use of CBrush objects
  • Filling of CBrush using a dialogue
  • List boxes, DropDown lists and default values
  • Radio buttons, checkboxes and data transfer
  • Integration of these informations in OnDraw

5. Day afternoon:

  • Basics of Open DataBase Connectivity (ODBC) in the MFC
  • Creation of a sample program for database access
  • Set filter and sort
  • Using the MFC ODBC parameters for initialization