Component Pascal Collection

Helmut Zinn

ADen

By Fyodor Tkachov

Algorithms and Data Structures.

The subsystem contains the program examples from N.Wirth's "Algorithms and Data Structures. Oberon version". This version incorporates corrections and modifications introduced in the Russian translation and approved by Niklaus Wirth in April, 2009. The book can be download from website http://www.inr.ac.ru/~info21/ADen/.

To read the sources and run the programs, you need the BlackBox Component Builder (an Oberon derivative) freely available from http://www.oberon.ch/blackbox.html. BlackBox runs under MS Windows and Linux+Wine. All modules must be open and run from the BlackBox Component Builder.

After installing BlackBox, unpack this package into the BlackBox folder (so that ADen and i21sys subfolders appear along with Com, Comm, Ctl ... BlackBox.exe ...). The modules require one external module to run called i21sys/Mod/In.odc . It is included in this package.

Run BlackBox.exe, open the file ADen/Docu/Quick-Start.odc and read the instructions. The document ADen/Docu/Sys-Map.odc contains hyperlinks to all program examples. To run program examples in a module, click on the so-called commanders (the buttons like this one (!)); they are usually located after the end of the module text. Make sure nothing is selected when you click. The commanders should be clicked in the order of their appearance.

ADen doesn't use any other CPC services.

StdCoded File <=> PacCoded File (148 / 546 kByte - Release 9-May-2012)

Alacarte

By Helmut Zinn

3D computer graphic á la carte.

Space...the Final Frontier. These are the voyages to the 3-D computer graphic. Your mission is to explore the strange 3D graphic world and to gain experience. To seek out:

Alacarte uses the services of TboxTimer, Ctls and Xy.

StdCoded File <=> PacCoded File (119 / 54 kByte - Release 6-Aug-2007)

Algebra

By Robert D. Campbell

Computational Algebra library.

Algebra is a subsystem that knows about, but not the theory of, Groups, Rings, and Fields which are defined as ABSTRACT interfaces. It can handle Vectors, Matrices, Polynominals with coefficients of these abstract types (recursively, since for example Matrices form a Ring they can in turn be the coefficients of a Polynominal). It provides many concrete extensions of these abstract types - Integers, Rationals, Gaussian Integers, Galois fields, Quadratic fields, Quaternions, arbitrary precision Complex etc. Algebra supports Rational Functions, Multinominals and Typeset Views of Algebra objects.

Algebra uses the services of CpcCompressor, CpcControlTips, Ctls, Lib and Multi. It is a member of the Chill group.

StdCoded File <=> PacCoded File (853 / 351 kByte - Release 7-Dec-2004 - Chill_09)

Alm01Gather

By Aubrey McIntosh

Source Code Collection and Topological Sort (Gather.Order).

Gather is a program that reads a list of 1 or more module names. It produces a topologically sorted list of all the modules that have source online and are necessary to support the listed modules. It has been in use for more than 10 years in the Oberon V4 environment, and was recently ported to BlackBox. Gather is written in Component Pascal. This version is for use with Oberon Microsystems BlackBox Component Builder v1.5 (BB) or v1.6-rc5.

What it does:

What it does not do:

Gather is complimentary to DevDependencies. It was inspired by the Builder tool in ETH Oberon, but is written from scratch with different internal structure.

Alm01Gather doesn't use any other CPC services.

StdCoded File <=> PacCoded File (27 / 13 kByte - Release 15-Mar-2008)

Amisc

By Anton Dmitriev

Organize Desktop, Taskbar and Toolbar.

Amisc organized your desktop like the original Oberon systems. It divides the desktop into two tracks: the user track and the system track. Furthermore it adds a taskbar at the bottom of the BlackBox windows. The taskbar has a button for every opened (document) window. Clicking on the button brings up the window to the top. At the top of the BlackBox windows it provides a toolbar. You can manipulate the current selection's attributes with that toolbar.

Amisc doesn't use any other CPC services.

StdCoded File <=> PacCoded File (65 / 30 kByte - Release 15-Aug-2008)

Babel

By Gérard Meunier

Babel Compiler Compiler.

Babel is a meta compiler. From a language definition document, it builds the tables of a compiler (lexical, syntactic and semantic) and store them in a binary file. A special module, included in the final program, reads this file and then can compile texts of the language.

You find examples of using Babel here:

  1. CpcIndex - Cross reference builder and pretty printer.
  2. CpcRegul - Regular Lexical Analyser.
  3. CpcStats - Statistic of accessing the CPC website.
  4. CpcWhere - Where, Indexer of Source & Symbol files.
  5. Kine - Simulation Tools.
  6. Plot - 2D plotting tools including data fit.
  7. Tp2cp - Convert Turbo Pascal to Component Pascal.
  8. Util - Utility tools.

Babel doesn't use any other CPC services.

StdCoded File <=> PacCoded File (599 / 240 kByte - Release 3-Jan-2014)

Basic

By Helmut Zinn

Getting started with Component Pascal.

Here are elementary programs for beginners to learn Component Pascal (Oberon 2). This small and easy modules are written in German. If someone would like to translate them to English please contact me.

Einführung in Component Pascal.

Hier sind kurze und einfache Programme für Anfänger zum Lernen von Component Pascal (Oberon-2). Es sind Aufgaben und Lösungen die in einen Anfängerkurs verwendet werden.

Basic uses the services of Ctls, CpcDropDown, Xy and Mk.

StdCoded File <=> PacCoded File (1798 / 205 kByte - Release 7-Mar-2014)

Basics

By Rainer Neubauer

Program library for Bit-Manipulations, Dyn-Strings, File-I/Os, and Run-Parameters.

BasicsTerminals creates your own log windows as many as you like distinguish by name.

BasicsStderr offers services for writing messages to an stderr window. Any output to this window will cause it to pop up if it is not yet visible.

BasicsAssert The services of the module BasicsAssert are applied to implement design-by-contract. In case of trap the stderr window will show name and value of the variable causing the trap and the appropriate limits.

BasicsBits offers low level access to bits and bytes using the concept of SETs and avoiding the import of SYSTEM.

BasicsDynStrings provides a class for dynamic strings. It includes useful procedures for string manipulations without limitations of the string lenght. Converters between basic data types and dynamic strings are available too.

BasicsStrings offers the functionality of module Strings plus some additional services for dealing with Hex-Strings. In contrast to module Strings all output strings are delivered as POINTER TO ARRAY OF CHAR.

BasicsFiles deals with ASCII files and binary files as well. It sits on top of module Files and offers traditional file I/O.

BasicsParameters implements a scanner for analyzing parameters usually passed to programs via a command line. The parameter string ist passed to the module by calling ScanParameterString. Subsequently names and values of the parameters will be available by calling the according procedures.

Basics doesn't use any other CPC services.

StdCoded File <=> PacCoded File (392 / 127 kByte - Release 16-Oct-2010)

Bbt

By Ivan N. Goryachev

Generate compile list.

You certainly have the same questions during working with a new subsystem: "Which modules must I compile?" and "Which other subsystems I need for using this subsystem?" Now you get the answer very easily. You can create compile list and import list with the subsystem Bbt. It is a very useful tool. Looking thru the import list you can checking your system of consistency and found missing or misspelling modules even the source is not available.

Bbt doesn't use any other CPC services.

StdCoded File <=> PacCoded File (24 / 10 kByte - Release 30-Jul-2009)

Benchmark

By Helmut Zinn

A Benchmark Suite to Measure Computer Performance.

Benchmarks provide a method of comparing the performance of various computer systems. All my old benchmark programs doesn't run on a computer today. So I downloaded some sources from internet and changed them to my need accordently. You find here in this subsystem some well-known benchmark programs: Counter, Sieve, Dhrystone, Whetstone, Livermore Loops and Hennessy.

Benchmark uses the services of TboxTimer, Dos and optional the services of Info

StdCoded File <=> PacCoded File (386 / 145 kByte - Release 2-Feb-2014)

Bnf7

By Carl Glassberg

(Bnf7)Ebnf.atg: Ebnf Pretty-Printer. A sample use of Coco.

This example grammar is similar to the Ebnf3.atg file provided with BB Coco. The main difference between Ebnf3.atg and this grammar is the addition of semantics to create a translator and pretty-printer.

An unattributed ATG grammar supplied as input to Coco will create a syntax-analyzer, assuming no errors have occurred. The output of Coco will be a scanner, parser and a main driver that will need to be compiled by BlackBox.

Such a syntax analyzer only accepts or rejects the input that the ATG grammar itself defines. The main driver will output (to the StdLog) the message "Parsed correctly" if there are no syntax errors in the input the ATG grammar expects. Otherwise the number of detected errors is output to the StdLog.

The input for sample runs are an EBNF definition for EBNF itself and an EBNF definition for Oberon. Errors are marked in the input focus view. All the previously discussed syntax-checking actions still occur. In addition, a pretty-printed version of the input grammar is output to a separate window.

Bnf7 uses the services of Coco.

StdCoded File <=> PacCoded File (69 / 33 kByte - Release 24-Jul-2010)

C2cp

By Helmut Zinn

C to Component Pascal Translator.

This software converts C source program to Component Pascal (Oberon-2). All identifier collected into one symbol table. The symbol table is used for name translation. The original translator was written a very long time ago in Turbo Pascal. It has no syntax analysis. The translator recognize patterns only. If it doesn't find a matching pattern the output is equal the input.

C2cp doesn't use any other CPC services.

StdCoded File <=> PacCoded File (200 / 85 kByte - Release 7-Mar-2014)

Cam

By Mathieu Westerweele

Multiple Undo/Redo, light up / hot buttons, list readers and procedure navigator.

Subsystem Cam comprises of a few handy "low-level" modules, which I use extensively. Most of them where build before I discovered the CPC website. The modules consist of:

Cam doesn't use any other CPC services.

StdCoded File <=> PacCoded File (91 / 37 kByte - Release 9-Feb-2004)

Casket

By Robert D. Campbell

RTF Import/Export to Word, Mathematics in BlackBox, Views as *.png etc.

Casket provides a flexible Bitmap type and various utilities (examples below) that use it:

CasketRtfConv provides RTF (Rich Text Format) import and export by file or cut-&-paste. It has more accurate paragraph formatting than HostTextConv, and significantly it supports Links, Tables, and Pictures as Bitmaps.

CasketLatex creates high quality typeset bitmaps of mathematical expressions described using plain Ascii. It provides the facilities of LaTeX inside BlackBox '.odc' documents. You can easily write odc documents containing sophisticated mathematics.

LaTeX is used by many major software systems and authors - for example all mathematics in Wikipedia is typeset with LaTeX.

CasketKeeper uses FreeImage to convieniently support writing arbitrary BlackBox Views to file in a variety of formats (*.bmp, *.gif, *.jpg, *.png, & *.tiff).

CasketBitmaps provides interfaces to other BlackBox Bitmap types and facilities (HostBitmaps, CpcBitmaps, FreeImage, Windows Bitmaps). It supports writing compressed BlackBox Bitmap Views (using Pac, or another Compressor), interfacing to FreeImage, and is designed to support other applications.

CasketReferences is not required by CasketLatex, but could compliment it by providing equation numbering in a large document. It may also have uses unconnected with CasketLatex.

Casket uses the services of CpcCompressor, Ctls, Free, Lib and Pac (but if you only need CasketRtfConv Free, Lib, and Pac are not essential).

StdCoded File <=> PacCoded File (436 / 206 kByte - Release 24-Apr-2010)

Chill

By Robert D. Campbell

Chill_09 'Docu-Pack'.

I have now published on CPC several subsystems, and contributions to others. The current version control number of these is called Chill_09, and 'Chill' is sometimes used as a generic name for these subsystems.

This Docu-Pack is a set of 'overview' (e.g. 'Map's etc) documentation files that is recommended should you choose to install several, or all, of these subsystems. It provides convenient access to several subsystems and Tools from the Help Menu. It also gives guidance on installing the Chill_09 subsystems, as there are some dependencies between them.

The following subsystems are member of the Chill group:

  1. Cpc - (Part of): FormTidy, ControlTips, Search, Spell, Stylists, Compressors.
  2. Ctls - (Part of): Buttons2, Arrows2, Figures, Colour, RealField, Units, UnitField, UnitConverter.
  3. Lib - Engineering & Scientific library.
  4. Algebra - Computational Algebra library.
  5. Multi - Arbitrary ultra high precision arithmetic & Tools.
  6. Filter - Digital and other filter design and analysis.
  7. Nav - Navigation & Coordinate transform library modules and tools.
  8. OglChill - An extension to the 'Base' or 'Original' Ogl subsystem adding higher level functionality.
  9. Wands - A collection of general purpose and eclectic tools (Wand: tool used by a magician).

The Docu-Pack save set installs its files into //BlackBox/Docu/ChillDocu/.

StdCoded File <=> PacCoded File (150 / 73 kByte - Release 7-Dec-2004 - Chill_09)

Here is the current bug list for Chill Subsystems. If you need corrected files please contact the author directly.

Co_

By Dmitry D. Dagaev

Coroutines, Tasks and Schedulers.

The subsystem Co_ is suitable for suspending and resuming execution on certain locations. A list of tasks can be built upon: cooperative multitasking, state machines, infinite lists, pipes, etc. Task represent the simplest form for periodic execution. Scheduler is for runtime control of both.

Co_ doesn't use any other CPC services.

StdCoded File <=> PacCoded File (1826 / 87 kByte - Release 28-March-2014)

Coco

By Helmut Zinn

A BlackBox port of Hanspeter Mössenböck's Coco/R Compiler Compiler.

Coco/R is a language for generating compilers from attributed EBNF grammars. You find more information about this topic at Prof. Pat Terry's Coco/R page. The original port of Coco is from the Stewart Greenhill's website BlackBox Resources. I adapt Coco to the BlackBox subsystem and use BlackBox IO directly.

You find examples of using Coco here:

Coco doesn't use any other CPC services.

StdCoded File <=> PacCoded File (404 / 165 kByte - Release 18-July-2014)

CommTCPAsync

By Stewart Greenhill

Non-blocking TCP Streams Module.

This module implements true non-blocking TCP streams using the CommStreams framework. The reference implementation (CommTCP) is only non-blocking AFTER a connection has been established, and can block the framework for a significant time during the establishment of a TCP connection. In some situations (eg. web proxy servers) this is unacceptable.

The solution to this problem is to use the asynchronous functions provided by Winsock. Module CommTCPAsync allows TCP host-name resolution and connection establishment to be performed as background tasks. This is done in a way that is compatible with the CommStreams framework.

CommTCPAsync doesn't use any other CPC services.

StdCoded File <=> PacCoded File (61 / 25 kByte - Release 21-Sep-2007)

Cookbook

By Douglas G. Danforth

Extensible Documentation for the Component Pascal Programming Environment.

This Cookbook is designed to supplement the documentation produced by Oberon Microsystems, Inc for the BlackBox programing environment. The guiding principle of the Cookbook is "Show me how to do something quickly and efficiently". If greater detail is need then the reader is urged to consult the BlackBox documentation.

Cookbook doesn't use any other CPC services.

StdCoded File <=> PacCoded File (134 / 54 kByte - Release 20-May-2005)

Cow

By Dejan Milicic

Cow is a subsystem aimed at compiler writers.

Cow is subsystem aimed at compiler writers. When finished, it will contain generators of lexical and syntax analysers. As completed, various modules will be added to this subsystem.

This is alpha release of Cow, framework intended for compiler writers. At the moment, only scanner generator exists, but as time passes more elements will be added. Whole project is intended to be my graduation thesis, and I would be very grateful to anyone that could point me to existing errors, omits and possible improvements.

Cow doesn't use any other CPC services.

StdCoded File <=> PacCoded File (120 / 51 kByte - Release 5-May-2002)

CpcAllCaps

By Fyodor Tkachov

Capitalisation of Keywords.

The two procedures solve the problem of typing all-capitals keywords. The idea is that one types a keyword in small characters, then presses a key, and the keyword is converted to capitals.

Additionally, there is a 'Capitalize and Expand' function included, that knows about the common compound CP statements. It does the same sort of thing regarding keyboard macros.

CpcAllCaps doesn't use any other CPC services.

StdCoded File <=> PacCoded File (19 / 8 kByte - Release 8-Oct-2006)

CpcAsciiCoder

By Helmut Zinn

Decode Eth Oberon V4 Cod files.

The module CpcAsciiCoder can decodes and expand ETH Oberon V4 Cod files. I recommend to format the result with the CpcBeautifier.

CpcAsciiCoder doesn't use any other CPC services.

StdCoded File <=> PacCoded File (37 / 17 kByte - Release 17-Nov-2002)

CpcBeautifier

By Gérard Meunier and Helmut Zinn

Component Pascal Source Code Beautifier.

The Beautifier is a program that reformats Component Pascal (Oberon-2) Source-Code.

It features:

The Beautifier follows the style guidelines of the BlackBox Programming Conventions.

CpcBeautifier doesn't use any other CPC services.

StdCoded File <=> PacCoded File (63 / 26 kByte - Release 20-March-2014)

CpcBitmaps

By Robert D. Campbell

Bitmaps.

This module allows an arbitrary View to be converted to a Bitmap.

These Views are intended to be embedded in BlackBox Documents. The particular advantage of these Views is that when they are saved to disc they are compressed (using CpcCompressors), so typically take much less disc space than uncompressed Bitmaps.

CpcBitmaps uses the services of CpcCompressor and Pac.

StdCoded File <=> PacCoded File (31 / 15 kByte - Release 13-Oct-2005)

CpcBookmarks

By Alexander Iljin

Bookmarks for text documents.

When you edit a source code file it is often necessary to jump back and forth between two or three different areas making changes simultaneously. A valid solution would be to open the appropriate number of windows with the same document and to switch between them. BlackBox supports this with the command "Window - New Window (F2)". For example, you may open one window with TYPE declaration in view to add properties to an object, and the second window with a method implementation. Now you may add new properties while writing code that uses them. Unfortunately, in BlackBox all these windows will share the same text cursor position, so if you start typing right after you switch to another window, you will immediately be brought back to the place where you were typing in the previous view, effectively losing all the advantages of having two windows. To place the text cursor at a new position you have to use the mouse, and switch from keyboard to mouse and back again which slows you down and distracts you.

Another problem with the approach of using multiple windows, is that you end up having a) many windows open to same file, b) very small amount of text in each window without its context, and c) very limited navigation capabilities using the "Window" menu, so you cannot quickly find the window you need.

That is why you may find bookmarks useful. A bookmark is a small visible object (of type CpcBookmarks.View) which can be pasted into any text document. It looks like a little grey square with a digit in it. Bookmarks are numbered from 1 to 9, so you may have up to nine bookmarks per document. After you have placed a bookmark, you may quickly jump to that exact cursor position from anywhere in the document (the document's window must be active). Bookmarks are saved within the document, so the state is preserved between editing sessions.

Like any other View object bookmarks are ignored by the compiler, so you don't have to put them in comments. They may be anywhere in your source code. Right where you need them.

The disadvantage of bookmarks is that you have to remember the number location correspondence. You'll have to think up your own scheme for using those numbers. You won't be using more than three most of the time, so it won't be very hard to simply poke through numbers from 1 to 3 to find the place you need.

CpcBookmarks doesn't use any other CPC services.

StdCoded File <=> PacCoded File (35 / 15 kByte - Release 16-Dec-2007)

CpcCompressors

By Gérard Meunier and Robert D. Campbell

Data compression utility interface.

Compressor Readers & Writers are objects that are similar to Stores Readers and Writers, but they also losslessly compress the data on disc.

To make use of CpcCompressors some must be made available. Currently two are available in Pac, but in principle, others could be made available from other sources.

CpcCompressors uses the services of Pac.

StdCoded File <=> PacCoded File (55 / 24 kByte - Release 1-Jul-2004)

CpcControlTips

By Robert D. Campbell

Pop-up Tips when the mouse pointer goes over a Control.

The Module ControlsTips is a documentation aid that allows for small text boxes (Tool-Tips) to 'pop-up' when the mouse pointer goes over a Control.

This functionality is implemented by simply 'dropping' a 'Wrapper' on each Control. The text, colours, and user proficiency level can be individually set for each Control.

The pop-up timing parameters can be set globally, as can tip filters. For example all tips can be enabled, or disabled, or only tips aimed at 'Experts' can be enabled.

CpcControlTips doesn't use any other CPC services. It is a member of the Chill group.

StdCoded File <=> PacCoded File (41 / 19 kByte - Release 17-Oct-2004 - Chill_09)

CpcDropDown

By Juan Antonio Ortega

Drop Down Menus.

This program adds to the framework a new utility: drop-down submenus. Shortcuts are not supported in drop-down menus.

CpcDropDown doesn't use any other CPC services.

StdCoded File <=> PacCoded File (16 / 7 kByte - Release 17-Jan-2004)

CpcETHConv

By Koen Desaeger

A converter for loading Oberon System3 and Linz V4 file formats.

The module CpcETHConv is an improved version of StdETHConv

What's new in this version:

CpcETHConv doesn't use any other CPC services.

StdCoded File <=> PacCoded File (78 / 39 kByte - Release 3-Mar-2007)

CpcEverywhere

By Gérard Meunier

Documentation Tool.

CpcEverywhere is able to search regular expressions in the files of Blackbox, by using the search engine of CpcRegul. It's a powerful tool for complex documentation search.

CpcEverywhere uses the services of Babel, Util and CpcRegul.

StdCoded File <=> PacCoded File (37 / 17 kByte - Release 1-Mar-2005)

CpcFileBrowser

By Marco Ciot

File Browser with subsystem, folder and document windows.

The CpcFileBrowser is a subsystem file manager that provides a user interface to open documents. It is very useful for speeding up navigation between subsystems, directories and files.

CpcFileBrowser doesn't use any other CPC services.

StdCoded File <=> PacCoded File (13 / 7 kByte - Release 6-Mar-2007)

CpcFloat

By Gérard Meunier

Diagnosing floating point calculations precision.

Do you have numeric problems with real numbers? This is not a specific problem of Component Pascal. All programming languages have the same kind of problem. Here is a little module to determine the precision of floating point calculations. The result depends on the floating point implementation on your machine and not of the programming language definition.

Testing REAL numbers for equality should be done with the statement:
   IF (ABS (real1 - real2) < epsilon) THEN ... END;

The problem above is what value of epsilon should I use. After running this test you know which epsilon you can use on your machine. Remark: Math.Eps() gives the same value, but with less information.

CpcFloat doesn't use any other CPC services.

StdCoded File <=> PacCoded File (14 / 7 kByte - Release 26-Aug-2004)

CpcFormTidy

By Robert D. Campbell

Control layout tools for use in constructing Forms.

FormTidy provides an additional set of commands that complement those provided in the Layout menu. They are used to help arrange the size and positioning of Controls in a graphical user interface Form. These commands are virtually essential for Forms with more than a few Controls.

CpcFormTidy uses the services of Ctls. It is a member of the Chill group.

StdCoded File <=> PacCoded File (36 / 16 kByte - Release 17-Oct-2004 - Chill_09)

CpcIndex

By Gérard Meunier

Cross reference builder and pretty printer.

CpcIndex parses a text according to a grammar, with the help of Babel. It uses this analyze to pretty print the text and extract an index. The result is ready to print or can be used on screen for quick searching. Grammars for Oberon2, Modula2, Component Pascal and Babel are included.

CpcIndex uses the services of Babel and Util.

StdCoded File <=> PacCoded File (89 / 39 kByte - Release 2-Jul-2002)

CpcLangMapper

By Werner Bossert

Language Mapper from / to Excel tables.

Very often programmers and language translators are not the same person. This is easier for doing the translation outside the BlackBox in an Excel table. CpcLangMapper allows you to transform rows of alias/language pairs from Excel tables into a BlackBox (Subfolder)Strings.odc document or vice-versa. CpcLangMapper enhances the possibilities of CpcLanguage by introducing transformation of languages between MS Excel and BlackBox.

CpcLangMapper uses the services of Pac.

StdCoded File <=> PacCoded File (42 / 20 kByte - Release 1-Oct-2014)

CpcLanguage

By Gérard Meunier

Language for Component Pascal.

BlackBox 1.5 has many facilities. One of them is changing the language during the BlackBox session. Here is the module for accomplish this task. You can switch to any language which you like. But before you can use your favourite language you have to translate all the resource files. It would be nice to share your translations here.

CpcLanguage uses the services of Ctls.

The subsystem CpcLanguage is separated into several save sets:

CpcLanguage StdCoded File <=> PacCoded File  ( 30 / 15 kByte - Release 21-Oct-2014)
Basic Save-Set StdCoded File <=> PacCoded File  (104 / 54 kByte - Release 21-Oct-2014)

The following language are available here:

FR Français StdCoded File <=> PacCoded File translated by Gérard Meunier (42 / 20 kByte - Release 21-Oct-2014)
DE Deutsch StdCoded File <=> PacCoded File translated by Helmut Zinn (51 / 23 kByte - Release 21-Oct-2014)
ES Español StdCoded File <=> PacCoded File translated by Juan Antonio Ortega (42 / 19 kByte - Release 21-Oct-2014)
PL Polski StdCoded File <=> PacCoded File translated by Katarzyna Regent Nguyen (55 / 26 kByte - Release 21-Oct-2014)
RU Russian StdCoded File <=> PacCoded File translated by Ivan Denisov (52 / 24 kByte - Release 21-Oct-2014)

CpcMenus

By Helmut Zinn

Switching Menus.

Certainly you have installed some or all modules from the Component Pascal Collection. Now you get a very long menu bar at the top of the BlackBox's window. I'm sure that you needn't the complete menu all the time. Would you like to switch the menu item off and on again? Here is a program which can do it.

CpcMenus uses the services of Ctls.

StdCoded File <=> PacCoded File (22 / 11 kByte - Release 30-Jul-2013)

CpcPreprocessor

By Stan Warford and Helmut Zinn

Named Integers in Component Pascal.

Here you found an implementation of named integers for Component Pascal without changing the original compiler. The benefit of named integers is self-documentation. Named integers are eliminating the need to explicitly assign constants to symbols. It makes the declarations simpler and more clear. It also reduces the likelihood of the programmer accidentally assigning the same constant to two symbols.

In general

   TYPE Color* = (red, blue, green);

is defined to be _exactly_ equivalent to

   TYPE Color* = INTEGER; CONST red* = 0; blue* = 1; green* = 2;

Named integers have none of the implementation problems of enumerated types. They are simply a syntactic sugar that provide an immense benefit of self-documentation for a very small price. They do not introduce a new type. Named integers are integers.

CpcPreprocessor doesn't use any other CPC services.

StdCoded File <=> PacCoded File (18 / 8 kByte - Release 7-Jun-2005)

CpcRegul

By Gérard Meunier

Regular Lexical Analyzer.

CpcRegul is a lexical analyzer that can find and/or replace regular expressions in a text. It provides an application programming interface as well as a user interface. It is an advanced example of the Babel metacompiler.

Here, Babel is used three times at each request: firstly to analyze the regular expression, check possible syntax errors and generate a Babel definition document for this expression; secondly to compile the previous definition document and produce a compiler (in fact, one or two compilers, according to the expression); thirdly to parse the user text with this compiler and find occurrences of the regular expression. All this process is accomplished in a flash behind the screen.

CpcRegul uses the services of Babel.

StdCoded File <=> PacCoded File (87 / 39 kByte - Release 8-Jan-2014)

CpcSearch

By Robert D. Campbell

Search & Replace with wildcards and text attributes.

Module (Cpc)Search is a simple to use Text Search & Replace tool. It augments the supplied Find/Replace tool in two main ways: it keeps a record of the last few Search and Replace strings used, and it supports a rich set of wildcard search & replace options.

With this module you can find red 'cats' and replace them with italic 'dogs'.

CpcSearch uses the services of CpcControlTips. It is a member of the Chill group.

StdCoded File <=> PacCoded File (81 / 32 kByte - Release 12-Sep-2008 - Chill_09)

CpcSpell

By Robert D. Campbell

A minimalistic Spelling checker.

Spell checks the spelling of Texts.

Spell requires that Microsoft Excel is installed.

Spell is a minor modification of a module originally written by Oms (ToolSpell). It is published here by kind permission of Oms.

As well as actually checking spelling, Spell has the following set of features: {} .

It is already useful (I do use it), but I also publish it in the hope that someone will find the time to add some more features to it. I would like it to display a list of suggested corrections (which requires some knowledge of Excel and OLE automation, which I do not have), and to offer to make a selected correction (which requires some knowledge of TextModels and TextControllers; this I can possibly manage).

CpcSpell doesn't use any other CPC services. It is a member of the Chill group.

StdCoded File <=> PacCoded File (15 / 8 kByte - Release 17-Oct-2004 - Chill_09)

CpcSplitter

By Koen Desaeger

Split a window and scroll the two panes independently.

The module CpcSplitter splits a window horizontally, and provides independent scrolling of the two panes. Programmers may find this useful: you can view the declaration section of a module in one pane while editing a procedure of that same module in the other pane.

CpcSplitter doesn't use any other CPC services.

StdCoded File <=> PacCoded File (23 / 10 kByte - Release 19-Mar-2007)

CpcStats

By Gérard Meunier & Helmut Zinn

Statistic of accessing the CPC website.

Would you like to know how many users visit this website? How many downloads they have done? Which subsystems belong to the top 10? Here you are. Here you find the access statistic of August 2003.

CpcStats uses the services of Pac, Babel and Util.

StdCoded File <=> PacCoded File (192 / 80 kByte - Release 3-Sep-2003)

CpcStylists

By Robert D. Campbell

A Stylist is an object used to organise Rulers (TextRulers.Ruler) in a Document.

A Stylist is essentially a list of Rulers Styles and associated StdProps. A Stylist object offers three main facilities:

  1. It allows several Rulers to belong to a Style Set. Rulers are said to belong to the same Set if they are the SAME (which means that they have the same Style, and, optionally, equal StdProps). When Rulers share their Style not only do they have their tabs etc in the same place, but moving one Rulers tabs immediately moves the tabs of all the other Rulers in the Set.

  2. It allows each Set to be 'named' . It can be helpful to give each Set a meaningful name, such as 'Tabs @ 2 & 5 cm', or 'Main heading Ruler'.

  3. It can manage a Text's StdProps. These are associated with each Ruler and with each Style in the Stylist. They can then be automatically applied to the text immediately after each Ruler in a flexible variety of ways.

CpcStylists uses the services of Ctls. It is a member of the Chill group.

StdCoded File <=> PacCoded File (123 / 50 kByte - Release 17-Oct-2004 - Chill_09)

CpcTray

By Kai Kietzke

Icon in System Tray.

I have worked out a little module that provides an icon in the system tray associated with any blackbox menu. The system tray is on the right side of the windows task bar.

You may also visit my website http://www.kietzke.net/.

CpcTray doesn't use any other CPC services.

StdCoded File <=> PacCoded File (11 / 6 kByte - Release 2-Jul-2008)

CpcUtf8Conv

By Helmut Zinn

UTF-8 File Importer & Exporter.

A lot of websites are encoded in UTF-8 format. UTF-8 stands for 8-bit Unicode Transformation Format. It uses one to three bytes per character. It is a variable length character encoding for Unicode. UTF-8 is the default encoding for XML. There is no converter for reading such files into BlackBox. With this little module you can read (via File -> Open) and write (via File -> Save) UTF-8 encoded files.

You may realize that the first 128 characters encoded identically to the 7 bit ASCII code and can be loaded via the txt converter. But even you use the 7 bit ASCII character set only, you can't write them back via the txt converter because ASCII uses CR & LF for new line and UTF-8 uses LF only.

CpcUtf8Conv doesn't use any other CPC services.

StdCoded File <=> PacCoded File (19 / 9 kByte - Release 7-Mar-2014)

CpcWhere

By Gérard Meunier

Where, Indexer of Source & Symbol files.

CpcWhere creates on disk an index from which one can find very quickly any identifier defined or used in any source or symbol file, from its name or any part of its name.

CpcWhere uses the services of Ctls, Babel and Util.

StdCoded File <=> PacCoded File (64 / 28 kByte - Release 25-Jan-2005)

Ctls

By Juan Antonio Ortega, Helmut Zinn and Robert D. Campbell

Picture Buttons, Progress Bars, Mixer and Unit Fields.

Ctls is a subsystem that provides Picture Buttons using bitmaps and Picture Buttons using views.

Ctls doesn't use any other CPC services. Part of Ctls is a member of the Chill group.

StdCoded File <=> PacCoded File (519 / 185 kByte - Release 9-Mar-2010 - Chill_09)

Ctlsx

By Gerhard Marent

Tables and other Controls Extensions.

Subsystem Ctlsx contains a collection of controls e.g. Buttons, Captions, Fields, Tables.

Ctlsx uses the services of Misc and CtlsxTables needs Excel 9.0.

StdCoded File <=> PacCoded File (258 / 108 kByte - Release 12-Jun-2003)

A..C | D..H | I..N | O..S | T..Z
Introduction | Subsystems | Categories | Authors | Dates | Links | Topics | Projects | Downloads

Last Updated 19th October 2014