Thema: Delphi Einfach Verkettete Liste

Einzelnen Beitrag anzeigen

Stillmatic

Registriert seit: 25. Apr 2007
110 Beiträge
 
#20

Re: Einfach Verkettete Liste

  Alt 21. Jun 2007, 18:43
Ich habe schon wieder ein derbes Problem!!

Ich möchte eine Liste füllen!
Als erstes wird die Funktion ListFüllen aufgerufen, in der dann ein neues Element gefüllt wird durch den Aufruf der Function NewOneListElement.
In der While Schleife suche ich die Dateinamen die in First(noch eine Liste) gespeichert sind heraus und schneide die Dateierweiterung(.txt) ab. Die einzelnen Dateinamen ohne Extension werden dann in einem String gespeichert, den ich nachher als Titel benutze.

Mein Problem liegt aber darin das an der Stelle {Ausgabe.Id := PPointers;} in der Function NewOneListElement einfach in der List ein Wert verändert wird obwohl ich an der Stelle garnix mit der List mache!

Ich kann mir das nicht erklären!!!!

Delphi-Quellcode:
function ListFüllen :POnelist;
var temp : PDatensatz;
    Name : String;
 Ausgabe : POnelist;
Begin
  Name := '';
  temp := first;
  //Neues Element anlegen und Füllen
  Ausgabe := NewOneListElement;
    while temp <> Nil do
     Begin
       Name := Name + ExtractFileName(temp.info.Titel);
       Name := StringReplace(Name, '.txt','',[]);
       temp := temp.next;
     end;
    Ausgabe.Titel := Name;
    //Ausgabe an das ende der Liste anfügen
    Ausgabe.next := List;
    List := Ausgabe;
    ListFüllen := List;
end;

Delphi-Quellcode:
function NewOneListElement; :POnelist;
var Ausgabe : POnelist;
Begin
  new(Ausgabe);
  Ausgabe^.next := Nil;
  Ausgabe^.daten := first;
  inc(PPointers);
  Ausgabe.Id := PPointers; //genau an dieser Stelle tritt der Fehler auf!!//
  NewPlayElement := Ausgabe;
end;
  Mit Zitat antworten Zitat