Difference between revisions of "Var/de"

From Free Pascal wiki
Jump to navigationJump to search
Line 2: Line 2:
 
<br>
 
<br>
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
<br>
+
=var=
 +
==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.<br>
Line 14: Line 15:
 
* implementation
 
* implementation
 
* Im Kopf von '''procedure'''/'''function''' Köpfen.
 
* Im Kopf von '''procedure'''/'''function''' Köpfen.
 +
 +
Generell kann es auch in '''class'''/'''object'''-Deklarationen verwendet werden.
 
<br>
 
<br>
 
Beispiel:<br>
 
Beispiel:<br>
Line 50: Line 53:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Autor: [[User:Mathias|Mathias]]
+
==Beispiel in '''class'''/'''object'''==
 +
Es ist auch in erweiterten '''Record''' möglich.
 +
<syntaxhighlight>
 +
type
 +
  MyClass = class(TObject)
 +
    procedure Test;
 +
    var
 +
      i: integer; // var zwingend
 +
  end;
 +
 
 +
  MyObject = object
 +
    procedure Test;
 +
    var
 +
      i: integer;  // var zwingend
 +
  end;
 +
</syntaxhighlight>
 +
Dies ist aber nur nötig, wen vorher was anderes deklariert ist, zB. ein '''procedure'''.
  
 +
Hier ist '''var''' nicht nötig.
 +
<syntaxhighlight>
 +
  MyClass = class(TObject)
 +
    i: integer; // kein var nötig
 +
    procedure Test;
 +
  end;
 +
</syntaxhighlight>
  
  
 +
Autor: [[User:Mathias|Mathias]]
  
  
 
[[Category:Reserved words/de]]
 
[[Category:Reserved words/de]]

Revision as of 19:25, 14 February 2018

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 drei 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;
  ...



--Olaf 16:40, 26 October 2012 (UTC)

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;


Autor: Mathias