Zu DEKLARATION
Du bestimmst was für ein Datentyp eine Variable hat. Es gibt z.B. Integer- und Realzahlen oder Strings. Die kann man wiederum unterteilen. Integer z.B. in ShortInt, Integer, LongInt, Int64. Durch deklarieren sagst du dem Compiler was für ein Datentyp es ist. Es gibt auch den Variant. Auch der muß bei Delphi deklariert werden. Allerdings entscheidet das system selbst um was für einen Datentyp es sich handelt. Da das System es jedes mal prüfen muß, ist ein Programm mit Variants langsammer als wenn es gleich richtig deklariert wird. Weiterhin kann es, wenn auch weniger bei Delphi, zu Mißverständnissen kommen. Eine 123 kann eine Zahl, aber auch eine Zeichenkette sein.
Zu with form1 do
Aus der Hilfe "Eine with-Anweisung stellt eine einfache und bequeme Möglichkeit dar, die Felder eines Record oder die Felder und Methoden eines Objekts zu referenzieren. Innerhalb einer with-Anweisung brauchen die Felder einer oder mehrerer Record-Variablen nur über ihre Feldbezeichner referenziert zu werden."
Wenn du also in einer Prozedur schreiben mußt:
Delphi-Quelltext
1:
| form1.Label1.Caption := 'Hallo'; |
dann kannst du es auch so abkürzen:
Delphi-Quelltext
1: 2: 3: 4:
| with form1 do begin Label1.Caption := 'Hallo'; end; |
Für eine einzige Anwendung lohnt sich das nicht. wenn du aber fünf Labels ansprechen mußt und jedes mal vorher form1 schreiben mußt, dann kannst du dir viel schreibarbeit sparen:
Delphi-Quelltext
1: 2: 3: 4: 5:
| form1.Label1.Caption := 'Hallo1'; form1.Label2.Caption := 'Hallo2'; form1.Label3.Caption := 'Hallo3'; form1.Label4.Caption := 'Hallo4'; form1.Label5.Caption := 'Hallo5'; |
oder besser
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| with form1 do begin Label1.Caption := 'Hallo1'; Label2.Caption := 'Hallo2'; Label3.Caption := 'Hallo3'; Label4.Caption := 'Hallo4'; Label5.Caption := 'Hallo5'; end; |
Ein weiterer Vorteil ist, daß du im falle einer Umbenennung von form1 nur ein eiziges mal den Namen ändern mußt.
zu RESSOURCEN
Ressourcen sind eine Art Bagage die an das Programm gehängt werden. Ressource kann ein Bild oder eine Wav sein oder ein Text. Ressourcen sind aber auch Formulare die man sieht. Sie sind als Ressource abgespeichert (je nach Programmiersprache). Man kann aber eigentlich alles als Ressource anhängen. Sogar ein zweites Programm kan man als Ressource drannhängen. Das besondere an Ressourcen ist, daß man sie wieder aus dem Programm extrahieren kann. Da Programm selbst bietet Möglichkeiten ein Bild oder eine Wav aus den Ressourcen auszulesen und sie im Programm zu nutzen.
Zu den Dateiendungen
Ich glaube Luckie hat hier ein FAQ Beitrag geschrieben und die Bedeutung den endungen beschrieben. Wenn nicht, dann ist das auf seiner Seite. Aber mal kurz. Res ist für die Ressourcen. Es gibt Res Dateien die Automatisch von Delphi angelegt werden (die darf man nicht ändern) und dann gibt es eigene Ressourcedateien die man in das Programm ienbindet. Pas ist die Abkürzung für ein Pascall Programm oder für eine Unit. Dfm enthällt die definition für ein Formular. Dpr ist die Projektdatei. Es gibt immer nur eine Dpr Datei. Sie wird zuerst geöffnet. Dcu ist eine vorkompilierte Unit.
Zu UNIT
Unit ist eine Art Modul in dem Prozeduren, Funktionen, Constanten, usw. abgelegt sind. Eben eine Unit. Es gibt immer eine Main-Unit, soweit es sich um ein Programm mit Formularen handelt. Sie wird ausgewertet. In ihr wird auch das Formular deklariert. Siehe type TForm1 = class(TForm). Ein Formular ist also ein Sklave der Unit, nicht andersrum. In der Unit wird ein Objekt vom Typ Formular erstellt und man hat ein Formular auf dem Fenster.
zu - Für was steht die Unit am Anfang.
Die Unit sagt aus, daß es eben eine Unit (Einheit) des Programms ist. Ein Teil. In der Dpr steht Programm am anfang und der Programmname. Es kann nur ein Programm pro Programm geben, aber viele Units. Die Unit sagt also aus, daß es eine Einheit ist. Hinter der Unit steht der Name der Unit. Sie ist identisch mit dem Dateinamen (plus Endung). Ändert man den Namen hinter der Unit, dann funktioniert die Unit nicht mehr.
Zu Interface
Hier würde ich dir enpfehelen ein Wörterbuch zu nehmen und plötzlich wird alles klar. Unit = Einheit, Interface = Schnittstelle, Inmplementation = Durchführung. Es gibt noch, wenn auch nicht automatisch eingefügt und in der Regel am Ende der Unit, die Initialization = Vorbereitung und Finalization = Beendigung. Das Interface ist dazu gedacht eine schnittstelle zwischen den Units zu sein. Was auserhalb des Interface deklariert oder definiert wird, daß ist für andere Units unsichtbar. Inmplementation, wie der Name schon sagt, für die durchführung des Programms. Hier wird das Programm geschrieben (oder Funktionen und Prozeduren). Initialization vird als erstes noch vor Inmplementation ausgeführt. Finalization wird beim beenden der Unit als letztes ausgeführt.
Zu TYPE
Unter Pascal kann man sich seine eingen Variablentypen erstellen. Darunter fallen auch Klassen, wie z.B. TForm1 = class(TForm). Man könnte aber auch Records usw. hier definieren. Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| type TDateRec = record Year: Integer; Month: 1..12; Day: 1..31; end; |
Private sagt aus, daß alle alles was hier deklariert und definiert wird, nur für die Klasse selbst sichtbar ist.
Public ist wie Interface. Was hier deklariert und definiert wird, daß sehen auch andere.
Zu VAR
"Ist dieses erste var ein deklaration von globalen variabeln..?" Nein, aber jede VAR in Interface Teil ist eine globale Varaible und kann auch in anderen Units benutzt werden. "und was hat die Form da zutun ?" Form ist nur eine Objektvariable.
Man kann übrigens auch im implementation Teil Variablen deklarieren.
Delphi-Quelltext
1: 2: 3: 4:
| implementation
Var x: Integer; |
Das ganze ist immer noch eine globale Variabele, aber nicht mehr in anderen Units sichtbar. Nur innerhalb der eigenen Unit. Lokale Variable hast du nur innerhalb eine Prozedur oder Funktion
Delphi-Quelltext
1: 2: 3: 4: 5:
| function abc: String; var a: Integer; begin ... |
Zu "{$R *.dfm}"
Das ist eine Ressourcedatei die eingebunden wird. In diesem fall ist es eine Formulardatei.
VORSICHT: Ich behersche seit heute die Fünf-Finger-Handflächen-Herz-Explodier-Schlag-Kampf-Technik >