Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#15

Re: Wie lösche ich eine komplette Liste? (Pointer)

  Alt 26. Okt 2003, 19:33


Man da muss ich mir ja noch eine Aufgabe ausdenken , wenn das so schnell geht...


Delphi-Quellcode:
Var
  p, // Hilfvariable, genauso wie p2
  pFirst, // gibt immer die 1. Zeile an
  p2 : PZahl;
Hilfsvariablen (p, p2) sind bei mir niemals Global.

Delphi-Quellcode:
function GetLast : PZahl;
// wandert an die letzte Zeile
begin
  Result := pFirst;
  while (Result^.Next <> nil) do
    Result := Result^.Next;
end;

procedure AddItem(iNumber : Integer; dwZeit : Cardinal);
var pTmp : PZahl;
begin
  New(pTmp); // holt Speicher
  with pTmp^ do
    begin
      iZahl := iNumber; // setzt die Zahl in den Speicher
      dwWann := dwZeit;
      pNext := nil; // setzt letztes Element auf nil
    end;
  if pFirst = nil then // setzt die erste Zeile, wenn noch nicht vorher gemacht
     pFirst := pTmp
  else
     GetLast^.pNext := pTmp;
end;

procedure DelWholeList;
var pDel,
    pTmp : PZahl;
begin
  pTmp := pFirst;
  while (pTmp <> nil) do // es wird solange gelöscht, bis pTmp nil ist
    begin // und das ist wenn die Liste zu ende ist
      pDel := pTmp;
      pTmp := pTmp^.pNext;
      Dispose(pDel);
    end;
end;
Übrigens Doku reicht aus.

Schick mir mal eine PM, damit ich genau weis wer Wusel ist .
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat