Hallo,
ich habe folgendes Problem:
ich habe in Delphi Listen erzeugt, welche ich auch fleißig mit Daten bestücke, aber an einer Stelle muss ich die Pointer verschieben, z.B. A zeigt auf B, B zeigt auf C...... aber jetzt soll A auf C zeigen und B gelöscht werden..... Leider klapt das bei mir nicht richtig.
Die Liste ist unter Type definiert:
Code:
Type
Daten = ^WListe;
Liste = RECORD
Nummer : integer;
ND : WDaten;
END;
Weiter habe ich eine globale Variable welche ein DummyStartpunkt enthält
Mit Inhalt befühlt wird die Liste mit folgenden Befehlen
Code:
Procedure TForm1.ErzeugeListe;
var
Element : WDaten;
i : Integer;
Begin
new (Dummy);
Element := Dummy; // Verweiß auf Dummy
For i := 1 To 10 Do
Begin
new (Element^.ND);
Element := Element^.ND; //Damit Zeiger auf letzten Element liegt!
Element.Nummer := i;
Element.ND := Nil;
End;
End;
Auslesen kann ich die ganze Liste ohne Probleme.... While Element.ND <> NIL Do .....
ABER WIE KANN ICH DEN ZEIGER VOM sagen wir Element mit Nummer = 2 zu Element mit Nummer 4 machen?????
VIELEN DANK SCHON MAL FÜR EURE HILFE!!!!!!!!!!!!!!!