Thema: Prism Liste mit Zeigern

Einzelnen Beitrag anzeigen

Damaster

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

Re: Liste mit Zeigern

  Alt 21. Apr 2008, 20:01
Das Tutorial hat mir leider nicht viel geholfen.
Die eine Fehlermeldung ist zwar weg, aber dafür kommt die nächste.
Wie gesagt wir bekommen ja keine Informationen von unserem Lehrer. ICh weis nur ich brauch einen Anfang, den er Anker annte, der kann ja am Anfang wenn noch nichts da ist auf nichts zeigen. Danach gebe ich das erste element ein
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
Dieses Wird wenn man es mit showmessage abfragt auch noch richtig wiedergegeben.
Jetzt fängt mein Problem an. Jetzt will ich ein weiteres Element anknüpfen. Ich gehe also zum sog. Anker und sehe nach worauf er zeigt. Also auf pak. Von dort aus sollen wir weiter überprüfen ob dieser auf ein weiteres glied zeigt oder ob es das letzte ist.
Delphi-Quellcode:
else
begin
      pak:=anker^.z;
      while pak<>nil do
                       begin
                          new(pak);
                          pak:=pak^.z;
                          pan:=pak;
                        end;
      new(pak);
      pak^.s:=Edit1.text;
      new(pan);
      pan^.z:=addr(pak);
      pak^.z:=nil;
end;
end;
Wodraus ich auch nicht ganz schlau wurde, ist wann ich dieses ^ brauche und wann nicht. muss ich pan^.s:='string' schreiben oder geht auch pan.s:='string'??
  Mit Zitat antworten Zitat