Einzelnen Beitrag anzeigen

Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.130 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Pointer-Adresse freigeben

  Alt 12. Nov 2015, 13:19
Hierfür?

Delphi-Quellcode:

  PNode = ^TNode;
   TNode = record
     daten: String;
     links: PNode;
     rechts: PNode;
   end;

Function SucheNode(Const ARoot : PNode;Const ASucher : String) : PNode;
begin
  Result := ARoot;
  While Result <> NIL do
    begin
      if Result.Daten = ASucher then
        exit;
      Result := Result.rechts;
    end;
end;

Procedure DelNode(TheNode : PNode);
begin
  if TheNode = NIL then
    exit;

  if (TheNode.Links <> NIL) then
    TheNode.Links.Rechts := TheNode.Rechts;

  if (TheNode.Rechts <> NIL) then
    TheNode.Rechts.Links := TheNode.Links;

  Dispose(TheNode);
  TheNode := NIL; // Eigentlich egal...
end;

Procedure DelNodeFromText(Const AText : String);
begin
  DelNode(SucheNode(Root,'Foo'));
end;

Geändert von Mavarik (12. Nov 2015 um 13:23 Uhr)
  Mit Zitat antworten Zitat