⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delphi02.htm

📁 Delphi - Programmierkurs.html
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="Mirko Pabst">
   <meta name="Classification" content="Education, Bildung">
   <meta name="Description" content="Grundlagen der Programmierung mit Delphi - Grundkurs Informatik am Lessing-Gymnasium Plauen">
   <meta name="KeyWords" content="Delphi, Oberfl鋍he, ereignisgesteuerte Programmierung, Schrittfolge, Projektverwaltung, Unit, Informatik, Mirko, Pabst">
   <meta name="GENERATOR" content="Mozilla/4.6 [de] (Win95; I) [Netscape]">
   <title>2. Grundlagen der Programmierung mit Delphi</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000" background="acrop_bk.gif">
&nbsp;
<table CELLSPACING=0 CELLPADDING=0 >
<tr>
<td VALIGN=TOP WIDTH="159"><img SRC="athena.gif" ALT="athena.gif (7242 Byte)" height=140 width=157></td>

<td>&nbsp;
<center><table BORDER BGCOLOR="#C0C0C0" >
<tr>
<td ALIGN=LEFT BGCOLOR="#EEEEEE"><img SRC="top.gif" height=17 width=593>
<br><b><font color="#FF0000"><font size=+2>&nbsp;2. Grundlagen der Programmierung
mit Delphi</font></font></b></td>
</tr>

<tr>
<td ALIGN=CENTER VALIGN=CENTER BGCOLOR="#EEEEEE"><a href="index.htm"><img SRC="i.gif" BORDER=0 height=25 width=73></a><a href="delphi01.htm"><img SRC="l.gif" BORDER=0 height=24 width=25></a><a href="delphi03.htm"><img SRC="r.gif" BORDER=0 height=25 width=25></a></td>
</tr>

<tr>
<td BGCOLOR="#EEEEEE">&nbsp;<a href="#2.1.">2.1. Die Delphi-Entwicklungsumgebung</a>
<br>&nbsp;<a href="#2.2.">2.2. Das Prinzip der ereignisgesteuerten Programmierung</a>
<br>&nbsp;<a href="#2.3.">2.3. Schrittfolge zur Programmerstellung mit
Delphi</a>
<br>&nbsp;<a href="#2.4.">2.4. Projektverwaltung unter Delphi</a>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="#2.4.1.">2.4.1.
Beispiel f&uuml;r die Dateistruktur eines Projektes</a></font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="#2.4.2.">2.4.2.
Dateien, die in der Entwicklungsphase erzeugt werden</a></font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="#2.4.3.">2.4.3.
Vom Compiler erzeugte Projektdateien</a></font>
<br><font size=-1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="#2.4.4.">2.4.4.
Empfohlene Vorgehensweise im Unterricht - Projektsicherungsprogramm</a></font>
<br>&nbsp;<a href="#2.5.">2.5. Struktur einer Unit</a></td>
</tr>
</table></center>
</td>
</tr>
</table>

<h2>
<a NAME="2.1."></a><a href="#2.2."><img SRC="ru.gif" BORDER=0 height=25 width=25></a><font color="#FF0000">
2.1. Die Delphi-Entwicklungsumgebung</font></h2>

<hr WIDTH="100%">
<p>Nach dem Start von Delphi werden verschiedene Fenster ge&ouml;ffnet,
die f&uuml;r die visuelle Programmierarbeit notwendig sind. Diese Arbeitsfl&auml;che
wird als Integrierte Entwicklungsumgebung, kurz IDE (engl. Integratet Development
Enviroment) bezeichnet. Alle Fenster der IDE k&ouml;nnen frei und einzeln
auf dem Bildschirm positioniert oder geschlossen werden. Durch das Schlie&szlig;en
des Hauptfensters wird Delphi beendet.
<p>Die nachstehende Tabelle gibt einen einf&uuml;hrenden &Uuml;berblick
zu Erscheinungsbild und Funktion der wichtigsten Bestandteile der Delphi-Entwicklungsumgebung:
<br>&nbsp;
<table WIDTH="100%" BGCOLOR="#FFFFD2" >
<tr>
<td><img SRC="delph02.jpg" HSPACE=5 VSPACE=5 height=478 width=485 align=RIGHT>Das
<b><font color="#FF0000">Formular</font></b> stellt das zentrale Entwicklungsobjekt
eines Delphi-Programms dar. Auf ihm werden die gew&uuml;nschten Komponenten
wie Schaltfl&auml;chen, Men&uuml;s und Eingabefelder per Mausklick platziert
und gr&ouml;&szlig;enm&auml;&szlig;ig angepasst. Das Erscheinungsbild des
Formulars entspricht dem Aussehen des Windows-Fensters, in dem das fertige
Programm sp&auml;ter ablaufen wird.&nbsp;
<p>Die <b><font color="#FF0000">Komponentenpalette</font></b> ist in verschiedene
Register (Standard, Zus&auml;tzlich usw.) unterteilt, und diese erlauben
die Auswahl der ben&ouml;tigten Windows-Komponenten.
<p>Mit Hilfe des <b><font color="#FF0000">Objektinspektors</font></b> werden
Darstellungsweise und Verhalten der Objekte (Komponenten) in einem Formular
sowie das Aussehen des Formulars selbst festgelegt. Das Erscheinungsbild
wird &uuml;ber die Seite "Eigenschaften", das Verhalten beim Eintritt eines
Ereignisses &uuml;ber die Seite "Ereignisse" eingestellt.
<p>Der <b><font color="#FF0000">Quelltexteditor</font></b> wird zum Schreiben
des Programmcodes in der Programmiersprache Pascal genutzt. Dabei generiert
Delphi f&uuml;r neu in das Formular eingef&uuml;gte Komponenten automatisch
den Programmcode, der dann im Editor angezeigt wird. Dem Programmierer
obliegt daher "nur noch" die Einarbeitung der Algorithmen zur Ereignisbehandlung.</td>
</tr>
</table>

<p><a href="#Anfang"><img SRC="ho.gif" BORDER=0 height=24 width=25></a>
<font size=-1><a href="#Anfang">Seitenanfang</a></font>
<h2>
<a NAME="2.2."></a><a href="#2.3."><img SRC="ru.gif" BORDER=0 height=25 width=25></a><font color="#FF0000">
2.2. Das Prinzip der ereignisgesteuerten Programmierung</font></h2>

<hr WIDTH="100%">
<p>Die Programmierung mit Delphi wird auch als ereignisgesteuerte Programmierung
bezeichnet. Ein Ereignis ist eine Aktion, die den Programmablauf beeinflusst.
<p><b><font color="#008000"><font size=+1>Was sind Ereignisse?</font></font></b>
<ul><font color="#FF0000"><b>Alle Aktionen (Tastatureingaben, Mausbewegungen)
eines Benutzers</b>,</font><font color="#000000"> wie zum Beispiel:</font></ul>

<ul>
<ul>
<li>
<font color="#000000">Einfaches oder doppeltes Klicken auf eine Befehlsschaltfl&auml;che,</font></li>

<li>
<font color="#000000">Verschieben, &Ouml;ffnen oder Schlie&szlig;en eines
Fensters mit der Maus,</font></li>

<li>
<font color="#000000">Positionieren des Cursors in ein Eingabefeld mit
der Tabulatortaste.</font></li>
</ul>
<b><font color="#FF0000">Interne Programmabl&auml;ufe,</font></b><font color="#000000">
wie zum Beispiel:</font>
<ul>&nbsp;
<li>
<font color="#000000">Berechnungen durchf&uuml;hren,</font></li>

<li>
<font color="#000000">&Ouml;ffnen und Schlie&szlig;en eines Fensters (vom
Programm gesteuert),</font></li>

<li>
<font color="#000000">Ermitteln von aktueller Uhrzeit und Datum.</font></li>
</ul>
</ul>
<b><font color="#008000"><font size=+1>Reaktionen auf Ereignisse</font></font></b>
<ul><font color="#000000">Mit Delphi werden Programme entwickelt, die durch
die grafische Benutzeroberfl&auml;che von Windows mit Steuerelementen wie
beispielsweise Dialogfenstern, Schaltfl&auml;chen und Eingabefeldern gesteuert
werden.</font>
<p><font color="#000000">Durch ein </font><b><font color="#FF0000">Ereignis</font></b><font color="#000000">
(z.B. Klicken auf eine Schaltfl&auml;che) wird eine </font><b><font color="#FF0000">Reaktion</font></b><font color="#000000">
(z.B. &Ouml;ffnen eines Fensters) hervorgerufen. Diese Reaktion wird in
Form von Object-Pascal-Code in einer Prozedur erstellt, die als </font><b><font color="#FF0000">Ereignisbehandlungsroutine</font></b><font color="#000000">
bezeichnet wird.</font></ul>
&nbsp;
<center><table BORDER BGCOLOR="#FFFFB3" >
<tr>
<td><font color="#000000">Als Ereignisbehandlungsroutinen werden diejenigen
Anweisungen bezeichnet, die ausgef&uuml;hrt werden, sobald ein Ereignis
eintritt.</font></td>
</tr>
</table></center>
<a href="#Anfang"><img SRC="ho.gif" BORDER=0 height=24 width=25></a> <font size=-1><a href="#Anfang">Seitenanfang</a></font>
<h2>
<a href="#2.4."><img SRC="ru.gif" BORDER=0 height=25 width=25></a><font color="#FF0000">&nbsp;<a NAME="2.3."></a>2.3.
Schrittfolge zur Programmerstellung mit Delphi</font></h2>

<hr>
<p>Die nachfolgende Tabelle soll aufzeigen, wie sich der "klassische" Software-live-cycle
unter den Gegebenheiten einer visuellen Programmierumgebung erweitert bzw.
modifiziert. Dabei darf man sich den Durchlauf der einzelnen Schritte keinesfalls
als einmalige lineare Abfolge vorstellen, vielmehr entstehen durch R&uuml;ckspr&uuml;nge
und das mehrmalige Durchlaufen von Teilen der Schrittfolge zyklische Strukturen.
Werden z.B. bei der Resultatspr&uuml;fung unter Punkt 5) Fehler festgestellt,
muss wieder bei Punkt 2A) begonnen werden, indem man logische Fehler im
Algorithmus beseitigt.
<p>Und schlie&szlig;lich kann auch die gesamte Schrittfolge als zyklische
Struktur begriffen werden: kaum ist die Version 1.0 eines Programms ausgeliefert,
werden bisher unerkannte "Bugs" entdeckt und W&uuml;nsche zur Erweiterung
der Funktionalit&auml;t des Programms laut - also neue Problemformulierung,
Problemanalyse, ... und schon existiert die Version 1.1 usw.
<br>&nbsp;
<table BORDER CELLPADDING=6 BGCOLOR="#FFFFCA" >
<tr>
<td ALIGN=CENTER COLSPAN="2" BGCOLOR="#D0FFFF"><b><i><font color="#FF0000"><font size=+1>1)
Problemformulierung</font></font></i></b></td>
</tr>

<tr>
<td COLSPAN="2">
<blockquote><b>"Es ist ein Programm zu erstellen, das folgendes leistet:
... "&nbsp;</b>
<br>So oder so &auml;hnlich beginnt die Formulierung dessen, was das Programm
im ganzen realisieren soll. Man wird mehr oder weniger klare Vorstellung
zu notwendigen Eingabewerten, zum Erscheinungsbild des Programms, zur Art
der Ergebnisausgabe, zum potentiellen Nutzerprofil etc. vorfinden.
<p>Die nachfolgenden beiden Schritte verlaufen im Prinzip parallel - die
Programmierhandlung springt zwischen algorithmischer und visueller Seite
hin und her, weil der algorithmische Aufbau des Programms bestimmte Komponenten
einer Nutzeroberfl&auml;che bedingt bzw. die gew&uuml;nschte Oberfl&auml;chenstruktur
Einfluss auf die Modularisierung der L&ouml;sungsalgorithmen haben kann.&nbsp;</blockquote>
</td>
</tr>

<tr>
<td VALIGN=TOP BGCOLOR="#D0FFFF"><b><i><font color="#FF0000"><font size=+1>2A)
Algorithmischer Probleml&ouml;sungsproze&szlig;</font></font></i></b>
<br><b><i><font color="#0000FF"><font size=+1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Algorithmische Seite -&nbsp;</font></font></i></b></td>

<td VALIGN=TOP BGCOLOR="#D0FFFF"><b><i><font color="#FF0000"><font size=+1>2V)
Benutzeroberfl&auml;che erstellen und&nbsp;</font></font></i></b>
<br><b><i><font color="#FF0000"><font size=+1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Eigenschaften der Objekte festlegen</font></font></i></b>
<br><b><i><font color="#0000FF"><font size=+1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
- Visuelle Seite -</font></font></i></b></td>
</tr>

<tr>
<td VALIGN=TOP><b><i><font color="#FF0000"><font size=+0>I) Problemanalyse</font></font></i></b>
<br><font size=+0>Das Gesamtproblem wird in &uuml;berschaubare Teilprobleme
zerlegt - Modularisierung und Modellierung der Problemsituation.</font>
<p><b><i><font color="#FF0000"><font size=+0>II) Entwurf von L&ouml;sungsalgorithmen
f&uuml;r die Teilprobleme</font></font></i></b>
<br><img SRC="strukto1.gif" ALT="strukto1.gif (1910 Byte)" height=133 width=173 align=LEFT><font size=+0>Die
L&ouml;sungswege dazu werden zun&auml;chst in abstrakter Weise beschrieben.
Je nach Komplexit&auml;t kann dies in verbaler Form geschehen (Eindeutigkeit!)
oder es kommen grafische Beschreibungsformen, z.B. Struktogramme oder Programmablaufpl&auml;ne
zum Einsatz.&nbsp;</font>
<br><font size=+0>Es wird noch nicht mit konkreter Programmiersprache gearbeitet.</font>
<p><b><i><font color="#FF0000"><font size=+0>III) Synthese der Teill&ouml;sungen&nbsp;</font></font></i></b>
<br><font size=+0>Nunmehr werden die entwickelten Teill&ouml;sungen zur
Gesamtl&ouml;sung verkn&uuml;pft und notwendige E/A-Funktionen zwischen
den einzelnen Modulen festgelegt.</font></td>

<td VALIGN=TOP WIDTH="45%"><img SRC="step01.jpg" HSPACE=4 VSPACE=4 height=139 width=219 align=LEFT><font size=+0>Mit
zunehmenden Voranschreiten im algorithmischen Probleml&ouml;sungsproze&szlig;
w&auml;chst auch die Vorstellung &uuml;ber Beschaffenheit und Funktionalit&auml;t
der Benutzeroberfl&auml;che.&nbsp;</font>
<p><font size=+0>Erstellt wird diese durch Anordnung aller notwendigen
Komponenten (Textfelder, Optionsfelder, Eingabefelder, Schalter usw.) auf
dem Formular.&nbsp;</font>
<p><font size=+0>Die Auswahl der Komponenten erfolgt &uuml;ber die Komponentenpalette.
Dabei werden mit Hilfe des Objektinspektors die Eigenschaften der Komponenten
festgelegt, z.B. Gr&ouml;&szlig;e, Farbe, Bezeichnung der Schaltfl&auml;chen,
Text- und Eingabefelder.</font>
<p><b><font size=+0>Sp&auml;testens an dieser Stelle sollte das Projekt
erstmals gespeichert werden!</font></b></td>
</tr>

<tr>
<td ALIGN=CENTER COLSPAN="2" BGCOLOR="#D0FFFF"><b><i><font color="#FF0000"><font size=+1>4)
Ereignisbehandlung codieren&nbsp;</font></font></i></b>
<br><b><i><font color="#0000FF"><font size=+0>&nbsp;&nbsp;&nbsp;&nbsp;
- "Hochzeit" von Algorithmus und Programmoberfl&auml;che -</font></font></i></b></td>
</tr>

<tr>
<td COLSPAN="2">
<blockquote><img SRC="step03.jpg" HSPACE=4 VSPACE=4 height=157 width=218 align=RIGHT><font size=+0>Zun&auml;chst
werden &uuml;ber den Objektinspektor diejenigen Ereignisse ausgew&auml;hlt,
die f&uuml;r den sp&auml;teren Programmablauf von Bedeutung sein werden
(z.B. Klicken eines Schalters).</font>
<br><font size=+0>In einer zugeh&ouml;rigen Ereignisbehandlungsroutine
wird dann im Quelltexteditor in der Programmiersprache Pascal beschrieben,
wie die jeweiligen Komponenten auf das betreffende Ereignis reagieren sollen.</font></blockquote>

<blockquote><font size=+0>Dabei werden also die unter 3A) gefundenen L&ouml;sungsalgorithmen
in Programmiersprache "&uuml;bersetzt" und die Ergebnisausgabe wiederum
&uuml;ber Komponenten realisiert.</font></blockquote>
</td>
</tr>

<tr>
<td ALIGN=CENTER COLSPAN="2" BGCOLOR="#D0FFFF"><b><i><font color="#FF0000"><font size=+1>5)
Test-Korrektur-Durchl&auml;ufe&nbsp;</font></font></i></b></td>
</tr>

<tr>
<td COLSPAN="2">
<ul>&nbsp;
<table CELLSPACING=0 CELLPADDING=0 >
<tr>
<td VALIGN=TOP>
<table CELLPADDING=5 >
<tr>
<td VALIGN=TOP><b>I) Syntaxpr&uuml;fung:</b></td>

<td>Vorm ersten Start sollte unbedingt die syntaktische Korrektheit der
eingegebenen Pascal-Anweisungen getestet und ggf. korrigiert werden. Anschlie&szlig;end
wird das Projekt erneut gespeichert!</td>
</tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -