[erledigt]An alle die Delphi können: Eine vekettete Liste von C++ nach Delphi
-
Hio,
Ist hier ein alter Delphi Veteran der Delphi noch relativ gut kann?^^
Also folgendes:
In C++ habe ich eine verkettete Liste geschrieben, die auch wunderbar funzt. Diese muss ich nun in Delphi übertragen, da ich gerade ein Projekt in Delphi schreibe.
Nun sind meine Delphi Kenntnisse sehr eingerostet und mit Pointer in Delphi habe ich mich nie wirklich beschäftigt, sodass ich das Problem habe, dass meine verkettete Liste nicht ganz Funktioniert.
Kann mal jemand drüber schauen und sagen was ich da falsch gemacht habe? Kann auch gut sein, dass es einfach ein Denkfehler ist(hab mich lange nicht mehr mit dem Algorithmus selber auseinandergesetzt).Hier mal der Code

type MyOwnList = ^List; List = record Klasse: integer; Name: string; next: MyOwnList; end; procedure TForm1.Button1Click(Sender: TObject); var MyList: MyOwnList; begin //ganz viel Code New(MyList); if (not GetDataValues(Edit1.Text,MyList)) then MessageBox(0,'Datei nicht gefunden!','Fehler',0) else PrintList(MyList); end; //soll ne Datei auslesen und entsprechende Werte aus der Datei in die Liste speichern function GetDataValues(Path: string; var MyList: MyOwnList):boolean; var MyFile : TextFile; Line: string; begin if (FileExists(Path)) then begin AssignFile(MyFile,Path); Reset(MyFile); while not EoF(MyFile) do begin Readln(MyFile,Line); New(MyList^.next); MyList^.next^.Klasse := GetClassForList(Line); //Hier werden die Werte herausgelesen MyList^.next^.Name := GetNameForList(Line); end; MyList^.next^.next := nil; CloseFile(MyFile); result := true; end else result := false; end; //Zum Testen alles in einem Memo ausgeben procedure PrintList(MyList: MyOwnList); var temp: MyOwnList; begin temp := MyList; while(temp^.next <> nil) do begin Form1.Memo1.Text := Form1.Memo1.Text + temp^.Name + '--' + IntToStr(temp^.Klasse); Form1.Memo1.Lines.Add(''); temp := temp^.next; end; end;Mein Problem ist nun, dass ich mir nicht sicher bin ob die Liste so richtig Funktiert und ich nicht weiss wie ich "Anfangen" soll. Also wie ich die erste Variable setzte, diese befülle etc.. Den Anfangspunkt muss ich dann wohl über eine "FirstPointInList"-Variable machen.
Danke
P.S. Ich würd ja ne List-Komponenten nehmen,aber das geht in diesem Fall nicht, da der Dateiinhalt sortiert werden soll.
Edit: hat sich erledigt, habs hinbekommen