CPIde - Component Pascal IDE

Version 3.2.0
Copyright © 2006-2010 CFB Software
Portions Copyright © 1998-2007 Queensland University of Technology (QUT)
Last Updated 12 Dec 2010

E-Mail:   info@cfbsoftware.com
Website:   http://www.cfbsoftware.com/cpide

Contents

  1. Introduction
  2. Component Pascal Examples
  3. System Requirements
  4. Installation
  5. List of Files
  6. Update History
  7. Licence Agreement
  8. Ordering Information

1. Introduction

CPIde is a lightweight integrated development environment for Windows which enables you to write software for the Microsoft Windows .NET platform.  The programming language supported by CPIde is Component Pascal. If you don't have Visual Studio .NET, or find it too cumbersome to use, but don't like the idea of using command-line compilers with DOS batch files etc. CPIde is a useful alternative .NET development environment.

The Component Pascal Language

Component Pascal (CP), a small superset of Oberon-2, is a general-purpose, procedural and object-oriented, programming language. Oberon-2 is a refinement of Modula-2 which, in turn, was an improved version of Pascal. Programmers with experience of any of these languages will find many aspects of Component Pascal very familiar.

Component Pascal was developed by Oberon microsystems, Inc. who distribute a Win32 implementation of the language as part of the open-source BlackBox Component Builder.

The implementation of Component Pascal used by CPIde is the version of Gardens Point Component Pascal (GPCP) which targets the Microsoft .NET Framework. It can be used to develop applications to run on the Windows desktop and on websites.

CPIde Features

General features:
Component Pascal-related features:
Editing features: 

Back to Contents
 

2. Component Pascal Examples

A number of simple example programs are installed in your Documents\CPIde Projects\Examples directory when you install CPIde. These are primarily intended to help newcomers to Component Pascal to get started, but they should also be useful if you have limited experience developing software for the .NET framework.

The Console Applications display their output in a separate pane in the main CPIde Window where the compilation error messages are also displayed. The WinForms programs are executed as a separate Windows application.

Both types of programs can be run independently of CPIde, if preferred, without any modifications. The source files included are:

Simple Console Output Examples
 
Evens.cp FOR Loop
Display the even numbers from 2 to 10.
 
Out.cp Console Output Functions
Basic output library module used by some of the following programs. Useful if porting simple examples from an Oberon environment.
 
CountChars1.cp WHILE Loop
Count, one by one, the number of characters in a string array.
 
CountChars2.cp ARRAY OF CHAR / Strings
Count the number of characters in a string using the standard Component Pascal LEN function.
 
CountChars3.cp IF THEN ELSE Statement
Count the number of letters and digits in a string using IF THEN ELSE statements.
 
CountChars4.cp IF THEN ELSIF Statement
Count the number of occurrences of different categories of characters in a string using IF THEN ELSIF statements.
 
CountChars5.cp CASE Statement
Count the number of occurrences of different categories of characters in a string using a CASE statement.
 
CountChars6.cp Performance Timing
Count the number of occurrences of different categories of characters in a huge string (1 million characters) using two different techniques. One uses a CASE statement and the other uses IF THEN ELSE statements. To compare the relative efficiencies, the processing time of each technique is measured using .NET timing procedures which have microsecond resolution.
 
FileCountChars.cp Text File Input
Count the number of occurrences of different categories of characters in a text file using a StreamReader, Command-line arguments and a CASE statement.
 
CopyText.cp Text File IO
When you run the program it creates a duplicate (called Copy of CopyText.cp) of its source.  Uses StreamReader and StreamWriter functions to copy an entire text file to / from a string.
 
SplitText.cp
SplitLines.txt
Text File IO
Uses StreamReader and StreamWriter functions to read the contents of the text file SplitText.txt line by line, creating a set of subfiles SplitLines.001, SplitLines.002 etc. each with a maximum of 100 lines.
 
MergeText.cp Text File IO
Uses StreamReader and StreamWriter text file IO functions to join the set of files SplitLines.001, SplitLines.002 etc. into a single file MergeLines.txt
 
EnvironmentVars.cp Environment Variables
Display the contents of the system's PATH and CPSYM environment variables.
 
Registry.cp Windows Registry
Display the current values of some of the CPIde registry keys read from the Windows Registry.
 
Directory.cp Directory Listing
Display the list of files and their attributes in the current directory. Uses the SET data type to conveniently process System.IO.AttributeFlags.
 

WinFormsExamples
 
BouncingBall.cp Simple Animated Graphics
A ball bouncing off the borders of a resizable form.
 
BouncingBalls.cp Simple Animated Graphics
Two independent balls bouncing off the walls of a resizable form. It is designed to be easily modified to add extra balls of different size, colour and speed.
 
Graphics.cp Graphic Shapes, Text and Lines
Draws squares, circles, text with different fonts and lines of different colours on a .NET PictureBox.
 
ImageFromFile.cp Display an Image
Enter the filename of a jpg or bmp format file when prompted by a standard File Open dialog. The image is displayed on a resizable form.
 
MouseMove.cp Event Handling
Move the mouse over the resizable form. The Mouse Move events are registered and the corresponding mouse co-ordinates are displayed in the Status Bar.
 
MenuStrip.cp MenuStrip
Select a menu item and the menu caption is displayed on the StatusBar. Includes a function to strip non-alphabetic characters from a string using a StringBuilder.
 
SecondsTimer.cp Seconds Timer
A minutes and seconds timer.  Uses Timer control, Timer.Tick event and DateTime data type.
 
Countdown.cp Countdown Timer
A minutes and seconds countdown timer.  Uses NumericUpDown and Timer controls, Form.Activated and Timer.Tick events and DateTime data type.
 
Mailer.cp
 
Send an Email
Functions of the System.Net.Mail assembly are used to create and send emails.  Uses a MenuStrip, a Panel, Labels, TextBoxes and a RichTextBox control.
 
Birthdays.cp
birthdays.tsv
Birthday Reminder
Read a list of birthdays from a tab-separated (tsv) text file and display it in a DataGridView component. The fields, current age and date of next birthday, are read-only. They are automatically calculated from the date of birth. The display is sorted by 'Next Birthday, Last Name' so that, by default, the next occurring birthday is at the top of the list.
 

Library Module Examples
 
NetLibs.cp Interface Definitions for Commonly Used .NET Modules
Open this file in the Component Pascal IDE (CPIde version 2.0 or later) then double-click on the name of one of the listed imported modules in the CPI Imports Window to view the definition of the module's interface.
 
Maths.cp
TestMaths.cp
 
Additional Maths Functions
Sum, Mean, Variance, Standard Deviation and Random functions are implemented.
 
Find.cp
TestFind.cp
 
A Non-modal FindText dialog
Uses the following Windows Forms controls: CheckBoxes, Buttons, a Label, and a ComboBox. A multi-line TextBox is used to log any user actions.
 

Back to Contents
 

3. System Requirements

CPIde is supported on 32-bit or 64-bit versions of Microsoft Windows 7, Windows Vista and Windows XP


All systems:



Windows XP systems only:

If you are using Windows XP and do not yet have the .NET Framework version 2.0 installed on your system you need to download it from Microsoft's website:

http://msdn2.microsoft.com/en-us/netframework/aa731542.aspx


Back to Contents

4. Installation

CPIde is distributed as a self-installing setup file:

Install CPIde as follows:
  1. Login to your system using an account with Administrator privileges that you will use when running CPIde.
     
  2. If you are using Windows XP make sure that the prerequisite software (see System Requirements above) is installed on your system.
  3. If you are reinstalling CPIde make sure that you have backup copies of any files in the Documents\CPIde\Examples and Documents\CPIde\Lib folders that you want to keep as these folders are sent to the recycle bin and then recreated.
     
  4. Exit all Windows programs.
  5. Run the CPIde setup file
     
  6. Press the Next button, and follow the prompts.
     
  7. When the installation program has completed, run CPIde by selecting it from the Windows Start menu.
     

Back to Contents

5. List of Files

The CPIde package installation program is a single file called e.g. CPISetup.exe 

After running CPISetup the following files are created in the directory that you specified:

CPIde.exe   Main program
CPIde.chm   Help file
ReadMe.htm   This file
UnistallCPIde.exe   Uninstall program
UnistallCPIde.log   Uninstall support file

A subdirectory called CPIde/Examples is created in your Windows Documents directory. This contains the example Component Pascal source files supplied with CPIde.

Back to Contents
 

6. Update History

v3.2.0

First public release of version 3.2 - see the What's New file for a summary of the new features.

v3.1.1

Fixed 'file not found' error when creating a New file in the Evaluation Edition.

Updated copyright date on About screen.

v3.1.0

First public release of version 3.1 - see the What's New file for a summary of the new features.

Back to Contents
 

7. License Agreement

You should carefully read the following terms and conditions before using this software. Your use of this software indicates your acceptance of this license agreement and disclaimer.

You may use the Evaluation Edition for a period of up to 30 days. There are no restrictions to the number of computers on which the Evaluation Edition of CPIde may be installed, or the number of people that can use it at any one time.
A Personal Edition of CPIde may be installed on one or more computers but may only be used by the single person in whose name it is registered. It is licensed for non-commercial / non-profit use only.
A Professional Edition of CPIde may be installed on one or more computers but may only be used by the single person in whose name it is registered. It is licensed for commercial use.

DISCLAIMER

CPIde is used entirely at the risk of the user. Although great care has been taken to eliminate defects during the development of CPIde, it is not claimed to be fault-free. No claims are made regarding its correctness, reliability or fitness for any particular purpose. The Author shall not be liable for errors contained herein or for incidental or consequential damages, loss of data or personal injury in connection with furnishing, performance, or use of this material.

Back to Contents

8. Ordering Information

8.1 Free Evaluation Edition - No expiry date

You may use the evaluation edition of CPIde for a period of up to 30 days to allow you to try it before you buy it. It includes all of the features of the Personal and Professional Editions of the IDE.

You are free to distribute the evaluation edition. It may be given away to anyone, included on CD-ROM libraries, uploaded to WWW pages, ftp sites and bulletin boards, etc. as long as it is distributed in its complete original form.
 

8.2 Personal and Professional Editions

The Personal Edition and Professional Editions can be used for an unlimited time. Users of these editions are eligible for free upgrades and support.  For the latest details go to the CPIde website

On-line credit card orders for the Personal and Professional Editions are automatically processed in realtime. When your credit card transaction has been successfully processed an email will be sent to you by the end of the next working day with details of how to download and install the full version of the software.

For details of prices and alternative payment options and to place an order click on Order CPIde on-line or go to the CPIde website at:

www.cfbsoftware.com/cpide

and then select Order from the menu. Follow the instructions there.

Note: DO NOT distribute the Personal or Professional Edition of CPIde without the expressed written consent of the author.


8.3 Refund Policy

CFB Software's products are provided as evaluation editions that can be downloaded via the CFB Software website. Use the evaluation edition to ensure that it is compatible with your computer systems and satisfy all of your requirements before purchasing a Personal or Professional edition.  All sales are final. Once the access details for a Personal or Professional edition has been issued they cannot be cancelled. Thus we are only able to provide refunds for accidental duplicate orders.

Back to Contents