Difference between revisions of "New/de"

From Lazarus wiki
Jump to navigationJump to search
m
m
Line 45: Line 45:
 
<br>
 
<br>
 
--[[User:Olaf|Olaf]] 09:23, 1 November 2012 (UTC)
 
--[[User:Olaf|Olaf]] 09:23, 1 November 2012 (UTC)
[[category:Pascal]]{{AutoCategory}}
+
{{AutoCategory}}

Revision as of 11:14, 26 March 2013

Deutsch (de) English (en)

Zurück zu den reservierten Wörtern.

Das reservierte Wort new gehört zur objektorientierten Programmierung.
Das reservierte Wort new erstellt eine neue Instanz.

Beispiel 1:

var
  intI: ^Integer;

begin
  ...
  if assigned(intI) then ... // Prüft, ob intI eine Adresse zugewiesen wurde
  ...
  new(intI); // Weist intI eine gültige Adresse zu
  ...
  dispose(intI); // Gibt die Adresse wieder frei
  ...


Beispiel 2:

type
  PListItem = ^TListItem;
  TListItem = record
    data: string;
    next: PListItem;  // Verweis auf das nächste Element
  end;

var
  Liste: PListItem;

begin
  ...
  New(Liste^.next);          // Fügt der Liste ein neues Element hinzu
  Liste^.next^.data := '';   // Leert das Element
  Liste^.next^.next := nil;  // setzt den nachfolgenden Zeiger zur Sicherheit auf nichts
  ...
  dispose(Liste);            // Gibt die Liste wieder frei
  ...



--Olaf 09:23, 1 November 2012 (UTC)