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)
By Helmut Zinn
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 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)
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 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 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:
Babel doesn't use any other CPC services.
StdCoded File <=> PacCoded File (597 / 239 kByte - Release 1-Mar-2005)
By Helmut Zinn
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.
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 (1795 / 203 kByte - Release 30-Sep-2012)
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)
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)
By Helmut Zinn
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 (294 / 118 kByte - Release 20-Feb-2013)
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)
By Helmut Zinn
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 (161 / 67 kByte - Release 23-May-2013)
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:
CamTools: A wrapper around the Sequencers of BlackBox, which makes it possible to implement multiple undo/redo actions. E.g.: undoing/redoing a set of actions in stead of one at a time.
CamLightupButtons: Picture buttons that light up when you move your mouse over the button
CamLists: The module CamLists defines the data types List and ListReader. Any storable object (extension of Stores.Store) can be added to a list. All manipulations to a list (adding and removing objects) which alter the contents of the list are implemented as operations. This means that all manipulation actions are undoable and redoable.
CamToolBars: Toolbars with "hot" buttons, that light up when the mouse moves over them.
CamProcScan: A simple program to quickly get an overview of all implemented procedures in a module and a tool to quickly jump to the one you want to go to. This module also contains a procedure to make all keywords bold and to make all comments blue and italic.
Cam doesn't use any other CPC services.
StdCoded File <=> PacCoded File (91 / 37 kByte - Release 9-Feb-2004)
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)
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:
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.
The module Co_Routines 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 represents the simplest form for periodic execution. The scheduler is for runtime control of both.
Co_ doesn't use any other CPC services.
StdCoded File <=> PacCoded File (1804 / 78 kByte - Release 7-May-2013)
By Helmut Zinn
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:
Coco doesn't use any other CPC services.
StdCoded File <=> PacCoded File (393 / 161 kByte - Release 10-Nov-2012)
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)
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 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)
By Helmut Zinn
Cpc is a subsystem maintained on the Component Pascal Collection web site. It comprises individual modules that do not require a subsystem each, and that provide tools or utilities that may be of general use to Component Pascal users.
Developers from the wider Component Pascal developer community are encouraged to submit Modules for this subsystem.
Individual Module names are registered with Helmut Zinn.
Component Pascal Collection disclaims any responsibility for the performance, function, maintenance, or any other aspects, of Modules published in this subsystem.
Component Pascal Collection reserves the right to withdraw Modules from this subsystem.
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)
By Helmut Zinn
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)
By Gérard Meunier and Helmut Zinn
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 / 25 kByte - Release 9-June-2012)
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)
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)
By Gérard Meunier and Robert D. Campbell
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)
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)
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)
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 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)
By Marco Ciot
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)
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)
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 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)
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 doesn't use any other CPC services.
StdCoded File <=> PacCoded File (36 / 17 kByte - Release 23-Jul-2009)
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 | ( 31 / 15 kByte - Release 24-Jan-2006) |
| Basic Save-Set | StdCoded File <=> PacCoded File | (105 / 54 kByte - Release 24-Jan-2006) |
The following language are available here:
| FR | Français | StdCoded File <=> PacCoded File | translated by Gérard Meunier | (43 / 20 kByte - Release 24-Jan-2006) |
| DE | Deutsch | StdCoded File <=> PacCoded File | translated by Helmut Zinn | (51 / 23 kByte - Release 24-Jan-2006) |
| ES | Español | StdCoded File <=> PacCoded File | translated by Juan Antonio Ortega | (42 / 19 kByte - Release 24-Jan-2006) |
| PL | Polski | StdCoded File <=> PacCoded File | translated by Katarzyna Regent Nguyen | (54 / 26 kByte - Release 30-Oct-2009) |
By Helmut Zinn
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 (20 / 10 kByte - Release 26-May-2007)
About this project: Here are all my private patches and suggestions for the Oberon Microsystem's BlackBox Component Builder Version 1.5. You may find the same patches divided into individuall zip files on my blog http://community.livejournal.com/blackboxcb/. Those files also may contain additional information and/or steps to reproduce the fixed problem.
I recommend not to overwrite your original BlackBox files. The safe way to use these patches is to start BlackBox with a temporary working directory, for example:
blackbox.exe /use "C:\Temp\CpcPatches"
In this case BlackBox will search first in the temporary directory before search in the original BlackBox directory. If something will go wrong you simply remove the files in the temporary directory. The latest update in this package was issued 21st January 2007.
CpcPatches15 doesn't use any other CPC services.
StdCoded File <=> PacCoded File (464 / 181 kByte - Release 20-Feb-2007)
Do not use this patches for BlackBox version 1.6 !!!
By Stan Warford and Helmut Zinn
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 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 (85 / 38 kByte - Release 9-Jul-2007)
Module CpcRtfConv is a modified version of HostTextConv for handling data in RTF format. It supports both reading and writing RTF (Rich Text Format) files with the .rtf extension, and Cut-and-Paste between BlackBox and any other windows programs (e.g. Internet Explorer, Outlook, Word, OpenOffice, Wordpad). The implementation uses the standard BlackBox converter mechanisms. The main advantage of this module over the native RTF converter is that it supports importing and exporting the full Unicode character set.
CpcRtfConv is obsolete. You find the new version of RtfConv in subsystem Casket.
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)
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)
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)
By Gérard Meunier & Helmut Zinn
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)
A Stylist is essentially a list of Rulers Styles and associated StdProps. A Stylist object offers three main facilities:
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.
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'.
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)
By Kai Kietzke
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)
By Helmut Zinn
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 (18 / 9 kByte - Release 30-Jan-2013)
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)
By Juan Antonio Ortega, Helmut Zinn and Robert D. Campbell
Ctls is a subsystem that provides Picture Buttons using bitmaps and Picture Buttons using views.
Bitmap Buttons displays images. Images are loaded from bmp files (4, 8 and 24 bits per pixel formats are supported).
Views Buttons are controls that use other singleton views to display the current state. They have primarily been implemented to create picture buttons but they are not limited to displaying pictures only. In fact any singleton view can be used as a button state. This implements Command Button Controls whose appearance is an arbitrary BlackBox View. It features an easy-to-use graphical interface for configuring the Buttons.
A set of sample Arrow Buttons has been included. It provides 9 preconfigured versions of Views Buttons. The arrow forms included are top, up, down, bottom, start, left, right, end, and circle (well, we know a circle is not exactly an arrow, but it's still useful).
There are also controls for to display and handle simple Progress Bars as seen in many applications for long running commands. And last but not least there is a Track bar & Mixer control.
Sliders contains a simple Slider Control, a TwinSlider for specifying INTEGER ranges, and a simple CHARacter Edit Field.
Figures can be thought of as simplified inert Controls. Their main use to go onto Forms, but there is no reason why they shouldn't be used in any Container or Document. Their function is decoration.
Colour is a simple 'Property Editor' for updating the Color Property (part of Properties.StdProp) of items.
RealField and UnitField are modules that implements a Field, or 'Edit Field', Control similar to the standard BlackBox Field Control. This Control is limited in that it can only be linked to variables of type REAL, however it allows more options for formatting the REAL number.
In addition the value in the variable can be associated with a (physical) Dimension (such as Length or Mass). With the chosen Dimension (say Length) there can be associated a set of Units (eg metre, foot, inch, mile, etc.). The UnitField Control can display a chosen Unit, and automatically scale the value to preserve its meaning. The Control also supports further scaling by the standard SI prefixes (e.g. k for × 1000, or µ for ÷ by a million), and representation in logarithmic units (e.g. decibel).
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)
Subsystem Ctlsx contains a collection of controls e.g. Buttons, Captions, Fields, Tables.
CtlsxButtons work as CtlsButtonsV, but it is also possible to use them as radio buttons. A radio button has to be linked to an integer variable. In this case, the command of the button must be integrated into the notifier procedure.
CtlsxCalendars includes a Calendar Control that shows one month. It is possible to define the range of the calendar and toggle from month to month. Special days e.g. holidays can be defined by mouse clicks.
CtlsxCaptions adds color to the caption and allows changing the color to red, when the caption is linked to an integer variable and the corresponding number equals level property.
CtlsxColorIndicators just show a color. The form of the control can be changed by the properities inspector (Rect / Oval).
CtlsxFields allows formatation of integers and reals and a more convenient input of real numbers with the German keyboard. Also character variables can be linked to CtlsxFields.
CtlsxHourCtlsx is a control which allows selection of hours of one week, including different types of special days, e.g. holidays.
CtlsxLines draws horizontal and vertical lines (not really a control, but useful for forms)
CtlsxStdButtons provide a selection of prefactored buttons and comes with a form that eases application.
CtlsxSets allows selection of bits of a variable of type SET.
CtlsxSliders contains a slider control, similar to ObxSliders.
CtlsxTables is a table Control, which allows some formatation (numbers, background, font, frames, ...). You can add skills to each cell e.g. to prevent editing, allow insertion of cols and rows, skip cells, toggle strings (yes/no, right/left, ...) by mouse click. Limited conversion to Excel is also possible.
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 24th May 2013