![]() |
Delphi ist ein Entwicklungssystem zum Erstellen von Windowsprogrammen. Dazu werden ein leistungsfähiger Pascal-Compiler, visuelle Komponenten und die Möglichkeit des Erstellens von Datenbankprogrammen in einem System vereinigt.
Mit Delphi kann jeder einfach, sicher und schnell Windowsprogramme entwickeln.
Der Vorteil von Windowsprogrammen liegt in ihrer einheitlichen Bedienung. Die meisten Windowsprogramme besitzen eine Menüleiste und ein Hauptfenster und lassen sich größtenteils mit der Maus bedienen. Programme werden in Fenstern ausgeführt, die oft nur einen Teil des gesamten Bildschirmes beanspruchen. Dieser Fenstertechnik verdankt Windows seinen Namen. Über Fenster und Dialoge, die sogenannten Benutzerschnittstellen, kommuniziert der Anwender mit dem Programm.
Die grafische Benutzeroberfläche von Windows unterscheidet sich in vielen Punkten vom textorientierten Betriebssystem DOS. Dies hat auch für den Programmierer Konsequenzen.
DOS | WINDOWS |
Unter DOS kann nur ein Programm gestartet werden. | Mehrere Programme können gleichzeitig gestartet werden. |
Das laufende Programm besitzt alleinigen und uneingeschränkten Zugriff auf die Hardware. | Mehrere Programme können gleichzeitig auf die Hardware
zugreifen, z.B. auf den Drucker. Der Zugriff auf die Hardware wird von Windows kontrolliert. |
Die Hardware wird direkt programmiert. | Windows stellt Funktionen für den Zugriff auf die Hardware zur Verfügung. Es werden z.B. dieselben Funktionen zur Druckeransteuerung für Laser-, Tintenstrahl- und Nadeldrucker verwendet. |
Die Oberfläche ist textorientiert. | Die Oberfläche ist grafikorientiert. |
Das Programm wartet auf Benutzereingaben, indem es in einer Schleife die Maus und die Tastatur abfragt. | Windowsprogramme bekommen eine Nachricht, wenn für sie eine Maus- oder Tastatureingabe vorliegt. |
Die Ein- und Ausgabe ist bildschirmorientiert. | Die Ein- und Ausgabe ist fensterorientiert. |
Die elektronische Datenverarbeitung (EDV) ermöglicht die Erleichterung der menschlichen Arbeit durch den Einsatz von Maschinen bzw. Computern. Damit der Computer verschiedene Arbeitsschritte automatisch ausführen kann, müssen diese vorher genau beschrieben werden. Ein Algorithmus ist eine Folge von Anweisungen, die genau diese Arbeitsschritte beschreiben.
Allgemein bezeichnet man einen Algorithmus als eine eindeutige Beschreibung eines endlichen Verfahrens zur Lösung einer Vielzahl von Problemen gleicher Art. |
Jedes Problem, dessen Lösung durch einen Algorithmus beschrieben werden kann, ist im Prinzip durch einen Computer lösbar.
Ein Programm ist eine Folge von Anweisungen (Algorithmus), die in einer Programmiersprache wie z.B. Pascal formuliert sind. |
In einem Programm stehen somit nur Anweisungen, die der Computer versteht und umsetzen kann.
Da man noch nicht in natürlicher Sprache mit einem Rechner
kommunizieren kann, wurden im Laufe der Jahre verschiedene Programmiersprachen entwickelt.
Der Unterschied zwischen gesprochenen Sprachen und Programmiersprachen liegt darin,
dass die Worte einer Programmiersprache nur eine Bedeutung zulassen, während der
Sinngehalt mancher Worte der Umgangssprache erst aus dem Kontext heraus deutlich werden
kann. Ein Rechner benötigt aber stets eindeutig formulierte Anweisungen zur
Bearbeitung.
Wie viele Programmiersprachen und Programmiersysteme es heute
weltweit gibt, lässt sich nicht beantworten. Es können einige hundert sein, da viele
Sprachen nur für spezielle Aufgaben und Einsatzgebiete konzipiert wurden. Die
bekanntesten Programmiersprachen lassen sich in Auszügen in folgende Hauptgruppen
unterteilen:
![]() |
1. Generation: Maschinensprachen | |||
Die ersten EDV-Anlagen (Ende der 40er Jahre) ließen sich nur maschinennah programmieren. Der Programmcode musste bitweise in den Speicher des Rechners geschrieben werden. Der Vorteil der maschinennahen Programmierung liegt bis heute darin, dass diese Art von Programm direkt von einem Computer ausgeführt werden kann. Allerdings sind sehr genaue Rechnerkenntnisse erforderlich, da alle Anweisungen in Form von elementaren Befehlen sehr kleinschrittig beschrieben werden müssen. Problematisch gestaltet sich die Fehlersuche, wenn ein Programm überhaupt nicht läuft oder falsche Ergebnisse liefert.
|
|||
2. Generation: Assemblersprachen | |||
Die Assemblersprachen, deren Befehlsvorrat speziell für jeden Rechnertyp zugeschnitten ist, verwenden anstelle des Binärcodes leichter verständliche Symbole, Mnemonics genannt. Ein Assemblerprogramm ist auf einem Computer nicht mehr direkt ablauffähig, sondern muss erst in ein entsprechendes Maschinenprogramm übersetzt werden. Ein Programm, das dies automatisch durchführt, bezeichnet man als Assembler, den Übersetzungsvorgang als assemblieren. Der Nachteil von Assemblerprogrammen besteht darin, dass sie auf eine ganz bestimmte Hardware zugeschnitten sind und sich nur schwer auf andere Computertypen übertragen lassen. Bei größeren Problemlösungen werden die Programme sehr umfangreich und damit wartungsunfreundlich. Daher werden Assemblersprachen hauptsächlich nur noch da, wo Programme und Programmsysteme schnell reagieren müssen, und für Teile des Betriebssystems eingesetzt.
|
|||
3. Generation: Prozedurale Programmiersprachen | |||
Diese Sprachengeneration, der die überwiegende Mehrheit der heute gebräuchlichen Programmiersprachen angehört, ist unabhängig von einem Computersystem. Lediglich der Übersetzer (Interpreter oder Compiler) muss an das jeweilige System angepasst sein und den entsprechenden Maschinencode erzeugen. Prozedurale Sprachen besitzen einen speziellen, der menschlichen Sprache angenäherten Befehlssatz, um Probleme aus einem bestimmten Anwendungsbereich zu lösen. Sie lehnen sich somit an die Denkweise des Programmierers an. Auch ohne fundamentierte Programmierkenntnisse lassen sich diese Programme leicht nachvollziehen. Die Bezeichnung "prozedural" kennzeichnet den modularen Aufbau der entsprechenden Programme in Prozeduren oder Funktionen.
|
|||
4. Generation: Nichtprozedurale Programmiersprachen | |||
Bei nichtprozeduralen Programmiersprachen wird nicht
mehr festgelegt, wie ein Problem gelöst wird, sondern der Programmierer beschreibt
lediglich, was das Programm leisten soll. Danach werden diese Angaben von dem
Programmiersystem in ein Programm umgesetzt. Der Vorteil dieser Sprachen besteht darin,
dass für diese Art der Programmierung keine umfangreiche Programmierausbildung notwendig
ist. Nichtprozedurale Programmiersprachen werden z.B. für Datenbankabfragen oder
Tabellenkalkulationen eingesetzt.
|
|||
5. Generation: Programmiersprachen der künstlichen Intelligenz | |||
Die Programmierung der künstlichen Intelligenz (KI) dient der
fortgeschrittenen Programmierung. Es wird versucht, die natürliche Intelligenz des
Menschen (z.B. seine Lernfähigkeit) durch entsprechend konstruierte Computer
nachzuvollziehen. Hierbei fließt beispielsweise auch die natürliche Sprache in die
Programmierung ein. KI-Programme werden überwiegend zu Forschungszwecken eingesetzt und
beschreiben Schlussfolgerungen aus Forschungsergebnissen. Erfolgreich werden derartige
Systeme zur Spracherkennung eingesetzt. Beispiel: Berechnung auswerten. |
Einordnung von Delphi:
Als komplexes Programmiersystem lässt sich Delphi in zwei Generationen einordnen:
|
Der Prozessor eines Computers kann nur Maschinenbefehle lesen
(bestehend aus Binärcode 0/1). Programme, die nicht in Maschinensprache geschrieben sind,
müssen erst in diese übersetzt werden.
Die Aufgabe des Übersetzens übernehmen eigens dafür entwickelte Programme, Interpreter
oder Compiler genannt.
Interpreter | Interpreter übersetzen (interpretieren) die Programme zeilenweise.
Das Programm kann deshalb zur Laufzeit geändert werden. Die Befehle werden Zeile für
Zeile in Maschinensprache übersetzt und vom Prozessor ausgeführt. Bei jedem Neustart des
Programms muss dieses auch wieder neu interpretiert werden. Aus diesem Grund können keine
Optimierungen vorgenommen werden, und die Programme laufen langsamer ab. Beispiele für Interpreter-Sprachen: Q-BASIC, JAVA, LOGO |
Compiler | Ein Compiler übersetzt einen Programmtext vollständig in
Maschinensprache und legt diesen in einer eigenständigen Programm-Datei ab. Während der
Compilierung optimiert der Compiler die Programmgröße und -geschwindigkeit. Beim
Neustart wird vom Prozessor direkt die Programmdatei abgearbeitet. Dadurch laufen compilierte Programme 10 bis 20 mal schneller ab als zu interpretierende Programme. Beispiele für Compiler-Sprachen: PASCAL, DELPHI, C++ |
Delphi erleichtert durch seine visuellen Komponenten wie Menüs, Schaltflächen und
Oberflächenkomponenten das Erstellen einer Benutzerschnittstelle in Windows. Dadurch wird
die Komplexität der Windowsprogrammierung, die auf Fenstern und Botschaften beruht,
wesentlich vereinfacht.
Hinter den visuellen Komponenten verbergen sich nicht nur grafische Darstellungen.
Vielmehr stellt jede Komponente dem Programm eine oder mehrere Funktionen zur Verfügung.
![]() Die Abbildung zeigt ein
typisches Dialogfenster, welches mit visuellen
Komponenten in Sekundenschnelle und ganz ohne "Insiderkenntnisse" erstellt
werden kann. |