Funktionsschnittstelle:
Function Search(Element: TElement): PPage;
Durchsucht einen Baum nach dem Element "Element". Die Funktion "Retrieve" durchsucht zuerst die Rootpage (Rootlink)
und setzt die Suche dann rekursiv durch den Baum fort.
Implementierung der Funktion "Retrieve":
Function Retrieve(PageLink: Longint): PPage;
Var
Page: PPage;
Pos,I: Integer;
Begin
{ letzter Knoten erreicht (unterstes Baum-Level) }
If PageLink=Null Then
Retrieve:=Nil
Else
Begin
{ Page einlesen }
Page:=LoadPage(PageLink);
{ Element in Page suchen }
If SucheInPage(Page,Element,Pos) Then
Retrieve:=Page
Else
Begin
PageLink:=Page^.Elemente[Pos].Link;
Dispose(Page);
{ nächste Page durchsuchen }
Page:=Retrieve(PageLink);
Retrieve:=Page;
End;
End;
End;
Funktionsschnittstelle:
Function Retrieve(PageLink: Longint): PPage;
Die Funktion lädt die Page "PageLink" ein und durchsucht sie nach dem zu suchendem Element. Wurde das Element gefunden, wird die Suche beendet. Wenn das Element
nicht gefunden wurde, wird die Funktion "Retrieve" mit der am nächsten zu durchsuchenden Page aufgerufen.