Delphi 7 , Objekt Pointer , Einfach verkettete Liste

xaros

Grünschnabel
Beginne grade mich etwas intensiver mit Delphi zu beschäftigen
und schreibe hier ein kleines Programm zum erzeugen von Graphiken

bisher Speicher ich alle Graphiken in einem Dynamischen array und das
Funktioniert auch alles einwandfrei....

Speicher die Graphik in Form - Art, x, y,wert1,wert2,farbe1,farbe2 : integer
nun wollte ich versuchen dies alles in einer einfach verketteten Liste zu speichern
mit Hilfe von Pointern ...

aber mir fehlt momentan jeglicher ansatz habe dies bisher nur 1 mal in java gemacht....
evt könnt ihr mir link zu einem bsp prog schicken oder bsp quelltext
würde mich stark freuen

MFG
 
Hier die Lösung....
zimlich simpel im nachhinein...

Arbeite grade am zugriff auf die liste... werde ich auch dann mal noch hier
posten evt hilft es ja dann einen anderen ^^


Code:
Type
  TGrafikDaten = record
     Index : Integer;
     Art : Integer;
     x : integer;
     y : integer;
     random1 : integer;
     random2 : integer;
     farbe1 : integer;
     farbe2 : integer;
  end;

  PGrafikListe = ^TGrafik;
  TGrafik = record
    Daten  : TGrafikDaten;
    next   : PGrafikListe;
  end;
 
und hier noch mal die procedure zum auslesen

Code:
AktFigur : PGrafikListe;
firstFigur : PGrafikListe;

procedure TForm1.Save(art,x,y,random1,random2,farbe1,farbe2 : integer);
var Neu : PGrafikListe;
    i : integer;
Begin
  neu := new(PGrafikListe);
  neu.next := nil;
  neu.Daten.Art := art;
  neu.Daten.x := x;
  neu.Daten.y := y;
  neu.Daten.random1 := random1;
  neu.Daten.random2 := random2;
  neu.Daten.farbe1 := farbe1;
  neu.Daten.farbe2 := farbe2;
  i := 0;
  If FirstFigur = nil then
  begin
     neu.Daten.index := 0;
     aktFigur := neu;
  end
  else
  begin
     while AktFigur.next <> nil do
     begin
        aktfigur := aktfigur.next;
        inc(i);
     end;
     neu.Daten.index := i;
     AktFigur^.next := neu;
  end;
End;
 
Zurück