Computer & Technik

Betriebssysteme

Windows

Aufbau eines Windows Programms

Doch zunächst zu den Ressourcen. Bevor wir diese genauer auseinan­derpflücken, eine kurze Begriffsbestimmung.

ICON
Jede WINDOWS-Applikation sollte zumindest einen ICON haben, der vom Programm-Manager zur Anzeige verwendet werden kann. Wie die­ser ICON definiert wird, sehen wir später. An dieser Stelle genügt es festzuhalten, daß der Programm-ICON vorhanden sein sollte. Ist er es nicht, verwendet WINDOWS den Default-ICON: ein schwarz umrande­tes Rechteck mit weißem Hintergrund.

Erzeugt wird der ICON zunächst mit dem ICON-Editor des Whitewater Resource Toolkits (WRT). Abgespeichert wird die Definition in ei­nem binären Format, das von normalen Texteditoren  nicht gelesen werden kann.

CUROSR
Benötigt eine Applikation keinen besonderen Cursor, kann der De­fault-Cursor verwendet. Dies ist der bekannte Pfeil mit Spitze nach links oben. Sol­len spezielle Effekte erzielt werden, kann mit dem WRT eine eben­falls binär abge­legte Cursor-Definition erzeugt werden.

BITMAP
Bitmaps sind rechteckige Grafiken, die hardwareunabhängig abge­speichert sind und von WINDOWS besonders schnell an­gezeigt werden können. Sie werden nur benötigt, wenn fest vorgegebene Grafiken bei­spielsweise als Logo angezeigt werden sollen. Bei Bedarf können Sie mit dem WRT erzeugt werden.

Dialoge
Dem Definieren von Dialogen kommt unter WINDOWS eine besondere Be­deutung zu. Nicht zuletzt, weil sich fast alles um Dialoge dreht. WINDOWS-Applikationen verbringen (i.d.R.) die meiste Zeit damit, auf Ereignisse zu warten. Die meisten Programmzustände und Aufga­ben werden in Dialogen erfragt. Damit Programme leichter wartbar sind, können sie mit dem WRT graphisch erzeugt und in einer spe­ziellen Text­datei abgelegt werden. Die Dialog-Definitionen sind reiner ASCII-Text, der beliebig editiert werden kann, ja in der Regel sogar editiert werden muß, weil bei der gra­phischen Defini­tion doch immer wieder kleine Un­genauigkeiten auftreten, die per Hand beseitigt werden müssen.

Menüs und Textkonstan­ten
Auch Menüs werden im Klartext definiert. Zusammen mit den Dialog-Definitionen werden sie in einer sogenannten Re­sourcen-Datei zusam­mengefaßt. In dieser Textdatei werden alle Definitionen er­faßt, was auch bedeuten kann, daß sie per #include (man beachte die C-Schreibweise!) aufgenommen werden. Auch für die binären De­finitionen müssen jetzt Bezüge hergestellt werden, da der Re­source-Compiler alle Elemente mit einer Nummer versieht, über die sie später von WINDOWS erkannt und geladen werden.

Compilieren der Resour­cen
Die Resourcen-Datei, die standardmäßig die Extension '.RC' hat, muß per Hand compiliert werden. Dies erfolgt über den Aufruf

RC -r Dateiname[.RC]

Wichtig ist der Parameter -r, denn RC kennt zwei Betriebsmodi:

- Compilieren der Resourcen
- Linken der Resourcen in die fertige EXE-Datei

Einbinden der Resourcen
Der Resourcen-Compiler erzeugt eine Datei mit der Extension '.RES', die später von TPWin automatisch dazugelinkt wird, sofern der ent­sprechende Schalter im Source des Hauptprogramms gesetzt ist. Als Compiler-Directive dient der Buchstabe 'R'.

Die Zeile

{$R ASCII };

veranlaßt TPWin die Ressourcen in die EXE-Datei einzufügen. Die Na­men von ausführbarer Datei und Ressourcen-Datei müssen nicht not­wendigerweise übereinstimmen. Vielmehr ist es möglich, im Laufe der Zeit eine regelrechte Ressour­cen-Bibliothek aufzubauen, in der für alle Standard-Probleme Dialog-, Menü- oder Definitions-Struk­turen vorhanden sind.

Die Ressourcen können fast un­abhängig vom eigentlichen Programm editiert und erzeugt werden. Al­lerdings nicht ganz. Da WINDOWS die Ressourcen anhand einer Nummer erkennt, müssen die Nummern im Pro­gramm und in den Ressourcen überein­stimmen. Unter 'C' ist dies kein Problem, denn eine Include-Datei mit den notwendigen Konstan­ten kann sowohl in das Pro­gramm, als auch in die Ressourcen einge­bunden werden. Dummerweise funktioniert dies mit TPWin nicht so ele­gant, denn das WRT ist auf 'C' ausgelegt, während TPWin wie­derum keine 'C'-defines mag. Auf Kon­stanten sollte man aber den­noch nicht ver­zichten und diese eben einmal für WRT und einmal für TPWin defi­nieren.

Denkbar wäre, ein kurzes Turbo-Pascal-Programm zu schreiben, das aus einer 'C'-Header-Datei eine Pascal-Include-Datei erzeugt. Dazu wäre lediglich ein "dummer" Parser erforderlich, der alle Sequen­zen "#define " in "CONST " um­setzt.

Faßt man alle Einzelschritte zu zwei große Bereiche zusammen, verblei­ben als Aufgaben:

1. Erzeugen der Resourcen
2. Schreiben und Compilieren der Applikation





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-05-20 01:08:52 von textarchiv.alojado.de