Previous PageIndexList Of FiguresList Of Tables

Anhang

A Produktvergleich

Die folgende Tabelle soll einen Überblick über die Hardwareanforderungen und den Leistungsumfang der Entwicklungsumgebungen ermöglichen, mit denen die Beispiele dieses Buches durchgeführt werden können. Ein detaillierter Leistungsvergleich ist nicht beabsichtigt.

Produkt

MS-C/C++

Quick-C

Borland C++

Turbo C++

Visual C++

 

mit SDK

 

f. W.

f. W.

f. W.

Umgebung

DOS/

Windows

DOS/

Windows

Windows

 

Windows

 

Windows

   

C++-Compiler

ja

nein

ja

ja

ja

Prozessor

ab 386

ab 286

ab 286

ab 286

ab 386

RAM min/empf

4MB/8 MB

2MB/4MB

4MB/8MB

3 MB

4MB/6MB

HD min/empf

18MB/52MB

7MB/?

50 MB

12 MB

30MB/60MB

Win-Klassen

MFC 1.0

nein

OWL

ja

MFC 2.0

Dialog-Editor

ja

ja

Resource-Workshop

Resource-Workshop

App.-Studio

Image-Editor

ja

ja

"

"

"

Font-Editor

ja

nein

"

"

ja

Hotspot-E

ja

nein

ja

ja

ja

Help-Compiler

ja

nein

von MS

ja

ja

Makro-Assemb.

nein

nein

ja

ja

nein

Anmerkung:
Visual C++ ist in zwei Versionen verfügbar, der Standard- und der Professional-Version. Die Standard-Version löst Quick-C für Windows ab und enthält keinen Optimierungscompiler, keine SDK-Tools und ist in den Debug-Möglichkeiten eingeschränkt. Die Professional-Version ist der Nachfolger von C/C++ 7.0.

B Weitere Tools

Die C-Entwicklungssysteme für WINDOWS-Anwendungen enthalten eine unterschiedliche Zahl weiterer Tools für die fortgeschrittene Programmierung, den Programmtest und zur Optimierung der Anwendungen. Die wichtigsten sollen an dieser Stelle mit ihrem Verwendungszeck genannt werden:

Debugging
Spezielle Programme erlauben es, die Windows-Anwendungen direkt zu testen, indem ihr Ablauf in allen Details verfolgt wird. Es können auch spezielle Situationen oder Anwenderbefehle simuliert werden.

Andere Programme testen die Anwendungen indirekt, das heißt, sie unterwerfen sie speziellen Bedingungen. So können sie neben Arbeitsspeicher und Festplattenspeicher dem Programm auch während des Ablaufes Dateihandles dadurch entziehen, daß sie diese Ressourcen für sich selbst reservieren (engl.: allocate).

Monitorprogramme
Mit dem Programm Dr. Watson von Microsoft (DRWATSON.EXE) lassen sich Windows- und Windows-Anwendungsfehler in Dateien festhalten, damit man auch nach einem Absturz des Systems die Ursachen feststellen kann. Dieses Programm läuft im Hintergrund und überwacht das System. Falls notwendig, kann Dr. Watson so eingestellt werden, daß eine Windows-Anwendung selbst nach einem sogenannten GP-Fehler (Allgemeine Speicherschutzverletzung, engl.: General Protection) weiterläuft.
Bei Borland C++ werden ähnliche Aufgaben vom Programm WINSPECTOR übernommen.

Einige Programme erlauben die simultane Überwachung des Arbeitsspeichers während des Programmablaufs. Sie zeigen Speicheradressen und die Speicherverwendung an. So kann man beispielsweise feststellen, ob Programme bestimmte Ressourcen nach ihrer Verwendung auch wieder korrekt freigeben.

Die Nachrichten, die zwischen den Windows-Anwendungen und Windows ausgetauscht werden, können ebenfalls mit verschiedenen Programmen laufend überwacht werden.

Analyse
Zur Analyse des Computersystems, der Hardware und der Software, dienen spezielle Diagnoseprogramme. Sie zeigen an, welcher Prozessor eingebaut ist, wie groß der Arbeitsspeicher und die Festplatte sind, welches Betriebssystem und welcher Maustreiber geladen sind und vieles mehr.

Dateien, die Programmcode enthalten, wie beispielsweise Windows-Anwendungen, Dynamische Link-Bibliotheken (DLL) und Font-Dateien, enthalten im sogenannten Kopfteil (engl.: header) Verwaltungsinformationen. Diese können mit speziellen Programmen angezeigt und verändert werden.

Mit anderen Programmen kann man feststellen, welche Teile einer Windows-Anwendung häufig durchlaufen werden, also die zeitkritischen Komponenten sind. Wenn man diese dann optimiert, so gelangt man zu einer besseren Performance der gesamten Anwendung.

Sonstiges
Wenn man Teile des grafischen Windows-Bildschirms vergrößern möchte, um Details zu ermitteln oder sie zu kopieren (<Alt>+<Druck>), so kann man sich sogenannter Zoom-Utilities bedienen. Ihre Anwendungsfläche wirkt wie eine Lupe und muß nur auf die gewünschte Stelle gezogen werden.

Mit Hilfe eines Font-Editors werden bestehende Font-Dateien verändert oder neue erzeugt. Je nach Art des Programms können bestimmte Typen von Fonts, wie Raster-, Vektor- und TrueType-Fonts, bearbeitet werden.

Da Anwendungen für Windows oft aus vielen und manchmal auch großen Dateien bestehen, gibt es Hilfsprogramme zur Komprimierung und Expandierung. So kann man große Anwendungen auf einer noch halbwegs erträglichen Zahl von Disketten ausliefern.

Alte Anwendungen für Windows müssen nicht bei neuen Windows-Versionen auch neu übersetzt werden. Haben Tests ergeben, daß sie einwandfrei arbeiten, so können sie interne Markierungen erhalten, die Windows mitteilen, daß sie zur aktuellen Version passen.

C Funktionen

Die folgende Liste enthält beispielhaft einige Funktionen, die im Buch noch nicht ausführlich erläutert wurden. Für eine vollständige und ausführliche Beschreibung aller Funktionen sehen Sie bitte in der Online-Hilfe oder den Handbüchern nach.

MessageBox
Syntax:

Rückgabewert:

LoadCursor
Syntax:

Rückgabewert:

Bemerkungen:

Die Bezeichnung IDC steht für "ID Cursor".

LoadIcon
Syntax:

Rückgabewert:

Bemerkungen:

SetCursor
Syntax:

Rückgabewert:

Bemerkungen:

WinHelp
Syntax:

Parameter:

Rückgabewert:

Bemerkungen:

Beispiel:

case WM_DESTROY:
  WinHelp(hwnd, lpszHelpFile, HELP_QUIT, NULL)

Die folgende Tabelle zeigt die möglichen Werte des Parameters fuCommand und die zugehörigen Werte des dwData Parameters:

fuCommand

dwData

Bedeutung

HELP_CONTEXT

Ein unsigned long Integer, der die Kontextnummer des Themas enthält.

Zeigt die Hilfe an, die durch die Kontextnummer festgelegt ist. Die Nummern sind im [MAP]-Abschnitt der HPJ-Datei definiert worden.

HELP_CONTENTS

Wird ignoriert. Sollte auf 0L gesetzt werden.

Zeigt das Inhaltsverzeichnis an, so wie es durch die CONTENTS-Option im [OPTIONS]-Abschnitt definiert wurde.

HELP_SETCONTENTS

Ein unsigned long Integer, der die Kontextnummer des Themas enthält, das die Anwendung als Inhaltsthema verwenden möchte.

Legt fest, welches Inhaltsthema angezeigt werden soll, wenn der Benutzer <F1> drückt.

HELP_CONTEXTPOPUP

Ein unsigned long Integer, der die Kontextnummer des Themas enthält.

Zeigt in einem Pop-Up-Fenster ein bestimmtes Hilfethema an, das durch eine Kontextnummer spezifiziert wurde. Die Nummer ist im [MAP]-Abschnitt der HPJ-Datei definiert worden..

HELP_KEY

Ein Zeiger auf eine Zeichenkette, die ein Schlüsselwort für das gewünschte Thema enthält.

Zeigt das Thema an, das dem Schlüsselwort entspricht. Werden mehrere Themen gefunden, wird die "Suchen" Dialogbox angezeigt.

HELP_PARTIALKEY

Ein Zeiger auf eine Zeichenkette, die ein Schlüsselwort für das gewünschte Thema enthält.

Zeigt das Thema an, das dem Schlüsselwort entspricht. Werden mehrere oder keine Themen gefunden, wird die "Suchen" Dialogbox angezeigt. Soll nur die "Suchen" Dialogbox erscheinen, muß eine leere Zeichenkette übergeben werden.

HELP_MULTIKEY

Ein Zeiger auf die MULTIKEYHELP Struktur, wie sie in windows.h definiert ist. Diese Struktur legt die Tabelle der Fußnotenzeichen und Schlüsselwörter fest.

Zeigt das Thema an, das durch ein Schlüsselwort in der zusätzlichen Schlüsselworttabelle definiert wird.

HELP_COMMAND

Ein Zeiger auf eine Zeichenkette, die das auszuführende Makro enthält.

Führt das Makro aus.

HELP_SETWINPOS

Ein Zeiger auf die Struktur HELPWININFO (definiert in windows.h). Diese Struktur bestimmt die Größe und Position des Hilfefensters.

Zeigt das Hilfefenster gemäß den übergebenen Daten an.

HELP_FORCEFILE

Wird ignoriert. Sollte auf 0L gesetzt werden.

Sorgt dafür, daß WinHelp die richtige Datei anzeigt. Wird die richtige Datei bereits angezeigt, geschieht nichts. Anderenfalls öffnet WinHelp die richtige Datei.

HELP_HELPONHELP

Wird ignoriert. Sollte auf 0L gesetzt werden.

Zeigt das Thema Hilfe benutzen an.

HELP_QUIT

Wird ignoriert. Sollte auf 0L gesetzt werden.

Meldet der Windows-Hilfe, daß sie nicht länger benötigt wird. Wird Hilfe auch von keiner anderen Anwendung momentan verwendet, wird sie geschlossen.

D Meldungen

Die folgende Liste enthält beispielhaft einige Meldungen. Für eine vollständige und ausführliche Beschreibung aller Meldungen sehen Sie bitte in der Online-Hilfe oder den Handbüchern nach.

WM_MOUSEMOVE
Diese Nachricht wird geschickt, wenn der Benutzer die Maus bewegt.
Parameter-Beschreibung:
wParam Enthält einen Wert, der anzeigt, ob bestimmte Tasten gedrückt sind (wParam entspricht der Variablen parameter1 in den ersten Beispielprogrammen des Buches). Es kann sich dabei um eine Kombination der folgenden Werte handeln::

lParam Enthält den Wert der x- und y-Koordinaten des Cursors (lParam entspricht der Variablen parameter2 in den ersten Beispielprogrammen des Buches). Die x-Koordinate ist das niederwertigere Wort, die y-Koordinate das höherwertige. Die Koordinaten beziehen sich immer auf die obere linke Ecke.

WM_LBUTTONDBLCLK
Diese Nachricht wird geschickt, wenn der Benutzer die linke Maustaste doppelklickt.
Parameter-Beschreibung:
wParam Enthält einen Wert, der anzeigt, ob bestimmte Tasten gedrückt sind (wParam entspricht der Variablen parameter1 in den ersten Beispielprogrammen des Buches). Es kann sich dabei um eine Kombination der folgenden Werte handeln:

lParam Enthält den Wert der x- und y-Koordinaten des Cursors (lParam entspricht der Variablen parameter2 in den ersten Beispielprogrammen des Buches). Die x-Koordinate ist das niederwertigere Wort, die y-Koordinate das höherwertige. Die Koordinaten beziehen sich immer auf die obere linke Ecke.
Hinweis:
Nur Fenster, deren Fensterklasse den Stil CS_DBLCLKS haben, können Doppelklick-Nachrichten erhalten!

Literaturverzeichnis

Marcellus Buchheit: Windows Programmierbuch, Sybex Verlag, 1992
Helmut Erlenkötter, Volker Reher: Programmiersprache C, Rowohlt Verlag, 1992
Helmut Erlenkötter, Volker Reher: Betriebssystem Windows 3.1, Rowohlt Verlag, 1992
Charles Petzhold: Programmierung unter Windows, Microsoft Press, 1990

Previous PageTop Of PageIndexList Of FiguresList Of Tables

This Web page was created using a Trial Version of HTML Transit 3.0.