Thema: Prism Liste mit Zeigern

Einzelnen Beitrag anzeigen

Damaster

Registriert seit: 26. Nov 2007
14 Beiträge
 
#1

Liste mit Zeigern

  Alt 21. Apr 2008, 17:31
Hallo Leute!

Wir haben in der Schule mit Listen angefangen. Soweit ja ganz toll, nur verstehe ich nicht so ganz was ich da immer falsch mache.
Unser Lehrer gibt aber auch keine klaren Auskünfte. Es gibt öfter Probleme, die nicht sein müssten. Falsche Funktionen etc...

Nun zu meinem Problem. Wie kann ich dem Pc klarmachen, dass er Alle Elemente der Liste durchgeht bis zum letzten, dass dann auf Nil zeigt?
Ist die Deklaration mit dem Anker überhaupt richtig?

Delphi-Quellcode:
type Pzeiger= ^Tmensch;
     Tmensch = record
                n:string;
                z:pzeiger;
                end;

var anker:pzeiger;

procedure TForm1.FormCreate(Sender: TObject);
begin
 new(anker);
 anker.z:=nil;
end;

procedure TForm1.Button1Click(Sender: TObject);
 var pak,pvor,pan:pzeiger;
begin
   if anker.z=nil then
                     begin
                         new(pak);
                         anker^.z:=addr(pak);
                         pak^.n:=edit1.text;
                         pak^.z:=nil;
                      end
                   else begin
                     pak:=anker^.z;
                     while pak<>nil do begin
                     pak:=pak^.z;
                     end;
                    end;
end;
Anmerkung:
n im Record steht für einen Namen.
Ich weis moment is der Quelltext noxh recht unübersichtlich, aber vll kann mir ja jemand sagen wo der Fehler liegt. Das Programm soll einfach namen in eine Liste schreiben. Imer ans Ende, wenn der aktuelle Datensatz nicht das letzte Element is soll er von Anfang an die Liste durchgehn bis zum letzten also bis der Zeiger auf Nil zeigt.
  Mit Zitat antworten Zitat