Programmierer-Area

Der Bereich für GEOS-Programmierer. Hier gibt es einige GOC-Quelltexte und weitere Informationen. Die GOC-Quelltexte sind Freeware, soweit in den Code-Files selbst nichts anderes festgelegt wurde. Einige der Dateien sind in deutsch, andere sind in englisch. Bitte beachten Sie die Beschreibungen.
Zur Installation der einiger Programme wird eine aktuelle Version des Universal-Installers benötigt. Diese kann hier heruntergeladen werden.

English    This area contains sample GOC codes and other information. They are provided as freeware, without any warrenties. See copyright notice in the archives for special copyright conditions. Some of the contents are in English and some in German. Look at the description, please.
To install some programs from this site, you need the Uni-Installer application. The actual version of the Uni-Installer program is available for download here.


Der Programmierer-Bereich ist in folgende Gruppen gegliedert:

Eine separate Download-Seite gibt es für:


 

Programmier-Tools

Kleine Helferlein erleichtern das Programmieren manchmal erheblich. Hier gibt es diverse Hilfen zum Programmieren für GEOS.

In this section you can find some tools to make the programming for GEOS easier.
 
Random-Maker
45,7 kByte
Version 1.0
Oktober 2007

Mehr Infos

Das Programmieren eines guten Zufallsgenerators ist kein triviales Problem. Dieses Tool erlaubt das Testen von Zufallsgeneratoren nach dem Verfahren der linearen Kongruenz mit verschiedenen Paramteren um so einen für einen bestimmten Zweck geeigneten Genarator auszuwählen. Der Generator kann als GOC-Quellcode geschrieben und so in eigene Programme eingebunden werden.
To program a good random number generator is not a trivial task. This tool allowas you to select different parameters for a random number generator and performs some test, how good the generator is. After that, you can write the generator as GOC code. You can simply include it into your program.

This program is still in German, but not very complicated to use. Look at the screen shot. I will translate the program on a programmers request.

File To Code
22,5 kByte
Version 1.0
Oktober 2007

Mehr Infos

Dieses kleine aber feine Tool ermöglich das Einlesen einer (binären) Datei und erzeugt daraus einen GOC-Quelltext, der direkt in eine Resource geschrieben und bei Bedarf mit FileWrite() wieder in eine Datei verwandelt werden kann.
This simple Tool converts a binary file into a GOC-Source sequence, that can be store in a resource inside your code and may be written using FileWrite(). Only this German version is available - but is it very esay to handle without knowing any German.
Links zu weiteren Programmen Weitere nützliche Programme zum Programmieren, die nicht in dieser Tabelle angeboten werden, da sie nicht ausschließlich für Programmierer geeignet sind.
  • Code-Maker - Erstellt GOC Source-Code für neue Anwendungen und Libraries nach dem Bauskastenprinzip. Der erzeugte Code ist sofort compilierbar und lauffähig sowie sehr gut dokumentiert. Da viele Bezeichner durch Ihre Vorgaben gesetzt werden, ist er auch viel einfacher nutzbar als die Beispielprogramme aus dem SDK.
    Das Tool ist so wichtig, dass es einen eigenen Abschnitt im Programmierer-Bereich hat.
  • Resource-Maker - Unverzichtbares Tool, mit dem man Grafiken und andere Daten in eine extra Daten-Datei (Resource) auslagern kann. Alle Schnittstellen sind dokumentiert. Das Tool ist so wichtig, dass es einen eigenen Abschnitt im Programmierer-Bereich hat.
  • HexView - Hex-Viewer mit Patch-Tool
  • Install Creator - Anlegen von Installations-Pakten für die eigenen Programme
  • Binary Compare - Byteweiser (binärer) Vergleich von Dateien und Ordnern

Oher programms, useful for programming in GOC. Follow the links above to see what they do and if they are available in English too.
 

Der Code-Maker

Das beste "Rapid Application Development Tool" (sehr frei übersetzt: "Klick dir ein Programm zusammen"), das es je für PC/GEOS gegeben hat. Und es ist Freeware.

The Code-Maker is the best "Rapid Application Development Tool" ever seen for PC/GEOS. It's Freware.
 
Eine der am wenigsten produktiven Aufgaben beim Erstellen einer neuen Applikation ist das Zusammenstellen der "Standard-Funktionen" , die oft einen ganz bestimmten Schema gehorchen müssen, damit die Applikation arbeitet. Ein Beispiel ist das GEOS-Document-Interface, bei dem bestimmte Messages in bestimmter Weise behandelt werden müssen, damit ein neues Dokument angelegt, ein vorhandenes Dokument geöffnet oder gespeichert werden kann. Der Code-Maker entlastet den Programmierer von diesen Standard-Aufgaben, indem er nach dem Baukastenprinzip ein funktionierendes und sofort compilierbares Frameset erstellt, dass genau die Bestandteile enthält, die für die gewünschte Anwendung notwendig sind.

Einige wesentliche Eigenschaften

  • Applikationen mit und ohne Dokumente sowie Libraries können erzeugt werden
  • Unterstützung von DOS und VM-Dokumenten
  • Unterstützung von "Multiple Lauchable" Applikationen (mehrere Instanzen können gestartet werden)
  • Unterstützung von GONZO- und Resource-Maker Libraries
  • Erzeugt funktionierenden und sofort compilierbaren Code
  • Die notwendien Handler für die Objekte und Controller sind schon eingebunden
  • Der Code ist sehr gut kommentiert

Code-Maker deutsch
223,8 kByte
Version 1.0
Februar 2008

Screenshots

Code-Maker - Anwendungsbeispiele

  • Sie wollen ein neues PC/GEOS-Projekt beginnen? Nutzen Sie den Code-Maker! Sie werden sehen, wie viel Arbeit Ihnen erspart bleibt.
  • Sie wollen eine vorhandene Applikation erweitern? Der Code-Maker erzeugt Beispielcode, wie bestimmte Funtionen realisiert werden können. Kopieren Sie den Code einfach in Ihre Applikation.
  • Sie haben sich mit bestimmten Themen des SDK noch nie auseinander gesetzt (z.B. dem Document-Interface) oder Sie sind Anfänger mit dem SDK? Der Code-Maker zeigt Ihnen anhand gut dokumentierter Beispiele, wie man bestimmte Probleme angehen kann.
  • Sie brauchen "mal eben" eine kleine Applikation z.B. um etwas zu testen oder verschiedene Varianten auszuprobieren? Der Code-Maker befreit Sie vom ganzen "drumherum", so dass sie sich auf Ihr eigentliches Problem konzentrieren können
Hinweis: Das Help-File ist in der vorliegenden Version 1.0 noch etwas rudimentär. Und leider gibt es noch keinen Print-Controller.

Code-Maker English
237.7 kByte
Version 1.0
Feb. 2008
This is the English version of the Code-Maker. It contains the translated program and English versions of all required libraries. The help file and the code resource are still in German. This means that the created code is still commented in German. You may translate the code resource, if you want. Contact me, if you do this, please. To get a feeling what you can do with the Code-Maker, click on the Screenshots link.

 

Resource-Maker und dazugeöriges

Der Resource-Maker ist ein Freeware-Werkzeug, dass bei keinem GEOS-Programmierer fehlen sollte.

The Resource-Maker is a very important tool for any GEOS developer. It's Freware.
 
Wenn Sie in einer Applikation Grafiken, Animationen oder andere umfangreiche Daten verwenden wollen, ist es eine gute Idee, sie nicht direkt im Programmcode unterzubringen. Das separate Speichern in einzelenen Dateien erfordert jedoch einen hohen Verwaltungsaufwand. Besser ist es, alle Daten in einer einiziegn Datei, einer Ressource, zusammenzufassen. Der Resource-Maker bietet Ihnen genau diese Möglichkeit und macht die Verwaltung dieser Daten während der Programmierens oder später extrem einfach. Bei Bedarf können die Resource-Dateien durch ein Passwort (natürlich nicht das "normale" GEOS-Passwort) geschützt werden.
Binary File Lib
68,5 kByte
Version 1.0
Oktober 2007
Das ist eine Ergänzungs-Library für den Resource-Maker, die es ermöglicht Dateien innnerhalb einer Resource anzuspeichern. Weitere Infos für Programmierer sind auf Anforderung erhältlich.
This is a AddOn library (still in German) for the Resource Maker tool, that allows you to store files inside of a resource. Additional information for programmers are available on request.
Resource Maker Application
114,0 kByte
Version 1.0
Oktober 2007
(Anwendung, kein Sourcecode) Ein Werkzeug, dass es dem Programmierer ermöglicht Daten wie Grafiken oder Animationen aus dem eigentlichen Programm auszulagern und gleichzeitig extrem einfach darauf zuzugreifen. Der Resource Maker kann diese Resource-Dateien erzeugen. Um sie in einem eigenen Programm zu verwenden benötigt man das Developer-Paket (siehe unten).
(Application, no code) This tool makes it very easy to store your data objects like graphics and animations in an extra file (called a resource) and access it in a very simple way. The resource maker is the tool to create the data resources. When you wish to use it in your own programs, you need the developer package (see below).
Data Resource Developer Packagae
187,7 kByte
Dieses Paket enthält alle notwendigen Dateien, um als Programmierer die vom Resource-Maker erzeugten Daten zu verwenden oder sogar eigene Datenformate für den Resource Maker zu erzeugen. Der Zugriff auf Resource-Dateien wird duch eine ausführlich kommentierte Unterstützungs-Library (DRESLIB.GEO, Header, LDF und SYM files enthalten) extrem einfach.
This package contains all files for accessing "resource files" created with the Resource Maker. There is a support library (DRESLIB.GEO, Headers, LDF and SYM included) which makes the access to resource data very simple. Because of the most of the code is commented in German, there are two files for english programmers: ENGLISH.TXT contains a short description of the idea behind resources and the Resource Maker and the NewWrite file "English description" contains a more detailed explanation, including english description of all routines of the DRESLIB library.
Resource Maker swat files
454,7 kByte
Wer eigene Daten-Formate für den Resource Maker erzeugen und diese unter swat testen will, der benötigt die SYM-Dateien der vom Resource-Maker verwendeten Librarys.
If you wish to create your own data format library for the Resource Maker, you may wish to swat it. Then you need the SYM files of the librarys, used by the Resource Maker.
Tiny Animation Player Source
24,9 kByte
Der Tiny Animation Player verwendet das Dateiformat des Resource-Makers um Animationen zu speichern. Er ist daher ein Beispiel, wie man unter Verwendung der DRESLIB-Library auf Resource-Dateien und ganz speziell auf das Animations-Objekt aus dieser Library zugreifen kann. Hier ist der komplette Sourcecode dazu. Um den Code zu compileren braucht man die DRESLIB Header und LDF aus dem Developer-Paket (siehe oben).
The Tiny Animation Player uses the data file format created with the Resource Maker to store animations. Therefore, it is an example how to access resource files using the DRESLIB support library and especially how to use the animation object from this library. This is the complete source code of the player. You also need the Developer Package (above) to compile the code.
GroupView Example
27,5 kByte
Dieses Beispiel zeigt, wie einfach es unter Verwendung der DRESLIB-Libray ist, auf Resource-Dateien zuzugreifen. Es ist ein einfaches Viewer-Programm, dass Resource-Inhalte, die nach einem bestimmten (einfachen) Schema strukturiert sind, anzeigen kann. Details sind in der Code-Datei beschrieben. Um den Code zu compileren braucht man die DRESLIB Header und LDF aus dem Developer-Paket (siehe oben), die compilierte Geode ist aber im Archiv enthalten.
This is an English documented example, especially designed to show how simple it is to access data resource files. It is a simple viewer for resources (created using the Resource Maker) which contains data groups, arranged in an special, simple way (see code file for details). Compiled Geode is included. You also need the developer package (DRESLIB headers and LDF, above) to compile the code.
 

Besipiel-Quelltexte in GOC

There are some sampe source codes available.
Updated Serial Example
12,3 kByte
Geändertes Beispiel aus dem SDK zum Zugriff auf die seriellen Ports. Enthält einen Bugfix und eine übersichtlichere (wenn auch noch nicht perfekte) Struktur.
This is a modified example from the SDK. It deals with the serial port access and contains a bugfix and some changes to make it somewhat more readable.
SSMeta Library Example
11,3 kByte
Beispiel-Appliaktion zum Zugriff auf die SSMeta-Library, in der die Basisfunktionen für Cut, Copy und Paste von Spreadsheed und Datenbank-Programmen implementiert sind. Dieses Beispiel zeigt, wie man damit die Serienbrief-Funktion von NewWrite ansprechen kann.
Example to show how to access the clipboard via the SSMeta-Library, which manages the basic functions for cut, copy and paste of spreadsheed and database applications. This example basically shows how to make the mail merge function of NewWrite work with your data.
Wuppels Source
23,6 kByte
Kompletter Quelltext der Wuppels-Applikation. Demonstriert unter anderem die Arbeit mit dynamisch angelegten Bitmaps und die flackerfreie Darstellung von Bildfolgen.
Source code for wuppels application. Shows how to create and access bitmaps at runtime and how to draw on screen without flicker.

Dokumente zu GOC-Programmierung

There are some documents about GOC programming available for download.

Document-Interface Messages Dokumentation

Deutsche Version
8,1 kByte

English version
7.8 kByte

Feb. 2008

Fehlerkorrektur zu: Dokument-Messages, die mit üblichen User-Aktionen verbunden sind
Die Dokumentation zu diesem Thema im ConceptsBook ist fehlerhaft. Einige Messages wurden vergessen, bei anderen stimmt die Reihenfolge des Aufrufs nicht. Dieses Dokument im GeoWrite-Format enthalten getestete Informationen über die gesendeten Messages und deren Reihenfolge.
Error correction about: Document Messages Associated with Common User Actions
The documentation obout this in the Concepts Book is wrong. Some messages are not mentioned, ohers are in wrong order. The document (GeoWrite format) contains tested information about sended messages and its order.
GOC Crashkurs
60,5 kByte
Ein kompletter, deutscher Einsteiger-Kurs in die GOC-Programmierung. Die grundlegenden Konzepte hinter der GOC-Programmierung werden an einem einfachen Beispiel erläutert und Schritt für Schritt erklärt. Der Quelltext der besprochenen Applikation ist enthalten. Ein lauffähiges SDK wird vorausgesetzt.
A German introduction in the GOC programming.
Erste Schritte mit dem SDK
Als Text ansehen (GEOS-Zeichensatz!)
Datei Downloaden
6,5 kByte
Dieser Text beschreibt, wie man das DOS-SDK einrichtet. Das DOS-SDK ist die einfachste Variante, mit GOC zu programmieren. Es läuft sowohl unter reinem DOS als auch unter Windows 95, 98, XP und 2000.
Weiterhin enthält die Datei Tipps, wo man beim Studieren der SDK-Dokumentationen beginnen soll.
A German description how to make the DOS-SDK running.
Tipps zur C-Programmierung
26,5 kByte
Dieser englische Text von Shiv Dutta and Gary Hook richtet sich an Anfänger in der C-Programmierung. Er beschreibt im wesentlichen, wie man seinen Quelltext gestalten kann, damit er lesbar und übersichtlich bleibt. Auch wenn man (gerade als Anfänger) hier etwas über die C-Programmierung an sich lernen können, ist es kein Einsteigerkurs in die Sprache C, sondern es werden nur einige wichtige Aspekte herausgegriffen.
Ich habe den Text durch ein paar Anmerkungen zu GEOS ergänzt.
Original description from the autors Shiv Dutta and Gary Hook: "This article has been written with the needs of the developer in mind. We have put together a set of guidelines that have served us well as developers and consultants over the years, and we offer these as suggestions that may help you in your job."
Besonderheiten beim Einstieg in die GOC-Programmierung
16,3 kByte
Dies ist eine erweiterte Übersetzung des Whitepapers "Common mistakes of new Geos programmers". Der Text richtet sich an "fortgeschrittene Anfänger" in der GOC-Programmierung, d.h man sollte schon ein wenig programmiert haben und die grundlegenden Begriffe aus GEOS-Programmierung kennen. Er beschreibt "typische" Problemsituationen, die aus der spezifischen GEOS-Architektur herrühren können und ist daher auch für "erfahrene" Programmierer eine empfehlenswerte Lektüre.
This German text is the translation of the white paper "Common mistakes of new Geos programmers".
Whitepapers zur GEOS Programmierung.
Download (zipped)
14,5 kByte
Das Archiv enthält 4 sogenannte Whitepapers - öffentliche Dokumente - zur GEOS-Programmierung in englischer Sprache. Nachdem man die ersten Schritte in der GEOS-Programmierung gemacht hat, solltem man die Texte unbedingt lesen - selbst wenn man nicht jeden Passus sofort versteht, sie helfen einem enorm weiter (mir ging es jedenfalls so).
Die Dateien liegen als HTML-Version vor. Ich habe sie verlinkt, aber nicht verändert. Der Link am Seitenende funktioniert daher nicht. Verwenden Sie den "Zurück"-Schalter Ihres Browsers, um hierher zurückzukehren.

Mistakes.htm - Common mistakes of new Geos programmers
   Besonderheiten bei der GEOS-Programmierung.
   Eine deutsche Übersetzung gibt es hier.
Multisrc.htm - Creating Applications with Multiple Source Files
   Wie schreibt man eine Applikation mit mehrern Source-Files.
Optimize.htm - Optimizing your Application for speed and heap usage
   Wie optimiert man seine Applikation.
Solidcod.htm - Writing Solid Code in GEOS
   Wie schreibt man stabilen Code.
This are 4 white papers about GEOS programming. You should read them when you have some experience with the SDK. The files are available for download (zipped) and for online view, because they are *.HTM files. I did not modify the files - so the link on the bottom of the pages will not work. Use the back button of your browser, please.
Mistakes.htm - Common mistakes of new Geos programmers
Multisrc.htm - Creating Applications with Multiple Source Files
Optimize.htm - Optimizing your Application for speed and heap usage
Solidcod.htm - Writing Solid Code in GEOS

 
Zurück zum Anfang

Fragen, Anregungen, Hinweise bitte an: Rainer Bettsteller