Difference between revisions of "Var/de"
m (Fixed syntax highlighting; deleted category included in page template) |
|||
Line 1: | Line 1: | ||
{{Var}} | {{Var}} | ||
− | + | ||
− | Zurück zu den [[Reserved words/de|reservierten Wörtern]]. | + | |
− | = | + | Zurück zu den [[Reserved words/de|reservierten Wörtern]]. |
+ | |||
+ | =Var= | ||
+ | |||
==Vorwort== | ==Vorwort== | ||
+ | |||
Das Schlüsselwort '''Var''' kennzeichnet den Anfang eines Blocks, in dem die Variablen deklariert (bekannt) gemacht werden.<br> | Das Schlüsselwort '''Var''' kennzeichnet den Anfang eines Blocks, in dem die Variablen deklariert (bekannt) gemacht werden.<br> | ||
− | Der Block wird vom nächsten Schlüsselwort beendet. | + | Der Block wird vom nächsten Schlüsselwort beendet. |
+ | |||
+ | Es gibt im Haupt-Programm zwei Orte, an denen Variablen deklariert werden können: | ||
− | |||
* Vor dem '''Begin''' des Hauptblockes. | * Vor dem '''Begin''' des Hauptblockes. | ||
* Im Kopf von '''procedure'''/'''function''' Köpfen. | * Im Kopf von '''procedure'''/'''function''' Köpfen. | ||
− | Es gibt in einer Unit drei Orte, an denen Variablen deklariert werden können: | + | Es gibt in einer Unit drei Orte, an denen Variablen deklariert werden können: |
+ | |||
* interface | * interface | ||
* implementation | * implementation | ||
Line 17: | Line 23: | ||
Generell kann es auch in '''class'''/'''object'''-Deklarationen verwendet werden. | Generell kann es auch in '''class'''/'''object'''-Deklarationen verwendet werden. | ||
− | + | ||
− | Beispiel: | + | Beispiel: |
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=pascal> | ||
var | var | ||
intI: Integer; | intI: Integer; | ||
... | ... | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
==Beispiele in '''procedure'''/'''function'''== | ==Beispiele in '''procedure'''/'''function'''== | ||
Das '''var''' bei '''i''' hat die Funktion, das nur ein Zeiger der Variable übergeben wird. | Das '''var''' bei '''i''' hat die Funktion, das nur ein Zeiger der Variable übergeben wird. | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=pascal> | ||
procedure test(var i: integer); | procedure test(var i: integer); | ||
var | var | ||
Line 48: | Line 53: | ||
end. | end. | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
Würde man es folgendermassen deklarieren, wird die Variable '''b''' nicht verändert und somit '''0''' ausgegeben. | Würde man es folgendermassen deklarieren, wird die Variable '''b''' nicht verändert und somit '''0''' ausgegeben. | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
+ | |||
procedure test(i: integer); | procedure test(i: integer); | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Beispiel in '''class'''/'''object'''== | ==Beispiel in '''class'''/'''object'''== | ||
+ | |||
Es ist auch in erweiterten '''Record''' möglich. | Es ist auch in erweiterten '''Record''' möglich. | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=pascal> | ||
type | type | ||
MyClass = class(TObject) | MyClass = class(TObject) | ||
Line 69: | Line 78: | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
Dies ist aber nur nötig, wen vorher was anderes deklariert ist, zB. ein '''procedure'''. | Dies ist aber nur nötig, wen vorher was anderes deklariert ist, zB. ein '''procedure'''. | ||
Hier ist '''var''' nicht nötig. | Hier ist '''var''' nicht nötig. | ||
− | <syntaxhighlight> | + | |
+ | <syntaxhighlight lang=pascal> | ||
MyClass = class(TObject) | MyClass = class(TObject) | ||
i: integer; // kein var nötig | i: integer; // kein var nötig | ||
Line 78: | Line 89: | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 07:18, 3 March 2020
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
русский (ru) │
中文(中国大陆) (zh_CN) │
Zurück zu den reservierten Wörtern.
Var
Vorwort
Das Schlüsselwort Var kennzeichnet den Anfang eines Blocks, in dem die Variablen deklariert (bekannt) gemacht werden.
Der Block wird vom nächsten Schlüsselwort beendet.
Es gibt im Haupt-Programm zwei Orte, an denen Variablen deklariert werden können:
- Vor dem Begin des Hauptblockes.
- Im Kopf von procedure/function Köpfen.
Es gibt in einer Unit drei Orte, an denen Variablen deklariert werden können:
- interface
- implementation
- Im Kopf von procedure/function Köpfen.
Generell kann es auch in class/object-Deklarationen verwendet werden.
Beispiel:
var
intI: Integer;
...
Beispiele in procedure/function
Das var bei i hat die Funktion, das nur ein Zeiger der Variable übergeben wird.
procedure test(var i: integer);
var
a: byte; // normale Deklaration
begin
a := 2;
i := i + a;
end;
var
b: integer;
begin
b := 0;
test(b);
WriteLn(b); // Ausgabe ist 2
end.
Würde man es folgendermassen deklarieren, wird die Variable b nicht verändert und somit 0 ausgegeben.
procedure test(i: integer);
Beispiel in class/object
Es ist auch in erweiterten Record möglich.
type
MyClass = class(TObject)
procedure Test;
var
i: integer; // var zwingend
end;
MyObject = object
procedure Test;
var
i: integer; // var zwingend
end;
Dies ist aber nur nötig, wen vorher was anderes deklariert ist, zB. ein procedure.
Hier ist var nicht nötig.
MyClass = class(TObject)
i: integer; // kein var nötig
procedure Test;
end;