Difference between revisions of "New/de"

From Lazarus wiki
Jump to navigationJump to search
(Created page with "{{new}} <br> Zurück zu den reservierten Wörtern.<br> <br> Das reservierte Wort <b>new</b> gehört zur objektorientierten Programmierung.<br> Das reserv...")
 
m
Line 27: Line 27:
 
   TListItem = record
 
   TListItem = record
 
     data: string;
 
     data: string;
     next: PListItem;  // Verweis auf das nächste Item
+
     next: PListItem;  // Verweis auf das nächste Element
 
   end;
 
   end;
  
Line 35: Line 35:
 
begin
 
begin
 
   ...
 
   ...
   New(Liste^.next);          // Fügt der Liste ein neues Item hinzu
+
   New(Liste^.next);          // Fügt der Liste ein neues Element hinzu
   Liste^.next^.data := '';  // Leert das Item
+
   Liste^.next^.data := '';  // Leert das Element
 
   Liste^.next^.next := nil;  // setzt den nachfolgenden Zeiger zur Sicherheit auf nichts
 
   Liste^.next^.next := nil;  // setzt den nachfolgenden Zeiger zur Sicherheit auf nichts
 
   ...
 
   ...

Revision as of 19:12, 3 November 2012

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)