Kurze Einführung in die Benutzung der KIWI C TOOLS V3.20
1. Vorwort:
Die KIWI C TOOLS V3.20 sind eine Sammlung von über 300 Funktionen, die den Großteil der täglichen Programmierarbeit erleichtern helfen.
Kernstück ist die Windows und virtuelle Screen Verwaltung, die den Aufbau SAA/CUA gemäßer Benutzeroberflächen ermöglicht.
Diese Windows und Screens können interaktiv mittels einem ScreenManager genannten Resourceneditor erstellt werden. welches eine enorme Zeitersparnis darstellt.
Mausbedienung ist komplett integriert, eine Case Sensitiv Online Hilfe ist verfügbar.
Zur Benutzung der Tools sind einige Grundkentnisse notwendig.
Diese Grundkenntnisse ersetzen nicht das Studium des Handbuchs, sondern sollen lediglich eine Eintrittserleichterung darstellen.
Lesen Sie bitte das Handbuch gründlich durch und informieren Sie sich dort über die gebotenen Möglichkeiten.
Sie sollten über ausreichende Grundkenntnisse der Programmiersprache C verfügen. Dieses Programm ist für nicht für das Erlernen der Programmiersprache C geeignet.
2. Lieferumfang:
Die Tools bestehen aus 4 Teilen:
2.1 Librarys
Es stehen für jeden Compiler 2 Librarys zur Verfügung, die als externe Librarys beim Linkvorgang angegeben werden müssen.
Die Notation der Librarys ist KW[TYP][VER][MM].
TYP ist der Compilertyp z.B. TC für Turbo C und Borland C oder MC für Microsoft C.
VER steht für die Versionsnummer der TOOLS, zur Zeit 32.
MM steht für das Verwendete Memory Modell M= Medium L=Large.
Beispiel KWTC32L ist Turbo C, Version 3.20 im Large Memory Modell.
2.2 ScreenManager und WindowManager
Der ScreenManager ist ein wesentliches Kernstück der KIWI C TOOLS V3.20. er ermöglicht die interaktive Erstellung beliebiger Bildschirmmasken und virtueller Windows. Dabei können alle verfügbaren Datentypen Ein- bzw. Ausgegeben werden und mittels definierbarer Pre- und Postfunktionen beliebig validiert werden, wobei der ScreenManager in der Lage ist, den notwendigen Sourcecode zu erzeugen. Er stellt das Gegenstück zu einem Resourceneditor unter Windows dar, und ermöglicht bei konsequenter Anwendung eine erhebliche Reduzierung des Arbeitsaufwand zur Erstellung von Benutzeroberflächen.
Der WindowManager ist ein Archivierungsprogramm, um vom ScreenManager erzeugte Masken in einer einzelnen Datei zu archivieren. Dabei bleibt der Zugriff auf einzelne Masken durch ein Benutzerprogramm erhalten. Sie erhalten somit die Möglichkeit anstatt 50 oder mehr einzelne Masken zu verwalten, diese in einer einzelnen Datei unterzubringen.3. Includefiles
Die Includefiles, die alle mit kiwi beginnen, stellen die Schnittstelle zu internen Daten und Funktionen dar.
KIWI_INC.H stellt alle Macros und Datentypen zur Verfügung und wird immer benötigt. In diesem Aufruf ist der Aufruf für STDIO.H enthalten.
KIWIPRO.H umfaßt die Prototypendeklarationen aller gebotenen Funktionen. Diese zu benutzen wird dringend empfohlen.
KIWIPRIN.H enthält die Steuermacros für die Druckausgaben.
KIWI_MEM.H enthält die Preprozessoranweisungen zur Umleitung der dynamischen Speicherverwaltung. Die Memory Shell überwacht Zugriffe auf den Heap und gibt Warnungen und Fehlermeldungen bei Fehlfunktionen wie Bereichsüberschreitung, Zugriff auf bereits gelöschte Bereiche usw. Die Benutzung wird sehr empfohlen, da Speicherfehler schwer zu lokalisieren sind. Die Memory Shell kann auch getrennt von den übrigen Funktionen benutzt werden.
Die nachfolgenden Files sollten nur dann benutzt werden, wenn es keine Schnittstellenfunktion gibt, die die gewünschten Daten manipulieren kann. Das Prinzip der KIWI C TOOLS V3.20 beruht auf Kapselung und Objektorientierung. Da keine Mechanismen in C bereit stehen, die Kapselung zu erzwingen, ist es guter Stil die Einhaltung der Kapselung selbst zu überwachen. Für die meisten Datenobjekte der internen Funktionen wie Windows, Screen und virtuelle Screens bestehen Schnittstellenfunktion, die Sie benutzen sollten um den Zustand zu erfassen oder zu ändern.
Benutzen Sie die Includefiles nur dann, wenn es nicht anders geht. Sie ersparen sich damit unter Umständen lange Fehlersuche.
KIWILIB.H stellt alle Bildschirmrelevanten Daten zur Verfügung
KIWIWIN.H stellt die Datendefinitionen für die Windows bereit.
KIWI_VS.H umfasst die Datendeklarationen der virtuellen Screens.
KIWIHELP.H enthält die Datentypen für die Online Hilfe.
KIWIGETF.H enthält die Daten für die Dateierfassungsroutinen.
2.3 Sourcecode (nicht Sharewareversion)
Wenn Sie die registrierte Version erwerben, bekommen Sie den kompletten dokumentierten Sourcecode geliefert.
2.4 Dokumentation:
Die mitgelieferte Dokumentation umfaßt zwei Dateien, die einen ASCII Abzug der Handbücher darstellen. Die Originalhandbücher sind in gebundener Form Teil der Vollversion, die registrierte Benutzer erhalten.
3. Begriffsdefinitionen:
Koordinaten werden von links oben nach rechts unten gezählt. Die linke obere Ecke hat immer die Koordinate 1,1, die rechte untere die Koordinate max_x,max_y. Jedes Window besitzt ein eigenes lokales Koordinatensystem.
WINDOW ist ein Bildschirmfenster, welches mit der Funktion open_window erzeugt werden kann. Windows werden mit einem Handle angesprochen, das vom Datyp WINDOW und ungleich null ist.
SCREEN ist der physikalische Bildschirm. Dieser wird intern gepuffert. Der Screen kann sowohl monochrom als auch farblich betrieben werden. Die Größe des Screens hängt von der vorhandene Hardware ab. Er kann bei VGA Karten bis 132x50 gehen. Geben Sie bei den Funktionen, die ein Windowhandle erwarten null an, wird der gesamte physikalische Bildschirm angesprochen.
Virtueller Screen ist ein virtueller Bildschirm, der nur im Speicher existiert. Die Größe hängt vom Speicher ab, kann jedoch nicht größer als 64 KB werden, welches in etwa einer Größe von 132x240 Zeichen entspricht. Sie können durch ein Window einen Teil des virtuellen Screens auf dem physikalischen Screen abbilden, indem Sie das Window mit dem Screen linken. Sie können auch mehrere Windows an einen Screen linken. Ist ein Window mit einen virtuellen Screen gelinkt, wird das Window als dynamisches Window ausgeführt, das heißt Sie können es am Bildschirm bewegen, den Inhalt scrollen oder die Größe ändern, in dem Sie die Maus benutzen oder bestimmte Tastenkombinationen.
Farbtabellen sind Zusammenstellungen von jeweils zwei Vorder- und zwei Hintergrundfarben, wobei die erste Kombination als Normal und die zweite als Inversdarstellung bezeichnet wird.
Es bestehen ingesamt 5 Farbtabellen, die beim Programmstart initialisiert werden sollten. Innerhalb des Programms erzeugen Sie unterschiedliche Farbdarstellung durch Verwendung dieser Farbtabellen. Erzeugte Windows behalten die Farben bei, die zur Ihrer Entstehungszeit aktiv waren.
Bildschirmausgaben werden bei Windowsorientierten Funktion immer mit einem Handle auf das Window versehen, in dem die Ausgabe erscheinen soll. Bei Bildschirmorientierten Funktionen erfolgt die Ausgabe auf den SCREEN.
Interner Windowmanager ist ein Subsystem, das es Ihnen ermöglicht jederzeit alle dynamischen Windows mittels Maus oder Tastatur zu manipulieren. Dazu benötigen Sie keine zusätzlichen Befehlszeilen oder das Abfangen von Events. Auch das Neuzeichnen überdeckter Windows übernimmt der Windowmanager für Sie.
4. Einbinden der TOOLS in eigene Funktionen:
Viele Bereiche der Tools stehen als Subsysteme zur Verfügung, die vor Ihrer Benutzung initialisiert, und nach der Benutzung reinitialisiert werden müßen. !!
init_screen und reset_screen für den SCREEN.
init_windows und reset_windows für die WINDOWS.
init_virtuell_screen und reset_virtuell_screen für die virtuellen Bildschirme.
init_help und reset_help für die Context Sensitive Hilfe
init_mouse und reset_mouse für die Mausbenutzung.
Betrachten Sie sich die Funktionen init.c und db_init.c in dem Verzeichnis examples. Dort sind einige Beispiele für die Vorbereitung und die Beendigung der Toolfunktionen angegeben.
Dieses Programm initialisiert den Screen, den Window und den virtuell Screen Bereich, die Maus und den internen Windowmanager.
Dann wird ein dymaisches Window eröffnet, ein Window mit automatisch gelinkten virtuellem Screen.
Die Warteschleife wartet bis Tastendruck, in dieser Zeit kann mit der Maus das Window manipuliert werden.
Dann Window zu und alle Bereiche reinitialisieren.
Dieses Programm ist als Source ebenfalls in den Examples enthalten.
4.2 Erstellen des Beispielprogramms:
Kopieren Sie die Includefiles in Ihr Includefileverzeichnis.
Tippen Sie den Source oder übernehmen Sie Ihn aus dem examples Verzeichnis in Ihren Entwicklungsumgebung.
Compilieren Sie in im Medium Memory Modell.
Linken Sie den Source zusammen mit der notwenigen KIWI C TOOLS V3.20 Library.
Als Beispiel die Befehle für MSC 6.0
cl /c /AM beispiel.c
link beispiel,,,[PFAD]/kwmc32m.lib;
Als Ergebnis bekommen Sie die Datei beispiel.exe.
5. Einführung in die Benutzung des ScreenManagers
1. Rufen Sie den ScreenManager auf. es erscheint die Abfrage nach dem Heimverzeichnis. geben Sie hier bitte den Pfad an, in dem die restlichen Dateien des ScreenManagers untergebracht sind, anderfalls können Sie die Online Hilfe und die Festlegungen nicht benutzen.
2. Dann wählen Sie die Option Datei, Neue Maske :Der ScreenManager fragt den Namen der Maske ab, geben Sie bitte ein <Test><RETURN>.
3. Daraufhin erscheint ein Window, indem Sie beliebige Änderungen vornehmen können.
4. Nach Beendigung ihrer Eingaben wählen Sie wieder Datei und Maske Speichern. Auf die Frage ob Sie speichern möchten geben Sie Ja an, auf die Frage ob Eingabeparameter gesetzt werden sollen geben Sie Nein an.
5. Dann bestätigen Sie das Abspeichern und verlassen den ScreenManager.
6. In Ihrem Sourcecode verändern Sie bitte die Zeile mit:
win=open_vs_window
nach
win=load_window("TEST");
7. Compilieren Sie Ihren Source und linken Sie ihn erneut.
Nun wird anstatt dem dynamischen Window, die erzeugte Maske geladen. Diese ist vom Typ statisch und kann deshalb nicht mit der Maus manipuliert werden. Ändern Sie im ScreenManager den Modus der Maske auf dynamisch und Sie verhält sich wie das Window zuvor. Wie diese Änderung vor sich geht, entnehmen Sie bitte dem Handbuch SM.TXT.
6. Beispielprogramme:
In dem Verzeichnis Examples finden Sie das aktuelle Demoprogramm, bei dem viele Funktionen und Möglichkeiten demonstriert werden. Dieses Programm ist im Source enthalten, so das Sie sich im Zweifel dort weitere Informationen beschaffen können. Es ist weiterhin das Programm zur Erstellung des Registrierungsformulars im Source vorhanden sowie ein kleines Spiel zur Darstellung der Buttons und deren Möglichkeiten.
7. Hot Line
Registrierten Benutzern steht die Hotline zur Verfügung. Sie können dort Anrufen oder Ihre Programmteile per Fax senden, Sie bekommen dort fachgerechte Hilfe vom Entwickler.
8. Sonstiges:
Haben Sie generelle Fragen, Anregungen oder möchten Sie über weitere Produkte aus unserem Haus informiert werden, nehmen Sie bitte Kontakt auf.
KIWI SOFT Dipl. Ing. Joachim Friedrich
Heinrichsglück
5908 Neunkirchen/Siegerland
Tel: 02735/61248 Fax: 02735/ (ab Mai 1992 verfügbar)