Operacje liczbowe » Obliczenia

Inc

Inc
Moduł: System

procedure Inc(var X [ ; N: Longint ] );

Procedura zwiększa wartość parametru X o 1 lub wartość parametru N, a w wypadku, gdy to jest wskaźnik typowany, przesuwa go o rozmiar typu, na który wskazuje, co jest przydatne, np. przy optymalnym korzystaniu z tablic.

Procedura Inc ma zastosowanie przy:


Wartość parametru X może być dowolnego typu porządkowego (włączając Int64). Procedura Inc generuje optymalny kod, jest zalecana do używania w pętlach, zamiast operatora dodawania (+):

var
  X : Integer;
begin
  X := 1;
  Inc(X); // efekt: X będzie miało wartość 2
  X := X + 1; // efekt: X będzie miało wartość 3
  Inc(X, 2); // efekt: X będzie miało wartość 5
end;


var
  A : array of TPoint;
  i : integer;
  p : ^TPoint; //wskaznik na typ TPoint
begin
  SetLength(A, 1000);
  p := @A[0];
  for i:=Low(A) to High(A) do
    begin
      //wypełniamy tablicę losowymi punktami
      p^ := Point(Random(200), Random(200));
      Inc(p);
    end;
end;


Parametr X nie może być właściwością

Możliwe jest również użycie procedury Inc na wartościach znakowych. Poniższy przykład prezentuje użycie tej procedury na zmiennej C typu Char:

var
  C : Char;
begin
  C := 'A';
  Inc(C); // zmienna posiada wartość 'B'
end;


W połączeniu ze zbiorami, procedura Inc przesuwa aktywny element o N:

program Foo;
 
{$APPTYPE CONSOLE}
 
type
  TMySet = (Audi, BMW, Mercedes);
 
var
  mySet : TMySet;
begin
  mySet := BMW;
 
  // mySet będzie miało wartość 'Mercedes'
  Inc(mySet);
 
  case mySet of
    Audi: Writeln('Audi');
    BMW: Writeln('BWM');
    Mercedes: Writeln('Mercedes');
  end;
  Readln;
end.


Po wykonaniu takiego kodu, wartość mySet będzie równa Mercedes.

Zobacz też: