Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau1 Windows-Programmierung mit dem C++ Builder 3 von Borland.

Ähnliche Präsentationen


Präsentation zum Thema: "Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau1 Windows-Programmierung mit dem C++ Builder 3 von Borland."—  Präsentation transkript:

1

2 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau1 Windows-Programmierung mit dem C++ Builder 3 von Borland

3 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau2 Windows-Programmierung Kommandozeilen-Programme verhalten sich prozedurorientiert Windows-Programme verhalten sich ereignisorientiert Reihenfolge der Programmabarbeitung durch Reihenfolge der Prozeduren festgelegt Der Nutzer legt die Reihenfolge der Programmabarbeitung fest. Windows-Programme teilen sich den Bildschirm den Speicher die Rechenzeit Windows-Programme teilen sich den Bildschirm den Speicher die Rechenzeit Sie bestehen aus Fenstern.

4 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau3 Messages (Nachrichten) Konzeption der Nachrichten: Zu jedem Ereignis wird eine Nachricht erzeugt Das kann sein: Tastendruck, Mausbewegung, Menübefehl. Die Nachrichten werden in Warteschlangen gestellt. Aus den Warteschlangen werden die Nachrichten verteilt, weitergeleitet oder abgeholt (hängt vom Betriebssystem ab) Konzeption der Nachrichten: Zu jedem Ereignis wird eine Nachricht erzeugt Das kann sein: Tastendruck, Mausbewegung, Menübefehl. Die Nachrichten werden in Warteschlangen gestellt. Aus den Warteschlangen werden die Nachrichten verteilt, weitergeleitet oder abgeholt (hängt vom Betriebssystem ab) Schlussfolgerung: Von Windows-Programmen sind Fenster und Nachrichten zu verwalten. Schlussfolgerung: Von Windows-Programmen sind Fenster und Nachrichten zu verwalten.

5 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau4 Inhalt einer Nachricht typedef struct { HWND hwnd; UINT message; WPARAM wparam; LPARAM lparam; DWORD time; POINT pt; } meldung; typedef struct { HWND hwnd; UINT message; WPARAM wparam; LPARAM lparam; DWORD time; POINT pt; } meldung; Kennziffer (Handle) des Fensters, welches die Nachricht empfangen soll. Nummer der Nachricht Spezifizierung der Nachricht. Uhrzeit der Nachricht Mausposition zur Zeit der Erzeugung der Nachricht

6 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau5 Inhalt einer Nachricht Einige Nachrichten: WM_MOUSEMOVE WM_LBUTTONDBLCLK WM_PAINT WM_DESTROY Einige Nachrichten: WM_MOUSEMOVE WM_LBUTTONDBLCLK WM_PAINT WM_DESTROY Gesendet bei einer Mausbewegung Gesendet bei Doppelklick mit der linken Maustaste Gesendet als Aufforderung zum Neuzeichnen des Fensters Gesendet zum Beenden des Programms

7 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau6 Benötigte Funktionen Die Hauptfunktion wird mit WinMain bezeichnet. Sie: füllt eine Fensterstruktur mit Attributen. registriert das Fenster bei Windows (Anmeldung) erschafft das Fenster und zeigt es erzeugt eine Nachrichtenschleife mit Übersetzung und Verteilung der Nachrichten Die Hauptfunktion wird mit WinMain bezeichnet. Sie: füllt eine Fensterstruktur mit Attributen. registriert das Fenster bei Windows (Anmeldung) erschafft das Fenster und zeigt es erzeugt eine Nachrichtenschleife mit Übersetzung und Verteilung der Nachrichten WNDCLASS wc; RegisterClass(&wc); Hauptfenster = CreateWindow(... TranslateMessage(&meldung); DispatchMessage(&meldung); Eine weitere Funktion Fensterfunktion empfängt die Nachrichten von WinMain und wertet sie aus. Entsprechend dem Typ und Inhalt der Nachricht sorgt der Programmierer dafür, dass als Reaktion auf die Nachricht Aktionen erfolgen Eine weitere Funktion Fensterfunktion empfängt die Nachrichten von WinMain und wertet sie aus. Entsprechend dem Typ und Inhalt der Nachricht sorgt der Programmierer dafür, dass als Reaktion auf die Nachricht Aktionen erfolgen Diese Funktionen sind in einer Bibliothek enthalten. Sie werden API-Funktionen genannt (Application Programming Interface) Die Prototypen befinden sich in windows.h. Diese Funktionen sind in einer Bibliothek enthalten. Sie werden API-Funktionen genannt (Application Programming Interface) Die Prototypen befinden sich in windows.h.

8 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau7 Beispiel Zeichne Funktionalität: Bei Programmstart wird ein leeres Fenster mit weißem Hintergrund erzeugt. Mit der linken Maustaste kann im Fenster beliebig gemalt werden. Doppelklick mit der linken Maustaste beseitigt das Gemalte, der Hintergrund wird wieder weiß. Funktionalität: Bei Programmstart wird ein leeres Fenster mit weißem Hintergrund erzeugt. Mit der linken Maustaste kann im Fenster beliebig gemalt werden. Doppelklick mit der linken Maustaste beseitigt das Gemalte, der Hintergrund wird wieder weiß. Kompletter Quelltext Die wichtigsten Bestandteile des Programms wurden in den vorigen Folien angegeben Funktionen Nachrichten Programm starten

9 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau8 Aufgabe 1 Programm starten Das Programm Zeichne soll um folgende Funktionalität erweitert werden: Bei Klick mit der rechten Maustaste soll eine Dialogbox mit der Meldung Klick mit der rechten Maustaste erscheinen (In der Titelleiste soll stehen: Meldung). Syntax (für unsere Zwecke): MessageBox(NULL,,, MB_OK); MB_OK ist eine Konstante, die zu MessageBox gehört. Als Nachricht sollte WM_RBUTTONUP benutzt werden. Warum nicht WM_RBUTTONDOWN? Das Programm Zeichne soll um folgende Funktionalität erweitert werden: Bei Klick mit der rechten Maustaste soll eine Dialogbox mit der Meldung Klick mit der rechten Maustaste erscheinen (In der Titelleiste soll stehen: Meldung). Syntax (für unsere Zwecke): MessageBox(NULL,,, MB_OK); MB_OK ist eine Konstante, die zu MessageBox gehört. Als Nachricht sollte WM_RBUTTONUP benutzt werden. Warum nicht WM_RBUTTONDOWN?

10 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau9 Aufgabe 2 Programm starten Der Hintergrund des Programms soll Grau sein (GRAY). An Stelle des Kreuzkursors soll ein Pfeilkursor benutzt werden (ARROW). Der Text in der Titelzeile soll lauten: Zeichenprogramm für Anfänger Der Hintergrund des Programms soll Grau sein (GRAY). An Stelle des Kreuzkursors soll ein Pfeilkursor benutzt werden (ARROW). Der Text in der Titelzeile soll lauten: Zeichenprogramm für Anfänger

11 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau10 Nothing is perfect... Funktionalität mal aus anderer Perspektive: Wir malen ein bisschen in unserem Programm. Dann wechseln wir mit Alt + Tab in ein anderes Programm (etwa den Explorer). Danach kehren wir mit Alt+Tab in das Zeichenprogramm zurück. Die Zeichnung ist verschwunden (zumindest der Teil, der verdeckt war). Das Programm ist also noch nicht gerade für den Verkauf geeignet. Nun zeichnen wir wieder und öffnen dann die Messagebox. Wenn sie geschlossen ist, ist die Zeichnung dahinter noch vorhanden. Funktionalität mal aus anderer Perspektive: Wir malen ein bisschen in unserem Programm. Dann wechseln wir mit Alt + Tab in ein anderes Programm (etwa den Explorer). Danach kehren wir mit Alt+Tab in das Zeichenprogramm zurück. Die Zeichnung ist verschwunden (zumindest der Teil, der verdeckt war). Das Programm ist also noch nicht gerade für den Verkauf geeignet. Nun zeichnen wir wieder und öffnen dann die Messagebox. Wenn sie geschlossen ist, ist die Zeichnung dahinter noch vorhanden. Um das Neuzeichnen bei Programmwechsel müssen wir uns also selbst kümmern, während das Neuzeichnen bei Messageboxen durch das Betriebssystem erfolgt. Das Neuzeichnen durch den Programmierer ist aber ein relativ komplexer Mechanismus! Um das Neuzeichnen bei Programmwechsel müssen wir uns also selbst kümmern, während das Neuzeichnen bei Messageboxen durch das Betriebssystem erfolgt. Das Neuzeichnen durch den Programmierer ist aber ein relativ komplexer Mechanismus!

12 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau11 Ressourcen In einem extra Bereich des Programms werden Materialien gespeichert, auf die das Programm bei Bedarf zurückgreifen kann (Ressourcen). Das sind Menüs Dialogboxen Bitmaps Ikonen Tastenkombinationen für beschleunigten Zugriff Zeichenketten Versionsinformationen In einem extra Bereich des Programms werden Materialien gespeichert, auf die das Programm bei Bedarf zurückgreifen kann (Ressourcen). Das sind Menüs Dialogboxen Bitmaps Ikonen Tastenkombinationen für beschleunigten Zugriff Zeichenketten Versionsinformationen Diese Ressourcen werden bei der Programmierung in einer extra Datei verwaltet (Ressourcen-Datei.RC). Sie werden durch einen extra Compiler compiliert und erst beim Linken der EXE zugefügt. Diese Ressourcen werden bei der Programmierung in einer extra Datei verwaltet (Ressourcen-Datei.RC). Sie werden durch einen extra Compiler compiliert und erst beim Linken der EXE zugefügt. Aber: Die Einbindung von Ressourcen in klassischem Windows ist ziemlich ungemütlich, und wir wollen darauf verzichten. Aber: Die Einbindung von Ressourcen in klassischem Windows ist ziemlich ungemütlich, und wir wollen darauf verzichten.

13 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau12 Experten und Zauberer erleichtern die Arbeit des Windows-Programmierers ungemein. Beherrschen muss er jetzt: C++-Programmierung Die mit der Entwicklungsumgebung mitgelieferten Klassenbibliotheken.... erleichtern die Arbeit des Windows-Programmierers ungemein. Beherrschen muss er jetzt: C++-Programmierung Die mit der Entwicklungsumgebung mitgelieferten Klassenbibliotheken. Nun geht man davon aus, daß der Rahmen für ein Windows- Programm im wesentlichen immer der gleiche ist: Eine MDI-Anwendung (MDI - Multiple Document Interface). Eine SDI-Anwendung (SDI - Single Document Interface). Eine Dialogbox. Nun geht man davon aus, daß der Rahmen für ein Windows- Programm im wesentlichen immer der gleiche ist: Eine MDI-Anwendung (MDI - Multiple Document Interface). Eine SDI-Anwendung (SDI - Single Document Interface). Eine Dialogbox. Auch ohne Zauberer hat der Windows-Programmierer nicht jedes Programm von Anfang an neu geschrieben, sondern vorhandene Programmgerüste benutzt. Trotzdem war das Programmieren mühselig. Auch ohne Zauberer hat der Windows-Programmierer nicht jedes Programm von Anfang an neu geschrieben, sondern vorhandene Programmgerüste benutzt. Trotzdem war das Programmieren mühselig. Der Experte oder Zauberer erzeugt das lauffähige Basisprogramm. verwaltet neu hinzukommende Klassen. kümmert sich um die Verbindung zwischen Ressourcen und Programmcode. Der Experte oder Zauberer erzeugt das lauffähige Basisprogramm. verwaltet neu hinzukommende Klassen. kümmert sich um die Verbindung zwischen Ressourcen und Programmcode.

14 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau13 Experten und Zauberer 2 Der Weg zu einer neuen Anwendung im Borland C++Builder: Menü Datei Neu Projekte SDI-Anwendung Wählen Sie das Verzeichnis und den Namen für das neue Projekt. Der Name sei Test. Das Projekt kann sofort erstellt werden. Man erhält ein Programm, welches bereits Datei-Mechanismen kennt, aber keine weitere Funktionalität besitzt. Der Weg zu einer neuen Anwendung im Borland C++Builder: Menü Datei Neu Projekte SDI-Anwendung Wählen Sie das Verzeichnis und den Namen für das neue Projekt. Der Name sei Test. Das Projekt kann sofort erstellt werden. Man erhält ein Programm, welches bereits Datei-Mechanismen kennt, aber keine weitere Funktionalität besitzt. Zauberer werden von Visual C++ (Microsoft) benutzt: Application Wizard - zaubert eine neue Anwendung Class Wizard - verwaltet Klassen und verbindet Ressourcen mit Klassen. Zauberer werden von Visual C++ (Microsoft) benutzt: Application Wizard - zaubert eine neue Anwendung Class Wizard - verwaltet Klassen und verbindet Ressourcen mit Klassen. Experten werden von Borland C++ (Borland Corp.) benutzt: Application Expert - erzeugt eine neue Anwendung Class Expert - verwaltet Klassen und verbindet Ressourcen mit Klassen. Experten werden von Borland C++ (Borland Corp.) benutzt: Application Expert - erzeugt eine neue Anwendung Class Expert - verwaltet Klassen und verbindet Ressourcen mit Klassen.

15 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau14 Der Experte ist am Wirken. Aufgaben Führen Sie die gleichen Prozesse noch einmal durch, aber mit folgenden Abwandlungen: Fenstermodell MDI anstelle SDI Fenstermodell Dialogbox Führen Sie die gleichen Prozesse noch einmal durch, aber mit folgenden Abwandlungen: Fenstermodell MDI anstelle SDI Fenstermodell Dialogbox

16 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau15 Wir modifizieren... Vorarbeit: Öffnen Sie die Dialogbox About mittels Klick auf den kleinen Dialog im Dateibaum. Schalten Sie im Objektinspektor auf Eigenschaften. Vorarbeit: Öffnen Sie die Dialogbox About mittels Klick auf den kleinen Dialog im Dateibaum. Schalten Sie im Objektinspektor auf Eigenschaften. Wir ändern die Dialogbox: Selektieren Sie jeweils die Texte und ändern Sie im Objektinspektor die Captions Produktname: Mein Computerprogramm Version: Version Copyright: Copyright Firma xyz Kommentare: Dieses Programm ist durch zahlreiche internationale Verträge geschützt. Titelzeile: Informationen zum Programm Wir ändern die Dialogbox: Selektieren Sie jeweils die Texte und ändern Sie im Objektinspektor die Captions Produktname: Mein Computerprogramm Version: Version Copyright: Copyright Firma xyz Kommentare: Dieses Programm ist durch zahlreiche internationale Verträge geschützt. Titelzeile: Informationen zum Programm Erstellen Sie neu und prüfen Sie das Ergebnis!

17 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau16 Wir erweitern das Menü... Vorarbeit: Menü suchen Klicken Sie im Dateibaum auf die AppForm. Man erhält den Rahmen des Programms. Im gepunkteten Bereich befinden sich drei Symbole, die das Menü symbolisieren, das Hauptmenü und die beiden Menübefehle. Vorarbeit: Menü suchen Klicken Sie im Dateibaum auf die AppForm. Man erhält den Rahmen des Programms. Im gepunkteten Bereich befinden sich drei Symbole, die das Menü symbolisieren, das Hauptmenü und die beiden Menübefehle. Wir erweitern das Menü: Selektieren Sie das Symbol für das Hauptmenü Wählen Sie Eigenschaften im Objektinspektor. Klicken Sie unter Items auf die rechte Spalte mit Menü Klick auf die drei Punkte rechts öffnet das Editierfenster. Selektieren Sie ganz unten den freien Platz und schreiben Sie im Objektmanager unter Caption Eigener &Dialog. Ziehen Sie den neuen Eintrag nach oben unter Speichern Wir erweitern das Menü: Selektieren Sie das Symbol für das Hauptmenü Wählen Sie Eigenschaften im Objektinspektor. Klicken Sie unter Items auf die rechte Spalte mit Menü Klick auf die drei Punkte rechts öffnet das Editierfenster. Selektieren Sie ganz unten den freien Platz und schreiben Sie im Objektmanager unter Caption Eigener &Dialog. Ziehen Sie den neuen Eintrag nach oben unter Speichern Erstellen Sie neu und prüfen Sie das Ergebnis! Der Befehl lässt sich anwählen, aber es passiert – nichts! Action ist gefordert!

18 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau17 Der Befehl zeigt Wirkung! Unser Ziel: Bei Auswahl des Menübefehls soll eine Messagebox erscheinen mit der Mitteilung: Menübefehl wurde erfolgreich ausgeführt! Unser Ziel: Bei Auswahl des Menübefehls soll eine Messagebox erscheinen mit der Mitteilung: Menübefehl wurde erfolgreich ausgeführt! Wie bereits einmal durchgeführt, öffnen Sie das Menü mit selektiertem Eigener &Dialog. Wählen Sie im Objektinspektor Ereignisse. Dann steht ganz oben Eigener Dialog1: TMenuItem Schreiben Sie rechts von OnClick MessageZeigen. Es wird eine neue Funktion erzeugt, der Rahmen ist komplett vorhanden. Wie eine MessageBox aufgerufen wird, ist bereits bekannt. Tragen Sie den Aufruf in den Funktionskörper ein! Wie bereits einmal durchgeführt, öffnen Sie das Menü mit selektiertem Eigener &Dialog. Wählen Sie im Objektinspektor Ereignisse. Dann steht ganz oben Eigener Dialog1: TMenuItem Schreiben Sie rechts von OnClick MessageZeigen. Es wird eine neue Funktion erzeugt, der Rahmen ist komplett vorhanden. Wie eine MessageBox aufgerufen wird, ist bereits bekannt. Tragen Sie den Aufruf in den Funktionskörper ein! Erstellen Sie neu und prüfen Sie das Ergebnis!

19 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau18 Was ist passiert? Ein weitere Experte war am Wirken... Der Eintrag in das Feld OnClick des Objektmanagers hat eine Reihe von Wirkungen gezeigt. Der Programmierer wird nur noch mit dem Ende der Kette konfrontiert: Das ist eine Funktion, die mit dem Auslösen des Menübefehls aufgerufen wird. Alles übrige bleibt verborgen. Es wird durch den Klassenexperten an den erforderlichen Stellen eingetragen. Ein weitere Experte war am Wirken... Der Eintrag in das Feld OnClick des Objektmanagers hat eine Reihe von Wirkungen gezeigt. Der Programmierer wird nur noch mit dem Ende der Kette konfrontiert: Das ist eine Funktion, die mit dem Auslösen des Menübefehls aufgerufen wird. Alles übrige bleibt verborgen. Es wird durch den Klassenexperten an den erforderlichen Stellen eingetragen. Möglich wurde dieses Vorgehen durch das Prinzip der objektorientierten Programmierung. Klassenbibliotheken enthalten allen Quellcode, der von Anwendungsexperten und Klassenexperten verarbeitet werden kann. Der Programmierer programmiert nur das, was er tatsächlich einstellen oder verändern kann. Möglich wurde dieses Vorgehen durch das Prinzip der objektorientierten Programmierung. Klassenbibliotheken enthalten allen Quellcode, der von Anwendungsexperten und Klassenexperten verarbeitet werden kann. Der Programmierer programmiert nur das, was er tatsächlich einstellen oder verändern kann. Daraus folgt aber nicht, dass der Programmierer jetzt weniger Kenntnisse benötigt. Das Gegenteil ist der Fall. Er muss die klassische Programmierung beherrschen, dazu die Methoden der Objektorientierung, und schließlich muss er die Klasssenbibliotheken der Entwicklungsumgebung kennen. Daraus folgt aber nicht, dass der Programmierer jetzt weniger Kenntnisse benötigt. Das Gegenteil ist der Fall. Er muss die klassische Programmierung beherrschen, dazu die Methoden der Objektorientierung, und schließlich muss er die Klasssenbibliotheken der Entwicklungsumgebung kennen.

20 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau19 Programm Quadrat Ziel: Das Programm Quadrat. Es berechnet Quadrate und dritte Potenzen einer Zahl So soll das Ergebnis aussehen: Sie benötigen eine neue Anwendung des AppExpert, aber diesmal in der Form einer Dialogbox. Mit den Voreinstellungen kann etwas experimentiert werden. So soll das Ergebnis aussehen: Sie benötigen eine neue Anwendung des AppExpert, aber diesmal in der Form einer Dialogbox. Mit den Voreinstellungen kann etwas experimentiert werden.

21 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau20 Dialogbox erstellen... Der Anwendungsexperte erzeugt eine Dialogbox (nötige und unnötige Vorarbeiten): Möglicherweise knirscht hier etwas im Builder. Ein reines Dialogprojekt erhält man, wenn der Projektbuilder neu geöffnet wird. Man erhält es (möglicherweise) nicht über das Dateimenü. Das neue Projekt wird in einem Verzeichnis Quadrat gespeichert. Namensänderungen führen zu Fehlern (Programmierfehler im Builder!). Dann wird der alte Projektbaum geöffnet und das neue Projekt eingehängt. Erstellen und Starten zeigen uns eine leere Dialogbox. Ihre Arbeitsfläche kann sofort verkleinert werden. Der Anwendungsexperte erzeugt eine Dialogbox (nötige und unnötige Vorarbeiten): Möglicherweise knirscht hier etwas im Builder. Ein reines Dialogprojekt erhält man, wenn der Projektbuilder neu geöffnet wird. Man erhält es (möglicherweise) nicht über das Dateimenü. Das neue Projekt wird in einem Verzeichnis Quadrat gespeichert. Namensänderungen führen zu Fehlern (Programmierfehler im Builder!). Dann wird der alte Projektbaum geöffnet und das neue Projekt eingehängt. Erstellen und Starten zeigen uns eine leere Dialogbox. Ihre Arbeitsfläche kann sofort verkleinert werden.

22 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau21 Wir füllen die Dialogbox Zunächst brauchen wir zwei Schalter: Einen zum Berechnen von Quadrat und dritter Potenz, einen zum Schließen. Klicken Sie den Schalter in der Standardleiste der Ressourcen an. Klick danach auf die Form bildet sie dort ab. Für die Vergabe von Namen usw. wird ständig der Objektmanager benutzt. Vergeben Sie Caption &Berechnen, Name BBerechnen Caption Sch&ließen, Name BSchliess Titel des Dialogs Berechnung von Quadrat und dritter Potenz Zunächst brauchen wir zwei Schalter: Einen zum Berechnen von Quadrat und dritter Potenz, einen zum Schließen. Klicken Sie den Schalter in der Standardleiste der Ressourcen an. Klick danach auf die Form bildet sie dort ab. Für die Vergabe von Namen usw. wird ständig der Objektmanager benutzt. Vergeben Sie Caption &Berechnen, Name BBerechnen Caption Sch&ließen, Name BSchliess Titel des Dialogs Berechnung von Quadrat und dritter Potenz Erstellen Sie neu und prüfen Sie das Ergebnis!

23 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau22 Die Schalter beschäftigen uns weiter... Berechnen-Schalter Default auf true Hint Neuberechnung der Werte ShowHint auf true Ereignis OnClick Berechnen Berechnen-Schalter Default auf true Hint Neuberechnung der Werte ShowHint auf true Ereignis OnClick Berechnen Erstellen Sie neu und prüfen Sie das Ergebnis! Das Programm lässt sich jetzt vernünftig schließen. Schließen-Schalter Default auf false Hint Das Programm wird beendet ShowHint auf true Ereignis OnClick Beenden Die erzeugte Funktion ruft Close(); Damit wird das Programm beendet. Schließen-Schalter Default auf false Hint Das Programm wird beendet ShowHint auf true Ereignis OnClick Beenden Die erzeugte Funktion ruft Close(); Damit wird das Programm beendet.

24 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau23 Schreiben von Zahlen Eingabe der Zahl Die Zahl wird in einem sogenannten Editfeld eingeben. Wir holen es aus der Standardleiste und plazieren es geeignet. Über das Editfeld setzen wir ein Label mit der Caption Zahl eingeben: Hint zum Editfeld: Zahl eingeben, die potenziert werden soll ShowHint auf true Text werde auf 1 gesetzt Eingabe der Zahl Die Zahl wird in einem sogenannten Editfeld eingeben. Wir holen es aus der Standardleiste und plazieren es geeignet. Über das Editfeld setzen wir ein Label mit der Caption Zahl eingeben: Hint zum Editfeld: Zahl eingeben, die potenziert werden soll ShowHint auf true Text werde auf 1 gesetzt Erstellen Sie neu und prüfen Sie das Ergebnis! Ausgabe der Zahlen Zwei Labels und zwei Editfelder. Bei beiden Editfeldern wird ReadOnly auf true gesetzt, damit ein Editieren nicht möglich ist. Ausgabe der Zahlen Zwei Labels und zwei Editfelder. Bei beiden Editfeldern wird ReadOnly auf true gesetzt, damit ein Editieren nicht möglich ist.

25 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau24 Das eigentliche Rechnen Die Funktion Berechnen Ist auf OnClick des Schalters bereits erzeugt worden. Sie wird nun gefüllt. Der Text des Edit1 steht über Edit1->Text zur Verfügung. Er wird in einen Puffer geschrieben. Dann wird der Text mittels atoi in eine Zahl konvertiert. Die Zahl wird quadriert und zur dritten Potenz erhoben. Das Ergebnis wird in Zeichenketten umgewandelt und in die Editfelder geschrieben. Die Funktion Berechnen Ist auf OnClick des Schalters bereits erzeugt worden. Sie wird nun gefüllt. Der Text des Edit1 steht über Edit1->Text zur Verfügung. Er wird in einen Puffer geschrieben. Dann wird der Text mittels atoi in eine Zahl konvertiert. Die Zahl wird quadriert und zur dritten Potenz erhoben. Das Ergebnis wird in Zeichenketten umgewandelt und in die Editfelder geschrieben. Erstellen Sie neu und prüfen Sie das Ergebnis! Klassische Nostalgie Ein klassisches Konsolenprogramm würde sinngemäß nur diese wenigen Zeilen enthalten. So ist eben die Entwicklung. Klassische Nostalgie Ein klassisches Konsolenprogramm würde sinngemäß nur diese wenigen Zeilen enthalten. So ist eben die Entwicklung. void __fastcall TForm1::Berechnen(TObject *Sender) { int Size = Edit1->GetTextLen(); Size++; char *Buffer = new char[Size]; Edit1->GetTextBuf(Buffer,Size); int n = atoi(Buffer); itoa(n * n, Buffer, 10); Edit2->Text = Buffer; itoa(n * n * n, Buffer, 10); Edit3->Text = Buffer; delete Buffer; }

26 Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau25 Vielen Dank dafür, dass Sie so gut mitgespielt haben! Mögen Sie zukünftig ein bisschen Spaß am Programmieren haben. Vielen Dank dafür, dass Sie so gut mitgespielt haben! Mögen Sie zukünftig ein bisschen Spaß am Programmieren haben. wünscht Ihnen


Herunterladen ppt "Windows-ProgrammierungProf. Dr. W. Voigt CES-Löbau1 Windows-Programmierung mit dem C++ Builder 3 von Borland."

Ähnliche Präsentationen


Google-Anzeigen