Var/de

From Free Pascal wiki
Jump to navigationJump to search

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;