Absolute/de

From Lazarus wiki
Revision as of 08:56, 25 January 2020 by Trev (talk | contribs) (Fixed syntax highlighting; fixed wiki markup)
Jump to navigationJump to search

Deutsch (de) English (en) español (es) suomi (fi) français (fr) русский (ru)

Zurück zu den reservierten Wörtern.


Absolute

Bei dem Modifier Absolute zeigen beide Variablen auf den selben Speicherbereich. Der in der Variablen gespeicherte Wert, wird von der Variablen solange richtig angezeigt, wie der gespeicherte Inhalt der Variablen im Wertebereich der ausgebenden Variable ist.

Var
  sintI: ShortInt;
  lintI: LongInt absolute sintI;

begin
	// korrekte Anzeige
    lintI := 20;
    WriteLn(lintI: 8, sintI: 8); // Anzeige: 20  20

	// unsinnige Anzeige
    lintI := 2000;
    WriteLn(lintI: 8, sintI: 8); // Anzeige: 2000 -48

end.

--Olaf 17:08, 19 October 2012 (UTC)

Ein praktisches Anwendungsbeispiel:

var
  rcol: record
    r, g, b: byte;
  end;
  acol: array[0..2] of byte absolute rcol; // Gleicher Speicherbereich, wie rcol.

begin
  acol[0] := 22;
  acol[1] := 44;
  acol[2] := 66;

  WriteLn(rcol.r);
  WriteLn(rcol.g);
  WriteLn(rcol.b);
end.

Ausgabe:

22
44
66