Der Epina Delphi-Kurs bietet Ihnen eine allgemeine Einführung in das Programmieren mit Delphi/Pascal. Mit vielen ausgearbeiteten Beispielen können Sie direkt in die Delphi-Programmierung einsteigen. Mehr dazu finden Sie hier....

2. Programm: No Exit

Wir wollen nun ein Programm schreiben, das Properties und Events in sehr einfacher Weise einsetzt. Ziel dieser Übung ist es ein Programm zu schreiben, das man nicht mehr schließen kann. Dies wird erreicht, indem man einerseits das Formular so einstellt, dass die Windows-Knöpfe verschwinden, und andererseits den (von uns programmierten) Knopf zum Schließen des Programms nicht mit der "close;" Funktion verknüpft, sondern den Knopf bei jedem Klick davonhüpfen lässt.

Das gewünschte Benutzerinterface ist also ziemlich simpel: ein leeres Formular und ein Knopf links oben:

.
Im Folgenden eine Anleitung um dieses Programm zu erzeugen (Falls Sie mit bestimmten Schritten nicht vertraut sind, sollten Sie Programm 1 nochmals durcharbeiten, dort werden diese Schritte im Detail erklärt).

 

Schritt Aktivität Kommando Anmerkungen
1. Erzeugen Sie eine neue Applikation und speichern Sie diese ab.

File/New/Application
File/Save All

Details im Programm 1
2. Bringen Sie einen Knopf auf das Formular und Beschriften Sie ihn mit 'Programm beenden' Knopf in Component-Palette auswählen und auf Formular klicken. Property 'Caption' entsprechend einstellen. Machen Sie den Knopf etwa 5 cm breit und beschriften Sie ihn, indem Sie im Object Inspector die Property Caption editieren.
3. Knopf mit Programmcode verknüpfen, der die Position des Knopfes verschiebt Doppelklick auf den Knopf im Formular

Durch den Doppelklick auf den Knopf erzeugt Delphi voll automatisch den Code des Event Handlers 'OnClick'. Schreiben Sie hier nun zwei Programmzeilen die die Position des Knopfes verändern:

Button1.Left := random (400);
Button1.Top := random (300);

4. Programm speichern File/Save All ... sicher ist sicher ...
5. Programm übersetzen und ausführen Run/Run oder F9 drücken Sie können schon ausprobieren, wie es ist, wenn einem ein Knopf unter der Maus davon hüpft...
6. Programm unschließbar machen Klicken Sie auf das Formular und suchen Sie im Object Inspector die Property 'BorderIcons' und setzen Sie alle Subproperties auf 'false' Die property BorderIcons enthält alle Standard-Windowsknöpfe eines Formulars (rechts oben in jedem Windows-Fenster). Wenn man die alle unsichtbar macht, kann das Fenster nicht mehr geschlossen werden.
9. Programm übersetzen und ausführen Run/Run oder F9 drücken So, jetzt haben Sie ein Problem. Sie können das Programm nicht mehr beenden (gratuliere zum durchschlagenden Erfolg!)

Download: prog_002.zip [2 kB]

Was kann man nun tun, um ein Programm wie das unsrige dennoch schließen zu können? - Nun es gibt drei Auswege:

1. Delphi hat während der Entwicklung eines Programms immer die Oberkontrolle. Falls ein Programm nicht so arbeitet wie man es erwartet, kann man durch Drücken der Taste Ctrl-F2 jedes laufende Programm "abschießen". Klicken Sie dazu zuerst auf den oberen Querbalken der Delphi-Konsole, damit Delphi aktiviert wird und den Fokus erhält. Nun Drücken Sie Ctrl-F2 - Voila! Das widerspenstige Programm ist gestoppt.

2. Man kann durch Drücken der Tastenkombination Alt-F4 das Programm schließen (und damit beenden).

3. Als dritte Möglichkeit, falls das Programm unter der Kontrolle von Delphi läuft, kann man das Programm mit Hilfes des Windows Task-Managers beenden.

Persönl. Anmerkung: Nach meiner Erfahrung tun sich Anfänger schwer zwischen Formular und laufender Applikation zu unterscheiden (da ja beide gleich ausschauen und eventuell sogar übereinander liegen). Hier gibt es mehrere Möglichkeiten der Unterscheidung: 1. die Windows-Taskleiste; dort sieht man welches Programm aktiv ist. 2. Das Formular hat im Unterschied zum laufenden Programm ein Punktegitter. 3. Delphi zeigt im Windows-Fensterbalken an, wenn ein Programm gestartet wurde, indem es den Status anzeigt: [Running].

Last Update: 2008-09-09