Component Pascal Collection

Helmut Zinn


By Dmitry V. Dagaev

Transparent Architecture - communication SW for distributed systems.

This software is purposed for communication between different programs, written in Oberon and C. It uses SRPS protocol type for LANs via UDP multicast, UDP, TCP, Shared Memory, PING for ICMP and SOAP/HTTP for WANs.

TA is distributed in BlackBox, XDS and C versions both for Windows and Linux compatible with each other at

Ta_ doesn't use any other CPC services.

StdCoded File <=> PacCoded File (641 / 283 kByte - Release 28-March-2014)


By Gérard Meunier

Multiplication tables training.

Have you forgotten your multiplication tables? Or, maybe, have you children? Try this program and adopt it! The program remembers your good and bad answers. It will ask you more often the questions you don't know. There exists a French version, an English and a German one in the same package. There is also a Make.odc file, which uses the new packing feature of the BlackBox 1.4 version, and generates a stand-alone exe file.

Tabmult doesn't use any other CPC services.

StdCoded File <=> PacCoded File (41 / 21 kByte - Release 23-Oct-2004)


By Helmut Zinn

Saving the Spotlight Images from Windows 10 Lock Screen.

On the Windows lock screen the pictures are automatically changing. It's called Windows Spotlight. This module saves the lock screen images in your own directory. You can use the result as desktop wallpaper and for slideshow.

TboxAnmeldebilder doesn't use any other CPC services.

StdCoded File <=> PacCoded File (15 / 7 kByte - Release 12-Jul-2017)


By Helmut Zinn

Birthday reminder.

Did you ever forget the birthday of your friend? Then you need this little program. When some friends have birthday today then it pops up during the start of Blackbox. Further you can generate a 30 days look ahead list.

TboxBirthday uses the services provided by Ctls.

StdCoded File <=> PacCoded File (77 / 34 kByte - Release 4-May-2022)


By Helmut Zinn

Writing books with BlackBox.

The module TboxBook expands the BlackBox text editor with some useful commands:

That's all you need for writing documents with table of contents and hyperlinks. It makes the life much easier.

TboxBook doesn't use any other CPC services.

StdCoded File <=> PacCoded File (37 / 15 kByte - Release 15-Mar-2019)


By Helmut Zinn

Generate a package list for StdCoded and PacCoded files.

This module generate the list of all source files of one subsystem automatically. You can select all items of this list and use the menu [Tools][Encode File List] to create a StdCoded file of your subsystem.

TboxCoderList uses the services provided by Ctls, CpcMenus and Pac.

StdCoded File <=> PacCoded File (22 / 11 kByte - Release 7-Oct-2019)


By Gérard Meunier

Binary compare file.

Are you interested by this little module? It asks for two files and tests their equality at a binary level. I use it to test whether Pac works well or not. As it is interesting in a general way, perhaps you'd like to use it.

TboxCompFile doesn't use any other CPC services.

StdCoded File <=> PacCoded File (8 / 4 kByte - Release 1-Apr-2004)


By Helmut Zinn

How many days are left until...?

This module will answer that questions into the Log window.

TboxCountDown doesn't use any other CPC services.

StdCoded File <=> PacCoded File (7 / 4 kByte - Release 6-Jun-2007)


By Helmut Zinn

Read and write hex dump.

This is an extension of Oberon Microsystems hex file importer. It optionally outputs the printable representation in columns or lines in addition to the hex codes. In its default configuration it behaves exactly like the original. The original importer is from the Bernhard Treutwein's More utilities for BlackBox. I add an hex file exporter too. You can save the modified hex-code.

TboxHexConv doesn't use any other CPC services.

StdCoded File <=> PacCoded File (17 / 8 kByte - Release 6-Jul-2001)


By Helmut Zinn

All picture files rename to increasing sequential numbers.

I organize my photo archive in the following way: I create one folder for every year. This folder containing a folder for each month. After downloading the picture (*.jpg) from the camera into one folder, I delete all bad ones and then I rename the other ones with this procedure. It is still possible to download new picture into the same folder and rename them with this procedure again.

TboxPhoto uses the services provided by Pac, Ctls, Dos, TboxTimer and Info.

StdCoded File <=> PacCoded File (16 / 8 kByte - Release 27-May-2008)


By Helmut Zinn

Tea Time Alarm Clock.

Do you have a bug in your program? Let's have a break. It's tea time now. Is there any tea left? Do you need another cup of tea? Certainly you need the tea time alarm clock. We say in Germany: to wait and see (abwarten und Tee trinken). I'm sure after that break you find your bug immediately.

TboxTeaTime uses the services provided by Pac, Ctls, Dos, Babel, Util and Media.

StdCoded File <=> PacCoded File (321 / 166 kByte - Release 27-Mar-2003)


By Helmut Zinn

Some Text Editing Commands.

This module extend BlackBox with some basic text editing facilities. What it does:

I wrote this commands during my work on CpcLanguage. I used them with subsystem Omi together for creating and sorting Rsrc/Strings documents.

TboxText doesn't use any other CPC services.

StdCoded File <=> PacCoded File (23 / 10 kByte - Release 12-Jul-2008)


By Helmut Zinn

Measure the runtime of one procedure/module.

You can measure the run time of any module and procedure:
e.g. (!) "TboxTimerStart; MySubsystem.MyCommand; TboxTimer.Stop"
The result is in the Log window.

TboxTimer doesn't use any other CPC services.

StdCoded File <=> PacCoded File (9 / 5 kByte - Release 26-Oct-2000)


By Helmut Zinn

Text Translation by Words.

This module expand the Find and Replace command with a translation table. You can

A existing translation table can also used in the reverse direction.

TboxTranslate uses the services provided by Pac, Ctls and Dos.

StdCoded File <=> PacCoded File (38 / 18 kByte - Release 12-Jul-2008)


By Juan Antonio Ortega

Add a toolbar to the BlackBox window.

Do you like toolbars? Do you miss toolbars inside BlackBox? Don't wait any longer. Download this subsystem. With this subsystem you can add a toolbar to the BlackBox Component Builder.

Toolbar doesn't use any other CPC services.

StdCoded File <=> PacCoded File (58 / 33 kByte - Release 26-Jan-2007)


By Gérard Meunier and Helmut Zinn

Turbo Pascal to Component Pascal Translator.

This software converts Turbo Pascal source program to Component Pascal (Oberon-2). All exported identifier collected into one symbol table. The symbol table is used for name translation.

It features:

We recommend to format the result with the CpcBeautifier.

Tp2cp uses the services provided by Babel and Util and optional the service of UnicodeMappings, Pac, Ctls and Dos.

StdCoded File <=> PacCoded File (132 / 53 kByte - Release 26-Jun-2021)


By Rainer Neubauer

Support for Technical Process Control.

Simple finite state machines (FSMs) are applied to implement complex process control algorithms, i.e. long running commands. Additional support is offered for handling of large configuration files, for saving of current process state and for serial communication (RS232 or TCP) to hardware devices (power supplies, measuring instruments, etc.) as well.

The overall concept is explained in an introductory text containing small worked examples. Additional examples have been implemented to play with and try out the supporting modules mentioned above.

TpcGenericFsms offers simple finite state machines for implementing process control algorithms, i.e. "long running commands". Support for debugging includes logging of state switching to StdLog, setting of break points at arbitrary states, single stepping from state to state and logging of state history.

TpcConfigDataControl offers a means for maintaining configuration files by technical stuff without having knowledge to the develop environment of BlackBox (e.g. "when and how to call the compiler"). The configuration data serve for parameterizing the technical process (e.g. hardware configuration).

TpcGenericStatusFiles supports in saving process status data to hard disk. In case of a computer crash followed by a reboot the technical process may be continued in the state like just before the interrupt.

TpcSerialDevices implements serial connections to hardware devices via RS232 or TCP. Commands to devices and answers from devices may be of fixed length or variable length with terminator characters. Master devices for control of hardware devices are available as are slave devices for simulation of hardware devices at an early phase of a project when hardware devices may not yet be available. Outgoing and incoming serial data may be logged to StdLog for debugging.

Tpc uses the services provided by Basics.

StdCoded File <=> PacCoded File (1633 / 950 kByte - Release 28-May-2021)


By Carl Glassberg

Text reader & formatter filter.

Trf is the abbreviation for Text reader / formatter. The subsystem Trf contains the following modules:

TrfFilter copies from an open text view the printable (ASCII and Latin-1) characters + cr + ht + para to a new text view. Other control code characters and Unicode are converted to a string representation of the equivalent hexadecimal character constant.

TrfUnbeautify converts control characters (except for cr and para) and Unicode characters to space (20X). It deletes leading and trailing space, and squeezes adjacent space within a line to 1 space character (20X). It removes colorization and makes everything a monochrome color (blue). Horizontal formatting is squeezed but vertical formatting is preserved.

TrfCrush is similar to Unbeautify but additionally converts multiple adjacent end-of-line to 1 end-of-line. Vertical formatting is crunched and horizontal formatting is squeezed.

TrfText unfold input paragraphs of multiple lines of text into single-line paragraphs. Repeatedly running this command will turn all input text into a single line.

TrfNrLines number lines in a text file. The first line is numbered 0.

Trf doesn't use any other CPC services.

StdCoded File <=> PacCoded File (44 / 21 kByte - Release 4-Jun-2014)


By Werner Bossert

Ttf Covering (TrueType Fonts, OpenType File Format).

TtfCovering scans TrueType Fonts and OpenType Font respectively, of the file type TTF and TTC. TrueType Collections TTC contain several fonts. The table BlocksAndFontsTab displays Range, Block, number of characters covering a font and the name of the font. The module UnicodeFontsGen can be generated.

Covering fonts are in alphabetical order and ascending order of the number of covering characters unless other priorities are prefered. The table Covering BlocksTab shows all ranges, blocks and number of characters covering a selected font.

Blocks.txt of the Unicode Standard Version 15.1.0 is used for Ranges and Block names.

Ttf uses the services provided by Pac, Ctls, Dos and UnicodeMappings .

StdCoded File <=> PacCoded File (215 / 99 kByte - Release 15-Sep-2023)


By Werner Bossert

Unicode Generators with Unicode Character Database.

To extend mappings and requests of letters, numbers and symbols to the full Unicode range or to the Basic Multilingual Plane (BMP) or to a part of the Unicode range to handle languages, module generators use information of the UnicodeData.txt.

The Unicode Consortium publishes in the Unicode Character Database (UCD) the text file UnicodeData.txt.

UCD (Unicode Standard Version 15.1.0 released 12-September-2023):
or look for the latest version of the UCD at

UnicodeData.txt is the database for the module generators Unicode­XXXGenerator (Unicode­Case­Generator, Unicode­Case­GeneratorExt, Unicode­IsCase­Generator, Unicode­Letter­Generator, Unicode­Number­Generator, Unicode­Specials­Generator, Unicode­Arabic­Generator, Unicode­Decomposition­Generator, Unicode­Characters­Generator and Unicode­Bidirectional­Generator, Unicode­East­Asian­Width­Generator, Unicode­Math­Class­Generator, Unicode­Emojis­Generator). The generated auxiliary files are simplified by Unicode­NormXXX (Unicode­Norm­Case, Unicode­Norm­IsCase, Unicode­Norm­Letter, Unicode­Norm­Number, Unicode­Norm­Specials, Unicode­Norm­Arabic, Unicode­Norm­Decomposition100H, Unicode­Norm­Decomposition, Unicode­Norm­Decomposition­Iter, Unicode­Norm­Characters and Unicode­Norm­Bidirectional, Unicode­Norm­East­Asian­Width, Unicode­Norm­Math­Class, Unicode­Norm­Emojis.

The result are the modules Unicode­XXX_Mapping (Unicode­Case_MappingGen, Unicode­IsCase_Mapping, Unicode­Letter_Mapping, Unicode­Number_Mapping, Unicode­Specials_Mapping, Unicode­Arabic_Mapping, Unicode­Decomposition100H_Mapping, Unicode­Decomposition_Mapping, Unicode­Decomposition­Iter_Mapping, Unicode­Unassigned_Mapping, Unicode­Characters, Unicode­Bidirectional_Mapping, Unicode­East­Asian­With, Unicode­Math­Class_Mapping, Unicode­Emojis_Mapping). The procedures in the generated modules consist of a CASE statement. The case expression can be of type character or integer.

UnicodeGenerators uses the services provided by Pac.

StdCoded File <=> PacCoded File (1346 / 465 kByte - Release 15-Sep-2023)


By Werner Bossert

Unicode Mappings with the generated Modules.

UnicodeMappings provide mappers for upper, lower or title case mapping, and also provide converters from Unicode (UTF-8, UTF-16, UTF-32; little or big endian) to other encodings or vice versa. Further examples for mapping and decomposiion of Unicode are shown.

The base for the Unicode Mappings are the published Unicode Character Database (UCD) by the Unicode Consortium in

UCD (Unicode Standard Version 15.1.0 released 12-September-2023):
or look for the latest version of the UCD at

UnicodeMappings contains all modules generated in UnicodeGenerators. Some of the generated mapping modules have been further simplified by hand. The encoding converter UnicodeConverterDlg includes XML-Conversion. To recognize the encoding and the endianness (little-endian order or big-endian order) byte order mark (BOM) is used. For XML files existing encoding-declaration is used. Changing the encoding: The encoding declaration can be optionally adapted or inserted. UnicodeConv provides UTF-8 import and export by file with the uni and XML extension.

In UnicodeConverterTests a few examples for the encoding conversions are shown.

UnicodeMappings uses the services provided by Pac, Ctls and Dos.

StdCoded File <=> PacCoded File (3395 / 1433 kByte - Release 15-Sep-2023)


By Gérard Meunier

Utility tools.

Util is a set of utility tools.

Util uses the services provided by Babel and optional the service of UnicodeMappings, Pac, Ctls and Dos.

StdCoded File <=> PacCoded File (1144 / 470 kByte - Release 28-Dec-2019)


By Josef Templ


The W3c subsystem provides parsers for XML (eXtensible Markaup Language), HTML (HyperText Markup Languge), CSS (Cascading Style Sheets), and JSON (JavaScript Object Notation) that follow the respective W3C standard. The input is an arbitray character stream, the output is an abstract syntax tree following the W3C Document Object Model (DOM) or a CSS or JSON syntax tree. In addition, an error handler can be provided. Each parser resides in a separate module and uses a related scanner (module) for tokenizing the input stream.
   In order to avoid excessive string object creation, all parsers optionally support string pooling. String pooling means that string objects use a single shared instance if they occur multiple times. If string pooling is used (default off), string objects should be treated as immutable.

The subsystem W3c also provides an importer for HTML documents and clipboard data (HtmlImporter) based on UTF-8 encoding. Note that it is not possible to import all HTML/CSS constructs exactly as they appear in a modern browser. However, the importer tries its best to handle at least those properties that have a correspondence in BlackBox. The importer does not handle imported or embedded style sheets but it does handle inline style attributes because clipboard HTML data is based excusively on inline styles.

W3c doesn't use any other CPC services.

StdCoded File <=> PacCoded File (266 / 106 kByte - Release 5-May-2018)


By Robert D. Campbell

A collection of general purpose and eclectic tools (Wand: tool used by a magician).

Wands provides a large number of Tools of general use for programming, and for manually accessing some of the facilities provided in subroutine form in Lib. A few examples are:

Wands uses the services provided by Algebra, Casket, CpcChill, CpcCompressor, Ctls, Filter, Frame, Lib and Multi.

StdCoded File <=> PacCoded File (1.220 / 557 kByte - Release 24-Apr-2017 - Chill 12


By Gérard Meunier

Simulation of waves (Example of bitmap manipulation by WinApi calls).

It's just a little pool. And it may rain upon it.

Water uses the services provided by Babel and Util.

StdCoded File <=> PacCoded File (59 / 29 kByte - Release 23-Oct-2004)


By Marc Frei

Publishing BlackBox documents on Internet or Intranets.

Some time ago we have actually put together a very rough prototype of a BlackBox subsystem Web. The subsystem "Web" allows you to publish simple BlackBox documents and forms as web pages.

The documentation that is included assumes that the Web subsystem is used together with a CGI-capable web server (e.g. Apache or Microsoft IIS). In order to facilitate experimentation with our subsystem web, you need additionally Stewart Greenhill's lightweight web server "Dbu" which runs directly from within BlackBox.

Web uses the services provided by CommTCPAsync and Dbu.

StdCoded File <=> PacCoded File (209 / 86 kByte - Release 21-Sep-2007)


By Carl Glassberg, Gérard Meunier and Helmut Zinn

Analysing Web Log Files.

Would you like to know how many users visit your website? How many downloads they have done? Which downloads belong to the top 10? Here you are.

Webstat analyse the web server's log file. It produces usage statistic reports about hits, files, pages, visits, sites and bytes transfered. The result is separated in users, robots and total access. It also reports a top ten list of downloads and countries. Further it is possible to select more than one log file to create one report over a long piriod of time (e.g. one year).

This subsystem contains a nice tool which determine the country by IP address. You enter the IP address and get the country as result. The ip address to country database has about 500,000 records and 240 countries.

Webstat uses the services provided by Coco, Ctls, Pac and Util.

StdCoded File <=> PacCoded File (5059 / 2225 kByte - Release 6-July-2021)


By Eugene Temirgaleev

List of open windows.

When you are opening more the 9 windows during your work then switching windows via the menu Window becomes inconvenient. I wrote a small program, which will list all open windows inside a dialog box and allows to switch them there. Here is that program. It may be also useful for you.

WorkWindows doesn't use any other CPC services.

StdCoded File <=> PacCoded File (10 / 5 kByte - Release 2-Apr-2008)


By Peter M. Kushnir

Using the Document Object Model and Extensible Markup Language.

The Xmlcore subsystem is a DOM Level 2 implementation and a DOM-based XML parser .

DOM (Document Object Model) is a W3C definition of a generic, platform-independent API for representing hierarchical document structures in computer memory. You can read more about it at

XML (Extensible Markup Language) is a general purpose specification for creating user-defined markup languages. It allows the content of a document to be defined separately from its formatting, making it easy to reuse that content in other applications or for other presentation environments.

Xmlcore is designed to parse, modify and generate XML files into DOM structures as described in the W3C (World Wide Web Consortium) recommendations

Xmlcore doesn't use any other CPC services.

StdCoded File <=> PacCoded File (213 / 99 kByte - Release 20-Sep-2023)


By Koen Desaeger and Helmut Zinn

Xy Games.

Subsystem Xy contains games based on XyColorPlane grafik. We offer something unique: a compromise between the mono-tasking of the original XYplane and the perfect cooperative multitasking of Blackbox. The following games are included: "IFS (Fractale)", "Life", "Lights on", "Minesweeper", "Reversi (Othello)", "Tic Tac Toe", "Vier Gewinnt (Connect Four)", "Pac Man", "Snake", "Tetris" and "Tron".

Xy uses the services provided by Ctls.

StdCoded File <=> PacCoded File (811 / 273 kByte - Release 5-Aug-2023)


By Vladimir N. Sidorov

Nondestructive compression using the Deflate algorithm.

This is a tool for creating and extracting zip archives. It is a port of Zlib to BlackBox from Oberon V4. Zlib implements the Deflate algorithm for lossless data compression. It provides in-memory compression and decompression functions, including integrity checking of the uncompressed data. Compression can be done in a single step if the buffers are large enough, or by repeated calls to the compression function.

Zlib doesn't use any other CPC services.

StdCoded File <=> PacCoded File (281 / 115 kByte - Release 20-Sep-2023)


Introduction | Subsystems | Topics | Authors | Date | Links | FAQ | Downloads
A..C | D..H | I..N | O..S | T..Z

Last Updated 20th September 2023