Difference between revisions of "Var/de"

From Free Pascal wiki
Jump to navigationJump to search
m (Fixed syntax highlighting; deleted category included in page template)
 
Line 1: Line 1:
 
{{Var}}
 
{{Var}}
<br>
+
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
+
 
=var=
+
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.<br>
+
Der Block wird vom nächsten Schlüsselwort beendet.
 +
 
 +
Es gibt im Haupt-Programm zwei Orte, an denen Variablen deklariert werden können:
  
Es gibt im Haupt-Programm zwei Orte, an denen Variablen deklariert werden können:<br>
 
 
* 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:<br>
+
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.
<br>
+
 
Beispiel:<br>
+
Beispiel:
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
var
 
var
 
   intI: Integer;
 
   intI: Integer;
 
   ...
 
   ...
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 16:40, 26 October 2012 (UTC)
 
  
 
==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>
 
 
Autor: [[User:Mathias|Mathias]]
 
 
 
[[Category:Reserved words/de]]
 

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;